15 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			15 KiB
		
	
	
	
	
	
	
	
Overview
When defining a keymap each key needs a valid key definition. This page documents the symbols that correspond to keycodes that are available to you in QMK. This is a reference only. Where possible keys link to the page documenting their functionality.
Keycode Index
| Long Name | Short Name | Description | 
|---|---|---|
KC_1 | 
||
KC_2 | 
||
KC_3 | 
||
KC_4 | 
||
KC_5 | 
||
KC_6 | 
||
KC_7 | 
||
KC_8 | 
||
KC_9 | 
||
KC_0 | 
||
KC_F1 | 
||
KC_F2 | 
||
KC_F3 | 
||
KC_F4 | 
||
KC_F5 | 
||
KC_F6 | 
||
KC_F7 | 
||
KC_F8 | 
||
KC_F9 | 
||
KC_F10 | 
||
KC_F11 | 
||
KC_F12 | 
||
KC_F13 | 
||
KC_F14 | 
||
KC_F15 | 
||
KC_F16 | 
||
KC_F17 | 
||
KC_F18 | 
||
KC_F19 | 
||
KC_F20 | 
||
KC_F21 | 
||
KC_F22 | 
||
KC_F23 | 
||
KC_F24 | 
||
KC_A | 
||
KC_B | 
||
KC_C | 
||
KC_D | 
||
KC_E | 
||
KC_F | 
||
KC_G | 
||
KC_H | 
||
KC_I | 
||
KC_J | 
||
KC_K | 
||
KC_L | 
||
KC_M | 
||
KC_N | 
||
KC_O | 
||
KC_P | 
||
KC_Q | 
||
KC_R | 
||
KC_S | 
||
KC_T | 
||
KC_U | 
||
KC_V | 
||
KC_W | 
||
KC_X | 
||
KC_Y | 
||
KC_Z | 
||
KC_ENTER | 
KC_ENT | 
Return (ENTER) | 
KC_ESCAPE | 
KC_ESC | 
ESCAPE | 
KC_BSPACE | 
KC_BSPC | 
DELETE (Backspace) | 
KC_TAB | 
Tab | 
|
KC_SPACE | 
KC_SPC | 
Spacebar | 
KC_MINUS | 
KC_MINS | 
- and _ | 
KC_EQUAL | 
KC_EQL | 
= and + | 
KC_LBRACKET | 
KC_LBRC | 
[ and { | 
KC_RBRACKET | 
KC_RBRC | 
] and } | 
KC_BSLASH | 
KC_BSLS | 
\ and | | 
KC_NONUS_HASH | 
KC_NUHS | 
Non-US # and ~ | 
KC_NONUS_BSLASH | 
KC_NUBS | 
Non-US \ and | | 
KC_INT1 | 
KC_RO | 
JIS \ and | | 
KC_INT2 | 
KC_KANA | 
International216 | 
KC_INT3 | 
KC_JYEN | 
Yen Symbol (¥) | 
KC_SCOLON | 
KC_SCLN | 
; and : | 
KC_QUOTE | 
KC_QUOT | 
‘ and “ | 
KC_GRAVE | 
KC_GRV | 
Grave Accent and Tilde | 
KC_COMMA | 
KC_COMM | 
, and < | 
KC_DOT | 
. and > | 
|
KC_SLASH | 
KC_SLSH | 
/ and ? | 
KC_CAPSLOCK | 
KC_CAPS | 
Caps Lock | 
KC_LCTRL | 
KC_LCTL | 
LeftControl | 
KC_LSHIFT | 
KC_LSFT | 
LeftShift | 
KC_LALT | 
LeftAlt | |
KC_LGUI | 
Left GUI(Windows/Apple/Meta key) | |
KC_RCTRL | 
KC_RCTL | 
RightControl | 
KC_RSHIFT | 
KC_RSFT | 
RightShift | 
KC_RALT | 
RightAlt | |
KC_RGUI | 
Right GUI(Windows/Apple/Meta key) | |
KC_LOCKING_CAPS | 
KC_LCAP | 
Locking Caps Lock | 
KC_LOCKING_NUM | 
KC_LNUM | 
Locking Num Lock | 
KC_LOCKING_SCROLL | 
KC_LSCR | 
Locking Scroll Lock | 
KC_INT4 | 
KC_HENK | 
JIS Henken | 
KC_INT5 | 
KC_MHEN | 
JIS Muhenken | 
KC_PSCREEN | 
KC_PSCR | 
PrintScreen | 
KC_SCROLLLOCK | 
KC_SLCK | 
Scroll Lock | 
KC_PAUSE | 
KC_PAUS | 
Pause | 
KC_INSERT | 
KC_INS | 
Insert | 
KC_HOME | 
Home | |
KC_PGUP | 
PageUp | |
KC_DELETE | 
KC_DEL | 
Delete Forward | 
KC_END | 
End | |
KC_PGDOWN | 
KC_PGDN | 
PageDown | 
KC_RIGHT | 
KC_RGHT | 
RightArrow | 
KC_LEFT | 
LeftArrow | |
KC_DOWN | 
DownArrow | |
KC_UP | 
UpArrow | |
KC_APPLICATION | 
KC_APP | 
Application | 
KC_POWER | 
Power | |
KC_EXECUTE | 
Execute | |
KC_HELP | 
Help | |
KC_MENU | 
Menu | |
KC_SELECT | 
Select | |
KC_AGAIN | 
Again | |
KC_UNDO | 
Undo | |
KC_CUT | 
Cut | |
KC_COPY | 
Copy | |
KC_PASTE | 
Paste | |
KC_FIND | 
Find | |
KC_ALT_ERASE | 
Alternate Erase | |
KC_SYSREQ | 
SysReq/Attention | |
KC_CANCEL | 
Cancel | |
KC_CLEAR | 
Clear | |
KC_PRIOR | 
Prior | |
KC_RETURN | 
Return | |
KC_SEPARATOR | 
Separator | |
KC_OUT | 
Out | |
KC_OPER | 
Oper | |
KC_CLEAR_AGAIN | 
Clear/Again | |
KC_CRSEL | 
CrSel/Props | |
KC_EXSEL | 
ExSel | |
KC_SYSTEM_POWER | 
KC_PWR | 
System Power Down | 
KC_SYSTEM_SLEEP | 
KC_SLEP | 
System Sleep | 
KC_SYSTEM_WAKE | 
KC_WAKE | 
System Wake | 
KC_MAIL | 
KC_MAIL | 
|
KC_CALCULATOR | 
KC_CALC | 
|
KC_MY_COMPUTER | 
KC_MYCM | 
|
KC_WWW_SEARCH | 
KC_WSCH | 
|
KC_WWW_HOME | 
KC_WHOM | 
|
KC_WWW_BACK | 
KC_WBAK | 
|
KC_WWW_FORWARD | 
KC_WFWD | 
|
KC_WWW_STOP | 
KC_WSTP | 
|
KC_WWW_REFRESH | 
KC_WREF | 
|
KC_WWW_FAVORITES | 
KC_WFAV | 
|
KC_STOP | 
Stop | |
KC__MUTE | 
Mute | |
KC__VOLUP | 
Volume Up | |
KC__VOLDOWN | 
Volume Down | |
KC_AUDIO_MUTE | 
KC_MUTE | 
|
KC_AUDIO_VOL_UP | 
KC_VOLU | 
|
KC_AUDIO_VOL_DOWN | 
KC_VOLD | 
|
KC_MEDIA_NEXT_TRACK | 
KC_MNXT | 
Next Track (Windows) | 
KC_MEDIA_PREV_TRACK | 
KC_MPRV | 
Previous Track (Windows) | 
KC_MEDIA_FAST_FORWARD | 
KC_MFFD | 
Next Track (macOS) | 
KC_MEDIA_REWIND | 
KC_MRWD | 
Previous Track (macOS) | 
KC_MEDIA_STOP | 
KC_MSTP | 
|
KC_MEDIA_PLAY_PAUSE | 
KC_MPLY | 
|
KC_MEDIA_SELECT | 
KC_MSEL | 
|
KC_NUMLOCK | 
KC_NLCK | 
Keypad Num Lock and Clear | 
KC_KP_SLASH | 
KC_PSLS | 
Keypad / | 
KC_KP_ASTERISK | 
KC_PAST | 
Keypad * | 
KC_KP_MINUS | 
KC_PMNS | 
Keypad - | 
KC_KP_PLUS | 
KC_PPLS | 
Keypad + | 
KC_KP_ENTER | 
KC_PENT | 
Keypad ENTER` | 
KC_KP_1 | 
KC_P1 | 
Keypad 1 and End | 
KC_KP_2 | 
KC_P2 | 
Keypad 2 and Down Arrow | 
KC_KP_3 | 
KC_P3 | 
Keypad 3 and PageDn | 
KC_KP_4 | 
KC_P4 | 
Keypad 4 and Left Arrow | 
KC_KP_5 | 
KC_P5 | 
Keypad 5 | 
KC_KP_6 | 
KC_P6 | 
Keypad 6 and Right Arrow | 
KC_KP_7 | 
KC_P7 | 
Keypad 7 and Home | 
KC_KP_8 | 
KC_P8 | 
Keypad 8 and Up Arrow | 
KC_KP_9 | 
KC_P9 | 
Keypad 9 and PageUp | 
KC_KP_0 | 
KC_P0 | 
Keypad 0 and Insert | 
KC_KP_DOT | 
KC_PDOT | 
Keypad . and Delete | 
KC_KP_EQUAL | 
KC_PEQL | 
Keypad = | 
KC_KP_COMMA | 
KC_PCMM | 
Keypad Comma | 
KC_KP_EQUAL_AS400 | 
Keypad Equal Sign | |
KC_NO | 
Ignore this key. (NOOP) | |
KC_TRNS | 
Make this key transparent to find the key on a lower layer. | |
KC_MS_UP | 
KC_MS_U | 
Mouse Cursor Up | 
KC_MS_DOWN | 
KC_MS_D | 
Mouse Cursor Down | 
KC_MS_LEFT | 
KC_MS_L | 
Mouse Cursor Left | 
KC_MS_RIGHT | 
KC_MS_R | 
Mouse Cursor Right | 
KC_MS_BTN1 | 
KC_BTN1 | 
Mouse Button 1 | 
KC_MS_BTN2 | 
KC_BTN2 | 
Mouse Button 2 | 
KC_MS_BTN3 | 
KC_BTN3 | 
Mouse Button 3 | 
KC_MS_BTN4 | 
KC_BTN4 | 
Mouse Button 4 | 
KC_MS_BTN5 | 
KC_BTN5 | 
Mouse Button 5 | 
KC_MS_WH_UP | 
KC_WH_U | 
Mouse Wheel Up | 
KC_MS_WH_DOWN | 
KC_WH_D | 
Mouse Wheel Down | 
KC_MS_WH_LEFT | 
KC_WH_L | 
Mouse Wheel Left | 
KC_MS_WH_RIGHT | 
KC_WH_R | 
Mouse Wheel Right | 
KC_MS_ACCEL0 | 
KC_ACL0 | 
Mouse Acceleration 0 | 
KC_MS_ACCEL1 | 
KC_ACL1 | 
Mouse Acceleration 1 | 
KC_MS_ACCEL2 | 
KC_ACL2 | 
Mouse Acceleration 2 | 
RESET | 
Put the keyboard into DFU mode for flashing | |
DEBUG | 
Toggles debug mode | |
KC_GESC | 
GRAVE_ESC | 
Acts as escape when pressed normally but when pressed with Shift or GUI will send a ~ | 
KC_LSPO | 
Left shift when held, open paranthesis when tapped | |
KC_RSPC | 
Right shift when held, close paranthesis when tapped | |
KC_LEAD | 
The leader key | |
FUNC(n) | 
F(n) | 
Call fn_action(n) | 
M(n) | 
to call macro n | |
MACROTAP(n) | 
to macro-tap n idk FIXME` | |
MAGIC_SWAP_CONTROL_CAPSLOCK | 
Swap Capslock and Left Control | |
MAGIC_CAPSLOCK_TO_CONTROL | 
Treat Capslock like a Control Key | |
MAGIC_SWAP_LALT_LGUI | 
Swap the left Alt and GUI keys | |
MAGIC_SWAP_RALT_RGUI | 
Swap the right Alt and GUI keys | |
MAGIC_NO_GUI | 
Disable the GUI key | |
MAGIC_SWAP_GRAVE_ESC | 
Swap the Grave and Esc key. | |
MAGIC_SWAP_BACKSLASH_BACKSPACE | 
Swap backslack and backspace | |
MAGIC_HOST_NKRO | 
Force NKRO on | |
MAGIC_SWAP_ALT_GUI/AG_SWAP | 
Swap Alt and Gui on both sides | |
MAGIC_UNSWAP_CONTROL_CAPSLOCK | 
Disable the Control/Capslock swap | |
MAGIC_UNCAPSLOCK_TO_CONTROL | 
Disable treating Capslock like Control | |
MAGIC_UNSWAP_LALT_LGUI | 
Disable Left Alt and GUI switching | |
MAGIC_UNSWAP_RALT_RGUI | 
Disable Right Alt and GUI switching | |
MAGIC_UNNO_GUI | 
Enable the GUI key | |
MAGIC_UNSWAP_GRAVE_ESC | 
Disable the Grave/Esc swap | |
MAGIC_UNSWAP_BACKSLASH_BACKSPACE | 
Disable the backslash/backspace swap | |
MAGIC_UNHOST_NKRO | 
Force NKRO off | |
MAGIC_UNSWAP_ALT_GUI/AG_NORM | 
Disable the Alt/GUI switching | |
MAGIC_TOGGLE_NKRO | 
Turn NKRO on or off | |
BL_x | 
Set a specific backlight level between 0-9 | |
BL_ON | 
An alias for BL_9 | 
|
BL_OFF | 
An alias for BL_0 | 
|
BL_DEC | 
Turn the backlight level down by 1 | |
BL_INC | 
Turn the backlight level up by 1 | |
BL_TOGG | 
Toggle the backlight on or off | |
BL_STEP | 
Step through backlight levels, wrapping around to 0 when you reach the top. | |
RGB_TOG | 
toggle on/off | |
RGB_MOD | 
cycle through modes | |
RGB_HUI | 
hue increase | |
RGB_HUD | 
hue decrease | |
RGB_SAI | 
saturation increase | |
RGB_SAD | 
saturation decrease | |
RGB_VAI | 
value increase | |
RGB_VAD | 
value decrease | |
PRINT_ON | 
Start printing everything the user types | |
PRINT_OFF | 
Stop printing everything the user types | |
OUT_AUTO | 
auto mode | |
OUT_USB | 
usb only | |
OUT_BT | 
bluetooth (when BLUETOOTH_ENABLE) | 
|
KC_HYPR | 
Hold down LCTL + LSFT + LALT + LGUI` | |
KC_MEH | 
Hold down LCTL + LSFT + LALT` | |
LCTL(kc) | 
LCTL + kc | 
|
LSFT(kc) | 
S(kc) | 
LSFT + kc | 
LALT(kc) | 
LALT + kc | 
|
LGUI(kc) | 
LGUI + kc | 
|
RCTL(kc) | 
RCTL + kc | 
|
RSFT(kc) | 
RSFT + kc | 
|
RALT(kc) | 
RALT + kc | 
|
RGUI(kc) | 
RGUI + kc | 
|
HYPR(kc) | 
LCTL + LSFT + LALT + LGUI + kc | 
|
MEH(kc) | 
LCTL + LSFT + LALT + kc | 
|
LCAG(kc) | 
LCTL + LALT + LGUI + kc | 
|
ALTG(kc) | 
RCTL + RALT + kc | 
|
SCMD(kc) | 
SWIN(kc) | 
LGUI + LSFT + kc | 
LCA(kc) | 
LCTL + LALT + kc | 
|
CTL_T(kc) | 
LCTL_T(kc) | 
LCTL when held, kc when tapped | 
RCTL_T(kc) | 
[RCTL when held, kc when tapped | 
|
SFT_T(kc) | 
LSFT_T(kc) | 
LSFT when held, kc when tapped | 
RSFT_T(kc) | 
[RSFT when held, kc when tapped | 
|
ALT_T(kc) | 
LALT_T(kc) | 
LALT when held, kc when tapped | 
RALT_T(kc) | 
ALGR_T(kc) | 
RALT when held, kc when tapped | 
GUI_T(kc) | 
LGUI_T(kc) | 
LGUI when held, kc when tapped | 
RGUI_T(kc) | 
RGUI when held, kc when tapped | 
|
C_S_T(kc) | 
LCTL + LSFT when held, kc when tapped | 
|
MEH_T(kc) | 
LCTL + LSFT + LALT when held, kc when tapped | 
|
LCAG_T(kc) | 
LCTL + LALT + LGUI when held, kc when tapped | 
|
RCAG_T(kc) | 
RCTL + RALT + RGUI when held, kc when tapped | 
|
ALL_T(kc) | 
LCTL + LSFT + LALT + LGUI when held, kc when tapped more info | 
|
SCMD_T(kc) | 
SWIN_T(kc) | 
LGUI + LSFT when held, kc when tapped | 
LCA_T(kc) | 
LCTL + LALT when held, kc when tapped | 
|
KC_TILD | 
KC_TILDE | 
tilde ~ | 
KC_EXLM | 
KC_EXCLAIM | 
exclamation mark ! | 
KC_AT | 
at sign @ | 
|
KC_HASH | 
hash sign # | 
|
KC_DLR | 
KC_DOLLAR | 
dollar sign $ | 
KC_PERC | 
KC_PERCENT | 
percent sign % | 
KC_CIRC | 
KC_CIRCUMFLEX | 
circumflex ^ | 
KC_AMPR | 
KC_AMPERSAND | 
ampersand & | 
KC_ASTR | 
KC_ASTERISK | 
asterisk * | 
KC_LPRN | 
KC_LEFT_PAREN | 
left parenthesis ( | 
KC_RPRN | 
KC_RIGHT_PAREN | 
right parenthesis ) | 
KC_UNDS | 
KC_UNDERSCORE | 
underscore _ | 
KC_PLUS | 
plus sign + | 
|
KC_LCBR | 
KC_LEFT_CURLY_BRACE | 
left curly brace { | 
KC_RCBR | 
KC_RIGHT_CURLY_BRACE | 
right curly brace } | 
KC_LT/KC_LABK | 
KC_LEFT_ANGLE_BRACKET | 
left angle bracket < | 
KC_GT/KC_RABK | 
KC_RIGHT_ANGLE_BRACKET | 
right angle bracket > | 
KC_COLN | 
KC_COLON | 
colon : | 
KC_PIPE | 
pipe | | 
|
KC_QUES | 
KC_QUESTION | 
question mark ? | 
KC_DQT/KC_DQUO | 
KC_DOUBLE_QUOTE | 
double quote " | 
LT(layer, kc) | 
turn on layer (0-15) when held, kc (basic keycodes) when tapped | |
TO(layer) | 
turn on layer when depressed | |
MO(layer) | 
momentarily turn on layer when depressed (requires KC_TRNS on destination layer) | 
|
DF(layer) | 
sets the base (default) layer | |
TG(layer) | 
toggle layer on/off | |
TT(layer) | 
tap toggle? idk FIXME` | |
OSM(mod) | 
hold mod for one keypress | |
OSL(layer) | 
switch to layer for one keypress | |
UNICODE(n) | 
UC(n) | 
if UNICODE_ENABLE, this will send characters up to 0x7FFF | 
X(n) | 
if UNICODEMAP_ENABLE, also sends unicode via a different method |