Keycodelist

目录

Keycodes 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. Each group of keys links to the page documenting their functionality in more detail.

See also: Basic Keycodes

KeyAliasesDescriptionWindowsmacOSLinux1
KC_NOXXXXXXXIgnore this key (NOOP)N/AN/AN/A
KC_TRANSPARENTKC_TRNS, _______Use the next lowest non-transparent keyN/AN/AN/A
KC_Aa and A
KC_Bb and B
KC_Cc and C
KC_Dd and D
KC_Ee and E
KC_Ff and F
KC_Gg and G
KC_Hh and H
KC_Ii and I
KC_Jj and J
KC_Kk and K
KC_Ll and L
KC_Mm and M
KC_Nn and N
KC_Oo and O
KC_Pp and P
KC_Qq and Q
KC_Rr and R
KC_Ss and S
KC_Tt and T
KC_Uu and U
KC_Vv and V
KC_Ww and W
KC_Xx and X
KC_Yy and Y
KC_Zz and Z
KC_11 and !
KC_22 and @
KC_33 and #
KC_44 and $
KC_55 and %
KC_66 and ^
KC_77 and &
KC_88 and *
KC_99 and (
KC_00 and )
KC_ENTERKC_ENTReturn (Enter)
KC_ESCAPEKC_ESCEscape
KC_BSPACEKC_BSPCDelete (Backspace)
KC_TABTab
KC_SPACEKC_SPCSpacebar
KC_MINUSKC_MINS- and _
KC_EQUALKC_EQL= and +
KC_LBRACKETKC_LBRC[ and {
KC_RBRACKETKC_RBRC] and }
KC_BSLASHKC_BSLS\ and |
KC_NONUS_HASHKC_NUHSNon-US # and ~
KC_SCOLONKC_SCLN; and :
KC_QUOTEKC_QUOT' and "
KC_GRAVEKC_GRV, KC_ZKHK``` and ~, JIS Zenkaku/Hankaku | ✔ | ✔ | ✔ |
KC_COMMAKC_COMM, and <
KC_DOT. and >
KC_SLASHKC_SLSH/ and ?
KC_CAPSLOCKKC_CLCK, KC_CAPSCaps Lock
KC_F1F1
KC_F2F2
KC_F3F3
KC_F4F4
KC_F5F5
KC_F6F6
KC_F7F7
KC_F8F8
KC_F9F9
KC_F10F10
KC_F11F11
KC_F12F12
KC_PSCREENKC_PSCRPrint Screen✔2
KC_SCROLLLOCKKC_SLCK, KC_BRMDScroll Lock, Brightness Down (macOS)✔2
KC_PAUSEKC_PAUS, KC_BRK, KC_BRMUPause, Brightness Up (macOS)✔2
KC_INSERTKC_INSInsert
KC_HOMEHome
KC_PGUPPage Up
KC_DELETEKC_DELForward Delete
KC_ENDEnd
KC_PGDOWNKC_PGDNPage Down
KC_RIGHTKC_RGHTRight Arrow
KC_LEFTLeft Arrow
KC_DOWNDown Arrow
KC_UPUp Arrow
KC_NUMLOCKKC_NLCKKeypad Num Lock and Clear
KC_KP_SLASHKC_PSLSKeypad /
KC_KP_ASTERISKKC_PASTKeypad *
KC_KP_MINUSKC_PMNSKeypad -
KC_KP_PLUSKC_PPLSKeypad +
KC_KP_ENTERKC_PENTKeypad Enter
KC_KP_1KC_P1Keypad 1 and End
KC_KP_2KC_P2Keypad 2 and Down Arrow
KC_KP_3KC_P3Keypad 3 and Page Down
KC_KP_4KC_P4Keypad 4 and Left Arrow
KC_KP_5KC_P5Keypad 5
KC_KP_6KC_P6Keypad 6 and Right Arrow
KC_KP_7KC_P7Keypad 7 and Home
KC_KP_8KC_P8Keypad 8 and Up Arrow
KC_KP_9KC_P9Keypad 9 and Page Up
KC_KP_0KC_P0Keypad 0 and Insert
KC_KP_DOTKC_PDOTKeypad . and Delete
KC_NONUS_BSLASHKC_NUBSNon-US \ and |
KC_APPLICATIONKC_APPApplication (Windows Context Menu Key)
KC_POWERSystem Power✔3
KC_KP_EQUALKC_PEQLKeypad =
KC_F13F13
KC_F14F14
KC_F15F15
KC_F16F16
KC_F17F17
KC_F18F18
KC_F19F19
KC_F20F20
KC_F21F21
KC_F22F22
KC_F23F23
KC_F24F24
KC_EXECUTEKC_EXECExecute
KC_HELPHelp
KC_MENUMenu
KC_SELECTKC_SLCTSelect
KC_STOPStop
KC_AGAINKC_AGINAgain
KC_UNDOUndo
KC_CUTCut
KC_COPYCopy
KC_PASTEKC_PSTEPaste
KC_FINDFind
KC__MUTEMute
KC__VOLUPVolume Up
KC__VOLDOWNVolume Down
KC_LOCKING_CAPSKC_LCAPLocking Caps Lock
KC_LOCKING_NUMKC_LNUMLocking Num Lock
KC_LOCKING_SCROLLKC_LSCRLocking Scroll Lock
KC_KP_COMMAKC_PCMMKeypad ,
KC_KP_EQUAL_AS400Keypad = on AS/400 keyboards
KC_INT1KC_ROJIS \ and _
KC_INT2KC_KANAJIS Katakana/Hiragana
KC_INT3KC_JYENJIS ¥ and |
KC_INT4KC_HENKJIS Henkan
KC_INT5KC_MHENJIS Muhenkan
KC_INT6JIS Numpad ,
KC_INT7International 7
KC_INT8International 8
KC_INT9International 9
KC_LANG1KC_HAENHangul/English
KC_LANG2KC_HANJHanja
KC_LANG3JIS Katakana
KC_LANG4JIS Hiragana
KC_LANG5JIS Zenkaku/Hankaku
KC_LANG6Language 6
KC_LANG7Language 7
KC_LANG8Language 8
KC_LANG9Language 9
KC_ALT_ERASEKC_ERASAlternate Erase
KC_SYSREQSysReq/Attention
KC_CANCELCancel
KC_CLEARKC_CLRClear
KC_PRIORPrior
KC_RETURNReturn
KC_SEPARATORSeparator
KC_OUTOut
KC_OPEROper
KC_CLEAR_AGAINClear/Again
KC_CRSELCrSel/Props
KC_EXSELExSel
KC_LCTRLKC_LCTLLeft Control
KC_LSHIFTKC_LSFTLeft Shift
KC_LALTKC_LOPTLeft Alt (Option)
KC_LGUIKC_LCMD, KC_LWINLeft GUI (Windows/Command/Meta key)
KC_RCTRLKC_RCTLRight Control
KC_RSHIFTKC_RSFTRight Shift
KC_RALTKC_ROPT, KC_ALGRRight Alt (Option/AltGr)
KC_RGUIKC_RCMD, KC_RWINRight GUI (Windows/Command/Meta key)
KC_SYSTEM_POWERKC_PWRSystem Power Down✔3
KC_SYSTEM_SLEEPKC_SLEPSystem Sleep✔3
KC_SYSTEM_WAKEKC_WAKESystem Wake✔3
KC_AUDIO_MUTEKC_MUTEMute
KC_AUDIO_VOL_UPKC_VOLUVolume Up✔4
KC_AUDIO_VOL_DOWNKC_VOLDVolume Down✔4
KC_MEDIA_NEXT_TRACKKC_MNXTNext Track✔5
KC_MEDIA_PREV_TRACKKC_MPRVPrevious Track✔5
KC_MEDIA_STOPKC_MSTPStop Track
KC_MEDIA_PLAY_PAUSEKC_MPLYPlay/Pause Track
KC_MEDIA_SELECTKC_MSELLaunch Media Player
KC_MEDIA_EJECTKC_EJCTEject
KC_MAILLaunch Mail
KC_CALCULATORKC_CALCLaunch Calculator
KC_MY_COMPUTERKC_MYCMLaunch My Computer
KC_WWW_SEARCHKC_WSCHBrowser Search
KC_WWW_HOMEKC_WHOMBrowser Home
KC_WWW_BACKKC_WBAKBrowser Back
KC_WWW_FORWARDKC_WFWDBrowser Forward
KC_WWW_STOPKC_WSTPBrowser Stop
KC_WWW_REFRESHKC_WREFBrowser Refresh
KC_WWW_FAVORITESKC_WFAVBrowser Favorites
KC_MEDIA_FAST_FORWARDKC_MFFDNext Track✔5
KC_MEDIA_REWINDKC_MRWDPrevious Track✔6✔5
KC_BRIGHTNESS_UPKC_BRIUBrightness Up
KC_BRIGHTNESS_DOWNKC_BRIDBrightness Down

\1. The Linux kernel HID driver recognizes nearly all keycodes, but the default bindings depend on the DE/WM. \2. Treated as F13-F15. \3. Must be held for about three seconds, and will display a prompt instead. \4. Holding Shift+Option allows for finer control of volume level. \5. Skips the entire track in iTunes when tapped, seeks within the current track when held. \6. WMP does not recognize the Rewind key, but both alter playback speed in VLC.

See also: Quantum Keycodes

KeyAliasesDescription
RESETPut the keyboard into bootloader mode for flashing
DEBUGToggle debug mode
EEPROM_RESETEEP_RSTReinitializes the keyboard’s EEPROM (persistent memory)

See also: Audio

KeyAliasesDescription
AU_ONTurns on Audio Feature
AU_OFFTurns off Audio Feature
AU_TOGToggles Audio state
CLICKY_TOGGLECK_TOGGToggles Audio clicky mode
CLICKY_UPCK_UPIncreases frequency of the clicks
CLICKY_DOWNCK_DOWNDecreases frequency of the clicks
CLICKY_RESETCK_RSTResets frequency to default
MU_ONTurns on Music Mode
MU_OFFTurns off Music Mode
MU_TOGToggles Music Mode
MU_MODCycles through the music modes

See also: Backlighting

KeyDescription
BL_TOGGTurn the backlight on or off
BL_STEPCycle through backlight levels
BL_ONSet the backlight to max brightness
BL_OFFTurn the backlight off
BL_INCIncrease the backlight level
BL_DECDecrease the backlight level
BL_BRTGToggle backlight breathing

See also: Bootmagic

KeyAliasesDescription
MAGIC_SWAP_CONTROL_CAPSLOCKCL_SWAPSwap Caps Lock and Left Control
MAGIC_UNSWAP_CONTROL_CAPSLOCKCL_NORMUnswap Caps Lock and Left Control
MAGIC_CAPSLOCK_TO_CONTROLCL_CTRLTreat Caps Lock as Control
MAGIC_UNCAPSLOCK_TO_CONTROLCL_CAPSStop treating Caps Lock as Control
MAGIC_SWAP_LCTL_LGUILCG_SWPSwap Left Control and GUI
MAGIC_UNSWAP_LCTL_LGUILCG_NRMUnswap Left Control and GUI
MAGIC_SWAP_RCTL_RGUIRCG_SWPSwap Right Control and GUI
MAGIC_UNSWAP_RCTL_RGUIRCG_NRMUnswap Right Control and GUI
MAGIC_SWAP_CTL_GUICG_SWAPSwap Control and GUI on both sides
MAGIC_UNSWAP_CTL_GUICG_NORMUnswap Control and GUI on both sides
MAGIC_TOGGLE_CTL_GUICG_TOGGToggle Control and GUI swap on both sides
MAGIC_SWAP_LALT_LGUILAG_SWPSwap Left Alt and GUI
MAGIC_UNSWAP_LALT_LGUILAG_NRMUnswap Left Alt and GUI
MAGIC_SWAP_RALT_RGUIRAG_SWPSwap Right Alt and GUI
MAGIC_UNSWAP_RALT_RGUIRAG_NRMUnswap Right Alt and GUI
MAGIC_SWAP_ALT_GUIAG_SWAPSwap Alt and GUI on both sides
MAGIC_UNSWAP_ALT_GUIAG_NORMUnswap Alt and GUI on both sides
MAGIC_TOGGLE_ALT_GUIAG_TOGGToggle Alt and GUI swap on both sides
MAGIC_NO_GUIGUI_OFFDisable the GUI keys
MAGIC_UNNO_GUIGUI_ONEnable the GUI keys
MAGIC_SWAP_GRAVE_ESCGE_SWAPSwap ``` and Escape |
MAGIC_UNSWAP_GRAVE_ESCGE_NORMUnswap ``` and Escape |
MAGIC_SWAP_BACKSLASH_BACKSPACEBS_SWAPSwap \ and Backspace
MAGIC_UNSWAP_BACKSLASH_BACKSPACEBS_NORMUnswap \ and Backspace
MAGIC_HOST_NKRONK_ONEnable N-key rollover
MAGIC_UNHOST_NKRONK_OFFDisable N-key rollover
MAGIC_TOGGLE_NKRONK_TOGGToggle N-key rollover
MAGIC_EE_HANDS_LEFTEH_LEFTSet the master half of a split keyboard as the left hand (for EE_HANDS)
MAGIC_EE_HANDS_RIGHTEH_RGHTSet the master half of a split keyboard as the right hand (for EE_HANDS)

See also: Bluetooth

KeyDescription
OUT_AUTOAutomatically switch between USB and Bluetooth
OUT_USBUSB only
OUT_BTBluetooth only

See also: Dynamic Macros

KeyAliasesDescription
DYN_REC_START1DM_REC1Start recording Macro 1
DYN_REC_START2DM_REC2Start recording Macro 2
DYN_MACRO_PLAY1DM_PLY1Replay Macro 1
DYN_MACRO_PLAY2DM_PLY2Replay Macro 2
DYN_REC_STOPDM_RSTPFinish the macro that is currently being recorded.

See also: Grave Escape

KeyAliasesDescription
GRAVE_ESCKC_GESCEscape when pressed, ``` when Shift or GUI are held |

