5786ab888b404fb70110649b182cfafb611b1980
Middle-button scroll state machine (3-state: idle/undecided/scrolling) with 150ms timeout — short press sends middle click, hold converts TrackPoint movement to scroll wheel events. FN+middle passes through. Also implements: - CapsLock LED feedback via host LED output reports (P5.3/PWM0) - FN+F7 (LGUI+P), FN+F9 (LGUI+I), FN+F11 (LCTRL+LALT+TAB) - HID GET_REPORT with per-interface responses - SET/CLEAR FEATURE for DEVICE_REMOTE_WAKEUP Tested with 23/23 simulator tests passing (test_scroll.py). Flash space: 10,238/10,239 words used (1 word free). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ku1255cfw
Custom open firmware for the Lenovo KU-1255 compact USB keyboard
Dev setup
- OpenViszla USB protocol analyzer
- 5V-tolerant PL2303 UART interface (e.g. https://www.adafruit.com/product/954)
- S15 pad (SN8F2288 UTX) connected to header for UART debug interface
Languages
Assembly
82.9%
Python
17.1%
