feat: add MX Master 2S (3S) thumb wheel bindings - #525
Conversation
Greptile SummaryThe PR adds paired thumb-wheel presets and capability detection for modern and legacy MX devices, including Bluetooth marketing-name discovery and diagnostic Gestures2 support.
Confidence Score: 3/5The PR does not appear safe to merge because horizontal input can still be attributed to the wrong device on Windows, while legacy thumb-wheel bindings remain nonfunctional on macOS and Linux. Windows resolves source-less horizontal-wheel events against the selected device’s bindings and suppresses the original input, and non-Windows builds expose legacy thumb-wheel bindings without a runtime path that executes them. Files Needing Attention: crates/openlogi-agent-core/src/hook_runtime.rs, crates/openlogi-hid/src/gesture.rs
|
| Filename | Overview |
|---|---|
| crates/openlogi-agent-core/src/hook_runtime.rs | Adds Windows-native horizontal-wheel remapping; previously reported device-attribution and non-Windows dispatch gaps remain. |
| crates/openlogi-hid/src/gesture.rs | Adds diagnostic Gestures2 diversion and packet tracing, but the previously reported legacy rotation-dispatch gap remains. |
| crates/openlogi-hidpp/src/feature/gestures2/mod.rs | Introduces typed Gestures2 descriptor discovery and diversion-state access for legacy thumb wheels. |
| crates/openlogi-hid/src/inventory/features.rs | Detects legacy thumb-wheel capability through Gestures2 gesture 46 and reads HID++ marketing identity. |
| crates/openlogi-gui/src/mouse_model/thumbwheel.rs | Defines paired thumb-wheel presets and exact recognition of persisted directional action pairs. |
| crates/openlogi-gui/src/mouse_model/view.rs | Represents thumb-wheel rotation as one capability-gated visual control backed by two bindings. |
Sequence Diagram
sequenceDiagram
participant Device as MX Thumb Wheel
participant Inventory as HID Inventory
participant GUI as Binding UI
participant Input as OS Hook / HID Capture
participant Runtime as Agent Runtime
Inventory->>Device: Probe 0x2150 or Gestures2 gesture 46
Inventory->>GUI: Report thumbwheel capability
GUI->>Runtime: Persist paired directional bindings
Device->>Input: Emit horizontal rotation
Input->>Runtime: Resolve directional binding
Runtime->>Runtime: Execute configured action
Reviews (5): Last reviewed commit: "rebase & resolve conflict" | Re-trigger Greptile
48a299e to
5a844be
Compare
|
@the-long-ride 👋🏻 Can you please rebase, ensure all actions are passing and review comments from greptile-apps? Thanks! |
d51017f to
aaeaab4
Compare
Adds paired thumb-wheel actions for MX Master 2S, including Bluetooth detection and legacy HID++ Gesture2 support.