diff --git a/crates/openlogi-desktop/src/features/mouse/geometry.rs b/crates/openlogi-desktop/src/features/mouse/geometry.rs index 9cb6cbc57..3f073d918 100644 --- a/crates/openlogi-desktop/src/features/mouse/geometry.rs +++ b/crates/openlogi-desktop/src/features/mouse/geometry.rs @@ -230,9 +230,11 @@ fn map_slot_name(name: &str) -> Option { } "SLOT_NAME_BACK_BUTTON" => Some(MouseControlId::Button(ButtonId::Back)), "SLOT_NAME_FORWARD_BUTTON" => Some(MouseControlId::Button(ButtonId::Forward)), - "SLOT_NAME_MODESHIFT_BUTTON" | "SLOT_NAME_DPI_BUTTON" => { - Some(MouseControlId::Button(ButtonId::DpiToggle)) - } + // MX Ergo names its precision-mode/DPI-shift button after its + // Options+ function rather than "DPI" or "ModeShift". + "SLOT_NAME_MODESHIFT_BUTTON" + | "SLOT_NAME_DPI_BUTTON" + | "SLOT_NAME_CHANGE_POINTER_SPEED" => Some(MouseControlId::Button(ButtonId::DpiToggle)), "SLOT_NAME_THUMBWHEEL" => Some(MouseControlId::ThumbwheelRotation), "SLOT_NAME_GESTURE_BUTTON" => Some(MouseControlId::Button(ButtonId::GestureButton)), // The MX Master 4 Haptic Sense Panel. Logi names the slot after its @@ -282,6 +284,11 @@ mod tests { map_slot_name("SLOT_NAME_DPI_BUTTON"), Some(MouseControlId::Button(ButtonId::DpiToggle)) ); + // MX Ergo's precision-mode/DPI-shift button uses this slot name. + assert_eq!( + map_slot_name("SLOT_NAME_CHANGE_POINTER_SPEED"), + Some(MouseControlId::Button(ButtonId::DpiToggle)) + ); } #[test]