News: 0001650699

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

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

([Hardware] 3 Hours Ago Logitech HID++ 2.0 Reprogrammable Button)


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 debugger is akin to giving the _rabbits_ a bazooka. The poor wolf
doesn't get any sharper teeth. Yeah, it sure helps against wolves.
They explode in pretty patterns of red drops flying _everywhere_. Cool.
But it doesn't help against a rabbit gene pool that is slowly
deteriorating because there is nothing to keep them from breeding, and no
darwin to make sure that it's the fastest and strongest that breeds.
You mentioned how NT has the nicest debugger out there.
Contemplate it."

- Linus Torvalds