Community-maintained guides for using Keychron keyboards on Linux.
- Keychron K2 -- 75% layout, compact with function row
- Keychron K6 -- 65% layout, no function row
Most issues boil down to three things:
- Set the physical switch to Windows/Android mode (back of keyboard)
- Function keys should work out of the box on kernel 5.19+ thanks to
fnmode=3auto-detection - Bluetooth reconnection problems? See the Bluetooth section in your keyboard's page
Keychron ships two variants of many keyboards. They have very different Linux experiences:
| Original | Pro (QMK) | |
|---|---|---|
| Kernel driver | hid-apple |
hid-generic |
| Function keys | fnmode parameter |
Configured via VIA/Launcher |
| Firmware updates | Windows only | Linux via Keychron Launcher |
| Key remapping | keyd, xremap, XKB |
VIA, Keychron Launcher |
| RGB control | Hardware shortcuts only | VIA/Launcher (wired) |
If you have a Pro model, the hid_apple kernel module parameters (fnmode, swap_opt_cmd, etc.) do not apply to you. Use Keychron Launcher or VIA instead (Chromium required, wired connection only).
Pull requests welcome. If you have a tip, fix, or workaround, open a PR or file an issue.
- andrebrait's Keychron Linux guide -- the most comprehensive community resource
- Arch Wiki: Apple Keyboard -- covers
hid_appleparameters - Arch Wiki: Bluetooth keyboard -- generic BT pairing/troubleshooting
- keyd -- system-wide key remapping daemon (X11, Wayland, TTY)
- Keychron Launcher -- web-based configuration for QMK boards
- r/Keychron -- community subreddit