libinput.h/evdev.c: Add definitions for LIBINPUT_LED_COMPOSE and LIBINPUT_LED_KANA
Blinkenlights status of The Great Five(Num Lock
,Caps Lock
,Scroll Lock
, Compose
, Kana (Lock)
):
-
Base Linux support - All 5 LEDs are exposed and controllable in /sys -
libinput which has a PR here, 1.26 released with the patch -
xf86-input-evdev which has a PR here, will be in some version past 2.10.6 -
libxkbcommon which has a PR here, marked for 1.8.0 release -
xf86-input-libinput which has a PR here - will be in some version past 1.4.0 -
GTK (wayland) has a PR here -
kwin which has a PR here -
plasma-wayland-protocols which has a PR here
-
-
mutter has a PR here -
wlroots has a PR here -
weston has a PR here -
xkeyboard-config needs some work, as neither Scroll Lock, Compose or Kana are bound by default. -
Scroll Lock support - seems (results in broken keyboard backlight) - very - broken. Has a recent xkeyboard-config PR. Unbound by default in xkeyboard-config. -
Compose support -
Kana (Lock) support
-
LED testing done using VIAL(QMK fork).
Fixes #818 (closed)
This probably should have tests added in test/test-keyboard.c
?
I am not sure how to write them.
~~Is there a reason to implement only the first five keys, or would it be a good idea to do the rest too?~~
#define LED_NUML 0x00
#define LED_CAPSL 0x01
#define LED_SCROLLL 0x02
#define LED_COMPOSE 0x03
#define LED_KANA 0x04
#define LED_SLEEP 0x05
#define LED_SUSPEND 0x06
#define LED_MUTE 0x07
#define LED_MISC 0x08
#define LED_MAIL 0x09
#define LED_CHARGING 0x0a
#define LED_MAX 0x0f
#define LED_CNT (LED_MAX+1)
EDIT: No, it's not a good idea, 1-5 is official HID spec
Fun fact, the 1.0 spec is from 1996, meaning I am implementing/fixing a feature for which the spec is older than me.