See also: Key Lock

KeyDescription
KC_LOCKHold down the next key pressed, until the key is pressed again

See also: Layer Switching

KeyDescription
DF(layer)Set the base (default) layer
MO(layer)Momentarily turn on layer when pressed (requires KC_TRNS on destination layer)
OSL(layer)Momentarily activates layer until a key is pressed. See One Shot Keys for details.
LM(layer, mod)Momentarily turn on layer (like MO) with mod active as well. Where mod is a mods_bit. Mods can be viewed here. Example Implementation: LM(LAYER_1, MOD_LALT)
LT(layer, kc)Turn on layer when held, kc when tapped
TG(layer)Toggle layer on or off
TO(layer)Turns on layer and turns off all other layers, except the default layer
TT(layer)Normally acts like MO unless it’s tapped multiple times, which toggles layer on

See also: Leader Key

KeyDescription
KC_LEADBegins a leader sequence

See also: Mouse Keys

KeyAliasesDescription
KC_MS_UPKC_MS_UMouse Cursor Up
KC_MS_DOWNKC_MS_DMouse Cursor Down
KC_MS_LEFTKC_MS_LMouse Cursor Left
KC_MS_RIGHTKC_MS_RMouse Cursor Right
KC_MS_BTN1KC_BTN1Mouse Button 1
KC_MS_BTN2KC_BTN2Mouse Button 2
KC_MS_BTN3KC_BTN3Mouse Button 3
KC_MS_BTN4KC_BTN4Mouse Button 4
KC_MS_BTN5KC_BTN5Mouse Button 5
KC_MS_WH_UPKC_WH_UMouse Wheel Up
KC_MS_WH_DOWNKC_WH_DMouse Wheel Down
KC_MS_WH_LEFTKC_WH_LMouse Wheel Left
KC_MS_WH_RIGHTKC_WH_RMouse Wheel Right
KC_MS_ACCEL0KC_ACL0Set mouse acceleration to 0
KC_MS_ACCEL1KC_ACL1Set mouse acceleration to 1
KC_MS_ACCEL2KC_ACL2Set mouse acceleration to 2

