feat(keychron): offer Launcher's shortcut presets and polling-rate keys - #154
Merged
snekxs merged 2 commits intoOct 3, 2026
Merged
Conversation
The Launcher "Shortcuts" group (copy, cut, paste, screenshot, show desktop, zoom, Launchpad, Mission Control, brightness) is EFunKey 8 with EShortcutKey written three bytes high to low: kind 0x07 carries a modifier mask and a HID keycode, kind 0x0c a consumer usage low byte first. Polling-rate loop/+/- is EFunKey 13 with the ELoopKey byte, and Launcher only shows it when feature byte 1 bit 4 (rewritable polling gears) is set, so the 8k driver passes that flag through and the 1k driver never offers it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ports two more of Launcher's button functions to the Keychron "8k" and "1k" drivers. Both are plain string entries in the existing remapper, so the app needs no change beyond the next protocol bump.
Shortcut presets (EFunKey 8)
Launcher's "Shortcuts" group for mice, from bundle module 52732 (
shortCut): copy, cut, paste, screenshot, show desktop and browser zoom for Windows, their Cmd variants plus Launchpad and Mission Control for macOS, and display brightness. The codes areEShortcutKey(module 75994), written three bytes high to low like the mouse codes:0x0708 07 01 060x0c08 0c 9f 02Polling-rate keys (EFunKey 13)
Loop / next / previous with the same
ELoopKeybyte as the DPI keys. Launcher only lists them whenpollingGearsSupportis set, which is feature byte 1 bit 4, the flag the 8k driver already reads asfeatures.pollingGears. The 8k driver passes it through tokeychronButtonOptions; the 1k protocol reports that flag as false in Launcher, so the 1k driver never offers them. Unknown codes still decode as "Custom".Verification
ke,shortCut()/pollingRate()on report 0xb3) and its enum module; see the tests for the exact records.npm run buildandnpm testpass (1972 tests). New codec and driver tests cover encode, decode, the feature gate and the written 0x52 record.