Linux Input Expert Peter Hutterer Shows Off "GGKBDD" As Linux Gaming Keyboard Daemon
While the long-term prospects of the project have yet to be determined, longtime Linux input expert Peter Hutterer of Red Hat has hacked together "GGKBDD" as the generic gaming keyboard daemon for Linux systems.
When hearing of gaming keyboards that provide a macro key to send out pre-recorded key sequences when pressed, Peter decided to prototype GGKBDD as a daemon offering similar functionality that would work with any USB keyboard.
When a defined "mode key" has been pressed, the daemon will send out the pre-configured key sequences for the respective keys. At this stage GGKBDD is just a proof-of-concept daemon that doesn't offer any desktop integration, security safeguards, or other features that gamers would likely expect. He's also not even sure if he will be maintaining the project moving forward, but has posted this code to initiate discussions over such a Linux gaming keyboard daemon.
So for now the initial details can be found on Peter's blog. The GGKBDD code is posted on GitHub.
When hearing of gaming keyboards that provide a macro key to send out pre-recorded key sequences when pressed, Peter decided to prototype GGKBDD as a daemon offering similar functionality that would work with any USB keyboard.
When a defined "mode key" has been pressed, the daemon will send out the pre-configured key sequences for the respective keys. At this stage GGKBDD is just a proof-of-concept daemon that doesn't offer any desktop integration, security safeguards, or other features that gamers would likely expect. He's also not even sure if he will be maintaining the project moving forward, but has posted this code to initiate discussions over such a Linux gaming keyboard daemon.
ggkbdd runs as root and listens to keyboard events. It also creates a virtual keyboard device through uinput.
In macro mode, ggkbdd grabs the keyboard device so no other client can receive events. This makes it appear as if the device is in a special mode.
When key presses for configured keys are received, the configured sequence is simply replayed on the uinput device.
This all happens just above the kernel level, there's no desktop integration and this happens silently without the rest of the system knowing.
So for now the initial details can be found on Peter's blog. The GGKBDD code is posted on GitHub.
18 Comments