- Published on
Keychron K6 Setup Guide for Mac with Karabiner
- Authors

- Name
- Vinayak Ganapuram
- @vinayakkg
Keychron K6 Setup Guide for Mac with Karabiner
I recently switched from an 80-key Mac keyboard to the Keychron K6 65% (68 keys) mechanical keyboard. The compact form factor is great for desk space, but there's a learning curveβespecially for programmers who use backtick and tilde frequently. This guide documents my setup and the solutions I found.
The Problem π€
On the K6, there's no dedicated backtick/tilde key. Instead, you need to press:
fn1 + ESCfor backtick (`)fn2 + ESCfor tilde (~)
This is handled at the keyboard firmware level, meaning Karabiner-Elements cannot intercept these combinations. The keyboard sends the character directly to macOS before any software can remap it.
For developers who write markdown, use terminal paths (~/Documents), or switch windows (Cmd + ~), this is painful.
The Solution π‘
The workaround is to:
- Remap the physical ESC key to make ESC work as is without any extra click
- Shift ESC is mapped to
~ - Option ESC is mapped to `
This way you get single-key access to ESC, backtick and tilde.
Karabiner-Elements Setup βοΈ
Karabiner-Elements is an open-source keyboard customizer for macOS. Install it via brew:
brew install --cask karabiner-elements
Device Identification
Your K6 may appear as different devices depending on connection mode (Bluetooth vs Wired). My configuration uses:
| Device | Vendor ID | Product ID |
|---|---|---|
| K6 (Complex Mods) | 1452 | 591 |
| K6 (Simple Mods) | 13364 | 4451 |
You can find your device IDs in Karabiner-Elements β Devices tab.
Simple Modifications
These are applied only to the K6, not to MacBook's internal keyboard. Open Karabiner-Elements β Simple Modifications β Select your K6 device.
| From Key | To Key | Purpose |
|---|---|---|
home | delete_forward | Home key acts as Forward Delete |
page_up | home | Page Up becomes Home |
page_down | end | Page Down becomes End |
Complex Modifications
These give you quick access to backtick, tilde, and window switching using modifier + ESC combinations:
| Shortcut | Output | Use Case |
|---|---|---|
Option + ESC | ` (backtick) | Markdown code blocks, terminal |
Shift + ESC | ~ (tilde) | Home directory paths |
Cmd + ESC | Cmd + ~ | Switch windows within same app |
Final Key Behavior
After applying the configuration:
| Physical Key | Tap | With Option | With Shift |
|---|---|---|---|
| ESC | ESC | ` | ~ |
| Home | Forward Delete | β | β |
| Page Up | Home | β | β |
| Page Down | End | β | β |
Complete Karabiner Configuration π
Save this as ~/.config/karabiner/karabiner.json:
{
"global": { "show_in_menu_bar": false },
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "Shift + Esc to Tilde (~)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "escape",
"modifiers": { "mandatory": ["shift"] }
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": ["shift"]
}
]
}
]
},
{
"description": "Option + Esc to Backtick (`)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "escape",
"modifiers": { "mandatory": ["option"] }
},
"to": [
{ "key_code": "grave_accent_and_tilde" }
]
}
]
},
{
"description": "Command + Esc to Command + Tilde (Window Switcher)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "escape",
"modifiers": { "mandatory": ["command"] }
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": ["command"]
}
]
}
]
}
]
},
"devices": [
{
"identifiers": {
"is_keyboard": true,
"is_pointing_device": true,
"product_id": 4451,
"vendor_id": 13364
},
"ignore": false,
"simple_modifications": [
{
"from": { "key_code": "home" },
"to": [{ "key_code": "delete_forward" }]
},
{
"from": { "key_code": "page_up" },
"to": [{ "key_code": "home" }]
},
{
"from": { "key_code": "page_down" },
"to": [{ "key_code": "end" }]
}
]
}
],
"name": "Default",
"selected": true,
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
}
]
}
K6 Hardware Shortcuts πΉ
These are built into the keyboard firmware and work regardless of Karabiner configuration.
Bluetooth
The K6 supports up to 3 Bluetooth devices. Make sure the side toggle is set to Bluetooth (not Cable).
| Combo | Function |
|---|---|
fn1 + Q | Switch to Bluetooth device 1 |
fn1 + W | Switch to Bluetooth device 2 |
fn1 + E | Switch to Bluetooth device 3 |
fn1 + Q/W/E (hold 4s) | Pair new device to slot 1/2/3 |
Pairing a New Device
- Select an empty slot β short press
fn1 + Q/W/Eto check (LED blinks slowly = empty/disconnected) - Enter pairing mode β hold
fn1 + Q/W/Efor 4 seconds (LED blinks rapidly) - Pair from your device β look for "Keychron K6" in Bluetooth settings
The LED will blink rapidly for ~3 minutes while discoverable. If pairing fails, forget the device from your computer's Bluetooth settings and try again.
Media & Volume
| Combo | Function |
|---|---|
fn1 + - | Volume down |
fn1 + = | Volume up |
fn1 + [ | Previous track |
fn1 + ] | Next track |
fn1 + \ | Play/Pause |
Function Keys
| Combo | Function |
|---|---|
fn1 + 1 through 0 | F1 β F10 |
fn1 + - | F11 |
fn1 + = | F12 |
Backlight
| Combo | Function |
|---|---|
| Light key | Cycle RGB effects |
fn1 + Light key | Toggle backlight on/off |
fn1 + β | Decrease brightness |
fn1 + β | Increase brightness |
fn1 + L + Light key (4s) | Lock/unlock light effect |
System
| Combo | Function |
|---|---|
fn1 + S + O (4s) | Disable auto-sleep mode |
fn1 + J + Z (4s) | Factory reset (clears all Bluetooth pairings) |
fn1 + K + R (4s) | Switch function key layout |
Backup & Restore πΎ
Backup Command
cp ~/.config/karabiner/karabiner.json ~/Desktop/karabiner-backup-$(date +%Y%m%d).json
Restore Command
cp ~/Desktop/karabiner-backup-YYYYMMDD.json ~/.config/karabiner/karabiner.json
Karabiner automatically detects changes and reloads the configuration.
Sync Across Machines
Store karabiner.json in a synced folder and symlink it:
# Move to iCloud
mv ~/.config/karabiner/karabiner.json ~/Library/Mobile\ Documents/com~apple~CloudDocs/karabiner.json
# Create symlink
ln -s ~/Library/Mobile\ Documents/com~apple~CloudDocs/karabiner.json ~/.config/karabiner/karabiner.json
Things to Remember π
- Physical ESC works as it is β no need anything else
- Shift + ESC for tilde β quick access to
~for terminal paths - Option + ESC for backtick β quick access to
`for markdown code block - Cmd + ESC for window switching β replaces the standard
Cmd + ~ - Page Up/Down remapped β now act as Home/End for line navigation
- Home is Forward Delete β useful for deleting text ahead of cursor
- Config is device-specific β MacBook keyboard is unaffected
- fn1 and fn2 cannot be remapped β they're hardware-level keys
- Bluetooth vs Wired β may appear as different devices in Karabiner; configure both if needed
- Menu bar icon hidden β access Karabiner via Spotlight (
Cmd + Spaceβ "Karabiner")
Troubleshooting π§
Keyboard not appearing in Bluetooth
- Ensure side toggle is on Bluetooth, not Cable
- Press any key to wake the keyboard
- Hold
fn1 + Q/W/Efor 4 seconds to enter pairing mode (LED blinks rapidly) - If still not working, factory reset with
fn1 + J + Z(hold 4s)
Karabiner remaps not working
- Check that the correct device is selected in Simple Modifications
- Verify device IDs match your keyboard (Devices tab)
- Try disconnecting and reconnecting the keyboard
ESC key remaps not applying
The fn1 + ESC and fn2 + ESC combinations are processed by the keyboard firmware before reaching macOS. Karabiner cannot intercept them. Use the workarounds described above.