diff --git a/crates/openlogi-desktop/src/features/mouse/geometry.rs b/crates/openlogi-desktop/src/features/mouse/geometry.rs index aac0c63dd..fe3a129f1 100644 --- a/crates/openlogi-desktop/src/features/mouse/geometry.rs +++ b/crates/openlogi-desktop/src/features/mouse/geometry.rs @@ -198,7 +198,9 @@ 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" => Some(MouseControlId::Button(ButtonId::DpiToggle)), + "SLOT_NAME_MODESHIFT_BUTTON" | "SLOT_NAME_DPI_BUTTON" => { + 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 @@ -238,6 +240,18 @@ mod tests { ); } + #[test] + fn dpi_slot_names_map_to_dpi_toggle_button() { + assert_eq!( + map_slot_name("SLOT_NAME_MODESHIFT_BUTTON"), + Some(MouseControlId::Button(ButtonId::DpiToggle)) + ); + assert_eq!( + map_slot_name("SLOT_NAME_DPI_BUTTON"), + Some(MouseControlId::Button(ButtonId::DpiToggle)) + ); + } + #[test] fn wheel_tilt_slot_names_map_to_their_own_controls() { // MX Anywhere uses the longer names; MX Ergo uses the shorter aliases.