See also: Modifier Keys

KeyAliasesDescription
LCTL(kc)C(kc)Hold Left Control and press kc
LSFT(kc)S(kc)Hold Left Shift and press kc
LALT(kc)A(kc), LOPT(kc)Hold Left Alt and press kc
LGUI(kc)G(kc), LCMD(kc), LWIN(kc)Hold Left GUI and press kc
RCTL(kc)Hold Right Control and press kc
RSFT(kc)Hold Right Shift and press kc
RALT(kc)ROPT(kc), ALGR(kc)Hold Right Alt (AltGr) and press kc
RGUI(kc)RCMD(kc), LWIN(kc)Hold Right GUI and press kc
SGUI(kc)SCMD(kc), SWIN(kc)Hold Left Shift and GUI and press kc
LCA(kc)Hold Left Control and Alt and press kc
LSA(kc)Hold Left Shift and Left Alt and press kc
RSA(kc)SAGR(kc)Hold Right Shift and Right Alt (AltGr) and press kc
RCS(kc)Hold Right Control and Right Shift and press kc
LCAG(kc)Hold Left Control, Alt and GUI and press kc
MEH(kc)Hold Left Control, Shift and Alt and press kc
HYPR(kc)Hold Left Control, Shift, Alt and GUI and press kc
KC_MEHLeft Control, Shift and Alt
KC_HYPRLeft Control, Shift, Alt and GUI

