Jump to content

Logitech Gaming Keyboards

From ArchWiki

Logitech gaming keyboards have extra keys (G keys, macro keys), backlights and, on some models, an LCD. The normal keys work with the generic USB HID driver; the extra features need a dedicated kernel driver or user-space software, depending on the model.

Kernel driver hid-lg-g15

Some older models are supported by the kernel driver hid-lg-g15, which is loaded automatically when the keyboard is plugged in:

Model USB ID Supported since
G15 046d:c222 Linux 5.5
G15 v2 046d:c227 Linux 5.5
G510, G510 with headset connected 046d:c22d, 046d:c22e Linux 5.5
G11 046d:c225 Linux 5.7
G13 046d:c21c Linux 6.19, see Logitech G13

The driver creates an input device Logitech Gaming Keyboard Gaming Keys (G13: Logitech G13 Gaming Keypad) for the extra keys and LED devices in /sys/class/leds/:

  • The G keys send KEY_MACRO1, KEY_MACRO2, …, M1–M3 send KEY_MACRO_PRESET1–KEY_MACRO_PRESET3, MR sends KEY_MACRO_RECORD_START, the keys next to the LCD send KEY_KBD_LCD_MENU1–KEY_KBD_LCD_MENU5. The normal keys keep working as before.
  • G11, G15, G15 v2: keyboard backlight g15::kbd_backlight and LCD backlight g15::lcd_backlight with brightness 0–2; G510: RGB backlight g15::kbd_backlight; LEDs of M1–M3 and MR: g15::macro_preset1–g15::macro_preset3 and g15::macro_record.
  • The kernel does not draw on the LCD; it is accessible through hidraw.

Check the events with evtest. Most applications do not understand the KEY_MACROn events, so the G keys have to be assigned to ordinary keys or macros, e.g. with gkey-config or a generic tool from Input remap utilities.

gkey-config

Install the gkey-configAUR package. It installs no driver of its own and provides a daemon running as a systemd user unit (gkeyd.service) and the configuration tool G-Key Configuration: key bindings, key combinations, macros, three layers (M1–M3) per profile, backlight colour or brightness per profile and LCD pages (status, system load, CPU and GPU details, clock, text from scripts). On its first start the configuration tool offers to start the daemon at login and to allow LED control (group gkey).

Note
  • gkey-config has been tested with the G13 only. Support for G11, G15, G15 v2 and G510 is derived from the kernel driver and untested; reports are welcome in the issue tracker.
  • gkey-config only opens the interface with the gaming keys and the LCD, not the normal keyboard.
  • Do not run it at the same time as a user-space driver that accesses the keyboard directly, such as g15daemon.

Usage and the functions per device are described in the project wiki.

Other software

The following software supports models or functions that the kernel driver does not cover:

Software Package Models Functions
g15daemon g15daemonAUR G15, G11, G510 (with patches) LCD, G keys through g15macroAUR; see #g15daemon
sidewinderd sidewinderdAUR G105, G710, G710+, Microsoft SideWinder X4 and X6 G keys and macros
logitech-g710-linux-driver hid-lg-g710-plus-dkms-gitAUR G710, G710+ kernel module for the extra keys
g910-gkey-macro-support g910-gkeys-gitAUR G910 Orion Spectrum, G910 Orion Spark G keys; a fork adds the M keys and their profile switching
Keyleds keyledsAUR G410, G610, G810, G910, G Pro LED effects, Lua scripting
g810-led – G213, G410, G413, G512, G513, G610, G810, G815, G910, G Pro LED control
OpenRGB openrgb most models LED control
libratbag and Piper libratbag, piper some gaming mice and keyboards key remapping and basic LED control with a graphical interface
Solaar solaar Logitech devices supported by Solaar basic control and LED effects

g15daemon

Install the g15daemonAUR package. Development of g15daemon stopped in 2008; it still works with the keyboards it supported, but some of its bugs were never fixed. The G keys are handled by g15macroAUR, and g15statsAUR shows system information on the LCD.

Note
  • Since Linux 5.5 the G510 is supported by the kernel driver, see #Kernel driver hid-lg-g15. g15daemon supports the G510 only with patches to libg15AUR and g15daemonAUR, which are described in the forum thread.
  • Do not run g15daemon at the same time as gkey-config.

See also