Linux 7.3 To Support Logitech HID++ 2.0 Reprogrammable Button Support
([Hardware] 3 Hours Ago
Logitech HID++ 2.0 Reprogrammable Button)
- Reference: 0001650699
- News link: https://www.phoronix.com/news/Linux-7.3-HIDPP-Reprogrammable
- Source link:
For those with newer, high-end Logitech input devices, coming with Linux 7.3 is support for the re-programmable button support of the HID++ 2.0 protocol.
The HID++ 2.0 device protocol's reprogrammable button support allows for software to query, remap, and divert mouse buttons and special keyboard keys. When a button is diverted, a special notification is used rather than a standard key event.
There have been some user-space open-source software solutions for the Logitech reprogrammable button support handling and UIs to remap while now the logitech-hidpp kernel driver is seeing support for this HID++ 2.0 capability.
Open-source developer Elliot Douglas who led the work on this Logitech HID++ kernel driver feature explained with [1]the patch :
"Some Logitech HID++ 2.0 mice can report diverted reprogrammable controls through HID++ feature 0x1b04, SpecialKeysMseButtons / REPROG_CONTROLS_V4, instead of the normal HID mouse report.
Add a quirk-gated event path for those controls. The handler temporarily diverts verified per-product controls, parses divertedButtonsEvent as the current pressed-control list, and reports the corresponding evdev key state for every mapped control.
Keep the control mappings in per-product arrays so adding support for another mouse does not change the evdev capabilities advertised by already-supported devices."
More details can also be found via [2]this protocol documentation .
This patch is queued into the HID subsystem's "for-next" Git branch and thus expected to be submitted as part of the upcoming Linux 7.3 merge window.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?h=for-next&id=5e21032ac915cbff3ee15f9d1201617e90242280
[2] https://lekensteyn.nl/files/logitech/x1b04_specialkeysmsebuttons.html
The HID++ 2.0 device protocol's reprogrammable button support allows for software to query, remap, and divert mouse buttons and special keyboard keys. When a button is diverted, a special notification is used rather than a standard key event.
There have been some user-space open-source software solutions for the Logitech reprogrammable button support handling and UIs to remap while now the logitech-hidpp kernel driver is seeing support for this HID++ 2.0 capability.
Open-source developer Elliot Douglas who led the work on this Logitech HID++ kernel driver feature explained with [1]the patch :
"Some Logitech HID++ 2.0 mice can report diverted reprogrammable controls through HID++ feature 0x1b04, SpecialKeysMseButtons / REPROG_CONTROLS_V4, instead of the normal HID mouse report.
Add a quirk-gated event path for those controls. The handler temporarily diverts verified per-product controls, parses divertedButtonsEvent as the current pressed-control list, and reports the corresponding evdev key state for every mapped control.
Keep the control mappings in per-product arrays so adding support for another mouse does not change the evdev capabilities advertised by already-supported devices."
More details can also be found via [2]this protocol documentation .
This patch is queued into the HID subsystem's "for-next" Git branch and thus expected to be submitted as part of the upcoming Linux 7.3 merge window.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?h=for-next&id=5e21032ac915cbff3ee15f9d1201617e90242280
[2] https://lekensteyn.nl/files/logitech/x1b04_specialkeysmsebuttons.html