See also: Mod-Tap

KeyAliasesDescription
MT(mod, kc)mod when held, kc when tapped
LCTL_T(kc)CTL_T(kc)Left Control when held, kc when tapped
LSFT_T(kc)SFT_T(kc)Left Shift when held, kc when tapped
LALT_T(kc)LOPT_T(kc), ALT_T(kc), OPT_T(kc)Left Alt when held, kc when tapped
LGUI_T(kc)LCMD_T(kc), LWIN_T(kc), GUI_T(kc), CMD_T(kc), WIN_T(kc)Left GUI when held, kc when tapped
RCTL_T(kc)Right Control when held, kc when tapped
RSFT_T(kc)Right Shift when held, kc when tapped
RALT_T(kc)ROPT_T(kc), ALGR_T(kc)Right Alt (AltGr) when held, kc when tapped
RGUI_T(kc)RCMD_T(kc), RWIN_T(kc)Right GUI when held, kc when tapped
SGUI_T(kc)SCMD_T(kc), SWIN_T(kc)Left Shift and GUI when held, kc when tapped
LCA_T(kc)Left Control and Alt when held, kc when tapped
LSA_T(kc)Left Shift and Left Alt when held, kc when tapped
RSA_T(kc)SAGR_T(kc)Right Shift and Right Alt (AltGr) when held, kc when tapped
RCS_T(kc)Right Control and Right Shift when held, kc when tapped
LCAG_T(kc)Left Control, Alt and GUI when held, kc when tapped
RCAG_T(kc)Right Control, Alt and GUI when held, kc when tapped
C_S_T(kc)Left Control and Shift when held, kc when tapped
MEH_T(kc)Left Control, Shift and Alt when held, kc when tapped
HYPR_T(kc)ALL_T(kc)Left Control, Shift, Alt and GUI when held, kc when tapped - more info here

