Expand description
Logical mouse button identifiers and the action vocabulary each one can
bind to. Lives in openlogi-core because the config
schema serializes these directly — the GUI re-exports them.
When Action gains new variants, keep the existing variant names stable:
the TOML config keys/values use the enum variant identifiers verbatim, so
renames are migration events.
Structs§
- KeyCombo
- A modifier + virtual-key keystroke captured by the P1.3 recorder UI or
hand-authored in
config.toml.
Enums§
- Action
- What pressing a
ButtonIdshould do. - Button
Id - One of the user-rebindable hotspots on a Logi mouse. The order matches the
physical layout from front to side;
ButtonId::ALLis consumed by the default-binding generator and the popover trigger list. - Category
- Grouping for popover section headers.
- Gesture
Direction - One of the five sub-bindings on the gesture button: hold + swipe up/down/
left/right or a plain click without movement. Logi ships these as
independent assignments (
SLOT_NAME_GESTURE_*_BUTTONin thedevice_gesture_buttons_imagemetadata block) — OpenLogi mirrors the same shape.
Functions§
- classify_
gesture - Classify an accumulated raw-XY swipe — the summed
dx/dythe device reports while the gesture button is held — into one of the fiveGestureDirectionslots. - default_
binding - Sensible defaults for a fresh device so the panel isn’t empty on first run.
- default_
gesture_ binding - Per-direction defaults for the gesture button. These are captured live over
HID++
0x1b04(raw-XY diversion) and dispatched like any other binding; the defaults give the picker something sensible to show on first run.