evidence · 2.2 KiB

README.md

Committed at docs/evidence/keyboard-base/leds/README.md. This is what grounds the requirements that cite it.

Open raw source

Keyboard base LEDs and keyboard service (tasks 3.3, 4.1, 6.1; board-read)

Evidence class: board-read only. No camera was attached (/dev/video0 absent on the host), so nothing here shows that an LED is visibly lit.

Installed system

The board ran system q4nzfdkw… (bundle .#kernelMainlineDrmShellLandscapeBootFiles from impl/keyboard-base), installed on 2026-10-13 ~23:30 UTC the same way as ../keys/README.md. The previous boot files are in /var/lib/k230/boot-backup-20261013-pre-kbd3/.

An earlier build in this series lacked NEW_LEDS/LEDS_CLASS, so LEDS_GPIO was silently dropped and /sys/class/leds did not exist; the kernel config now enables both.

After boot

/sys/class/leds holds k230:green:capslock, k230:status-1, k230:status-2 and k230::kbd_backlight. The udev rule makes the Caps Lock and backlight brightness files root:shell 0664.

shell-keyboard-base.service is active and logs reading /dev/input/event2.

Writing 1 to the Caps Lock and backlight LEDs, then 0, gave in /sys/kernel/debug/gpio:

on:
 gpio-20  (                    |k230::kbd_backlight ) out hi
 gpio-3   (                    |k230:green:capslock ) out lo ACTIVE LOW
 gpio-4   (                    |k230:status-1       ) out hi ACTIVE LOW
 gpio-5   (                    |k230:status-2       ) out hi ACTIVE LOW
off:
 gpio-20  (                    |k230::kbd_backlight ) out lo
 gpio-3   (                    |k230:green:capslock ) out hi ACTIVE LOW

So the XL9555 P0.3 line goes low for Caps Lock on. LILYGO’s own code lights it that way (0xF7). IO52 goes high for the backlight.

Limits

Operator report (2026-10-13)

After installing system w3isqi2b…, the operator typed on the base and reported in chat: “caps toggle works fine. backlight works fine.” Evidence class operator. It confirms Caps Lock lighting its LED and the key backlight following typing on the real hardware, including the IO52 polarity. No camera frame accompanies it, so the camera proofs named in tasks 3.4 and 4.1 are still open.