Linux 7.3 To Support Logitech HID++ 2.0 Reprogrammable Button Support

2 min read Original article ↗

HARDWARE

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.

Logitech mouse

Open-source developer Elliot Douglas who led the work on this Logitech HID++ kernel driver feature explained with 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 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.