See also: RGB Lighting

KeyAliasesDescription
RGB_TOGToggle RGB lighting on or off
RGB_MODE_FORWARDRGB_MODCycle through modes, reverse direction when Shift is held
RGB_MODE_REVERSERGB_RMODCycle through modes in reverse, forward direction when Shift is held
RGB_HUIIncrease hue, decrease hue when Shift is held
RGB_HUDDecrease hue, increase hue when Shift is held
RGB_SAIIncrease saturation, decrease saturation when Shift is held
RGB_SADDecrease saturation, increase saturation when Shift is held
RGB_VAIIncrease value (brightness), decrease value when Shift is held
RGB_VADDecrease value (brightness), increase value when Shift is held
RGB_MODE_PLAINRGB_M_PStatic (no animation) mode
RGB_MODE_BREATHERGB_M_BBreathing animation mode
RGB_MODE_RAINBOWRGB_M_RRainbow animation mode
RGB_MODE_SWIRLRGB_M_SWSwirl animation mode
RGB_MODE_SNAKERGB_M_SNSnake animation mode
RGB_MODE_KNIGHTRGB_M_K“Knight Rider” animation mode
RGB_MODE_XMASRGB_M_XChristmas animation mode
RGB_MODE_GRADIENTRGB_M_GStatic gradient animation mode
RGB_MODE_RGBTESTRGB_M_TRed,Green,Blue test animation mode

