Skip to content
13 changes: 10 additions & 3 deletions crates/openlogi-desktop/src/features/mouse/geometry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,11 @@ fn map_slot_name(name: &str) -> Option<MouseControlId> {
}
"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
Expand Down Expand Up @@ -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]
Expand Down