0.6.0 - Keychron Ultra keyboards light up
Pre-releaseKeychron Ultra keyboards light up. Alongside Corsair through iCUE, the app now drives the F-row of a Keychron Ultra (V3 Ultra 8K verified; the other Ultras speak the same protocol) over its cable or its 2.4 GHz receiver, using the raw-HID protocol the Keychron Launcher itself uses - no driver, no firmware of ours on the keyboard. It takes only the twelve F-row LEDs: the keyboard's mixed mode gives the F-row to the app and leaves the rest of the board running whatever you had, and everything the app changes is read first and put back on Quit. Nothing is ever written to the keyboard's flash; a power cycle is always a full undo. Not over Bluetooth - the firmware does not carry this interface there. The summon keys, being ordinary keycodes in the keyboard's keymap (Launcher: F1-F12 -> F13-F24), work over all three.
Per-key brightness on a Keychron needs a firmware fix. Stock Ultra firmware ignores the per-key value byte, so every lit key shows at full and a dark key shows white. Keychron/zmk pull request 9 fixes it; until Keychron ships it, firmware/keychron-ultra in the repository has the patch, a Docker build script and a flashing guide (the Launcher's own updater accepts a self-built image). Read the guide before flashing anything.
The Keyboard panel reports each keyboard surface on its own line, and agent-frow doctor gained a "keyboards" section that lists every Keychron interface on the bus and what it answers.
Under the hood: the palette that says what the twelve keys look like is now device-neutral, and the frame clock both lighting threads use is shared, so a third keyboard is one module. One new dependency, hidapi (pure-Rust Windows backend); Corsair behaviour is unchanged.
Upgrade: unzip, run once, delete the folder - the running copy is retired and replaced automatically. No agent restarts needed.