Linux 5.14 HID Input Driver To Handle Programmable Buttons

Written by Michael Larabel in Linux Kernel on 27 June 2021 at 06:35 AM EDT. 3 Comments
The hid-input kernel driver with Linux 5.14 is set to see support for "Programmable Buttons" as outlined by the USB HID specification.

Programmable Buttons are as one would think, per the USB specification: "the user defines the function of these buttons to control software applications or GUI objects." With Linux 5.14 the kernel driver will now finally support the Programmable Buttons and in turn map them to the KEY_MACRO[#] event key codes. The KEY_MACRO event codes in turn are already supported/used by various user-space software.

That handling has been queued into HID's for-next branch ahead of the Linux 5.14 merge window.

As for now only setting up this USB HID Programmable Buttons to KEY_MACRO event code mapping, it stems from a developer (Thomas WeiƟschuh) wanting to pass custom keycodes from a programmable keypad running the QMK firmware to Linux and finding that mapping of such "Programmable Buttons" to the existing Linux MACRO keycodes would be the best approach.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week