See also: RGB Matrix Lighting

KeyAliasesDescription
RGB_TOGToggle RGB lighting on or off
RGB_MODE_FORWARDRGB_MODCycle through modes, reverse direction when Shift is held
RGB_MODE_REVERSERGB_RMODCycle through modes in reverse, forward direction when Shift is held
RGB_HUIIncrease hue, decrease hue when Shift is held
RGB_HUDDecrease hue, increase hue when Shift is held
RGB_SAIIncrease saturation, decrease saturation when Shift is held
RGB_SADDecrease saturation, increase saturation when Shift is held
RGB_VAIIncrease value (brightness), decrease value when Shift is held
RGB_VADDecrease value (brightness), increase value when Shift is held
RGB_SPIIncrease effect speed (does not support eeprom yet), decrease speed when Shift is held
RGB_SPDDecrease effect speed (does not support eeprom yet), increase speed when Shift is held

See also: Thermal Printer

KeyDescription
PRINT_ONStart printing everything the user types
PRINT_OFFStop printing everything the user types

See also: US ANSI Shifted Symbols

KeyAliasesDescription
KC_TILDEKC_TILD~
KC_EXCLAIMKC_EXLM!
KC_AT@
KC_HASH#
KC_DOLLARKC_DLR$
KC_PERCENTKC_PERC%
KC_CIRCUMFLEXKC_CIRC^
KC_AMPERSANDKC_AMPR&
KC_ASTERISKKC_ASTR*
KC_LEFT_PARENKC_LPRN(
KC_RIGHT_PARENKC_RPRN)
KC_UNDERSCOREKC_UNDS_
KC_PLUS+
KC_LEFT_CURLY_BRACEKC_LCBR{
KC_RIGHT_CURLY_BRACEKC_RCBR}
KC_PIPE|
KC_COLONKC_COLN:
KC_DOUBLE_QUOTEKC_DQUO, KC_DQT"
KC_LEFT_ANGLE_BRACKETKC_LABK, KC_LT<
KC_RIGHT_ANGLE_BRACKETKC_RABK, KC_GT>
KC_QUESTIONKC_QUES?

See also: One Shot Keys

KeyDescription
OSM(mod)Hold mod for one keypress
OSL(layer)Switch to layer for one keypress

See also: Space Cadet

KeyDescription
KC_LCPOLeft Control when held, ( when tapped
KC_RCPCRight Control when held, ) when tapped
KC_LSPOLeft Shift when held, ( when tapped
KC_RSPCRight Shift when held, ) when tapped
KC_LAPOLeft Alt when held, ( when tapped
KC_RAPCRight Alt when held, ) when tapped
KC_SFTENTRight Shift when held, Enter when tapped

See also: Swap Hands

KeyDescription
SH_T(key)Sends key with a tap; momentary swap when held.
SW_ONTurns on swapping and leaves it on.
SW_OFFTurn off swapping and leaves it off. Good for returning to a known state.
SH_MONSwaps hands when pressed, returns to normal when released (momentary).
SH_MOFFMomentarily turns off swap.
SH_TGToggles swap on and off with every key press.
SH_TTToggles with a tap; momentary when held.
SH_OSOne shot swap hands: toggle while pressed or until next key press.

See also: Unicode Support

KeyAliasesDescription
UC(c)Send Unicode code point c
X(i)Send Unicode code point at index i in unicode_map
XP(i, j)Send Unicode code point at index i, or j if Shift/Caps is on
UNICODE_MODE_FORWARDUC_MODCycle through selected input modes
UNICODE_MODE_REVERSEUC_RMODCycle through selected input modes in reverse
UNICODE_MODE_MACUC_M_MASwitch to macOS input
UNICODE_MODE_LNXUC_M_LNSwitch to Linux input
UNICODE_MODE_WINUC_M_WISwitch to Windows input
UNICODE_MODE_BSDUC_M_BSSwitch to BSD input (not implemented)
UNICODE_MODE_WINCUC_M_WCSwitch to Windows input using WinCompose