Skip to content

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.

Basic Keycodes

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_BACKSPACEKC_BSPCDelete (Backspace)
KC_TABTab
KC_SPACEKC_SPCSpacebar
KC_MINUSKC_MINS- and _
KC_EQUALKC_EQL= and +
KC_LEFT_BRACKETKC_LBRC[ and {
KC_RIGHT_BRACKETKC_RBRC] and }
KC_BACKSLASHKC_BSLS\ and |
KC_NONUS_HASHKC_NUHSNon-US # and ~
KC_SEMICOLONKC_SCLN; and :
KC_QUOTEKC_QUOT' and "
KC_GRAVEKC_GRV` and ~
KC_COMMAKC_COMM, and <
KC_DOT. and >
KC_SLASHKC_SLSH/ and ?
KC_CAPS_LOCKKC_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_PRINT_SCREENKC_PSCRPrint Screen2
KC_SCROLL_LOCKKC_SCRL, KC_BRMDScroll Lock, Brightness Down (macOS)2
KC_PAUSEKC_PAUS, KC_BRK, KC_BRMUPause, Brightness Up (macOS)2
KC_INSERTKC_INSInsert
KC_HOMEHome
KC_PAGE_UPKC_PGUPPage Up
KC_DELETEKC_DELForward Delete
KC_ENDEnd
KC_PAGE_DOWNKC_PGDNPage Down
KC_RIGHTKC_RGHTRight Arrow
KC_LEFTLeft Arrow
KC_DOWNDown Arrow
KC_UPUp Arrow
KC_NUM_LOCKKC_NUMKeypad 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_BACKSLASHKC_NUBSNon-US \ and |
KC_APPLICATIONKC_APPApplication (Windows Context Menu Key)
KC_KB_POWERSystem Power3
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_KB_MUTEMute
KC_KB_VOLUME_UPVolume Up
KC_KB_VOLUME_DOWNVolume Down
KC_LOCKING_CAPS_LOCKKC_LCAPLocking Caps Lock
KC_LOCKING_NUM_LOCKKC_LNUMLocking Num Lock
KC_LOCKING_SCROLL_LOCKKC_LSCRLocking Scroll Lock
KC_KP_COMMAKC_PCMMKeypad ,
KC_KP_EQUAL_AS400Keypad = on AS/400 keyboards
KC_INTERNATIONAL_1KC_INT1International 1
KC_INTERNATIONAL_2KC_INT2International 2
KC_INTERNATIONAL_3KC_INT3International 3
KC_INTERNATIONAL_4KC_INT4International 4
KC_INTERNATIONAL_5KC_INT5International 5
KC_INTERNATIONAL_6KC_INT6International 6
KC_INTERNATIONAL_7KC_INT7International 7
KC_INTERNATIONAL_8KC_INT8International 8
KC_INTERNATIONAL_9KC_INT9International 9
KC_LANGUAGE_1KC_LNG1Language 1
KC_LANGUAGE_2KC_LNG2Language 2
KC_LANGUAGE_3KC_LNG3Language 3
KC_LANGUAGE_4KC_LNG4Language 4
KC_LANGUAGE_5KC_LNG5Language 5
KC_LANGUAGE_6KC_LNG6Language 6
KC_LANGUAGE_7KC_LNG7Language 7
KC_LANGUAGE_8KC_LNG8Language 8
KC_LANGUAGE_9KC_LNG9Language 9
KC_ALTERNATE_ERASEKC_ERASAlternate Erase
KC_SYSTEM_REQUESTKC_SYRQSysReq/Attention
KC_CANCELKC_CNCLCancel
KC_CLEARKC_CLRClear
KC_PRIORKC_PRIRPrior
KC_RETURNKC_RETNReturn
KC_SEPARATORKC_SEPRSeparator
KC_OUTOut
KC_OPEROper
KC_CLEAR_AGAINKC_CLAGClear/Again
KC_CRSELKC_CRSLCrSel/Props
KC_EXSELKC_EXSLExSel
KC_LEFT_CTRLKC_LCTLLeft Control
KC_LEFT_SHIFTKC_LSFTLeft Shift
KC_LEFT_ALTKC_LALT, KC_LOPTLeft Alt (Option)
KC_LEFT_GUIKC_LGUI, KC_LCMD, KC_LWINLeft GUI (Windows/Command/Meta key)
KC_RIGHT_CTRLKC_RCTLRight Control
KC_RIGHT_SHIFTKC_RSFTRight Shift
KC_RIGHT_ALTKC_RALT, KC_ROPT, KC_ALGRRight Alt (Option/AltGr)
KC_RIGHT_GUIKC_RGUI, KC_RCMD, KC_RWINRight GUI (Windows/Command/Meta key)
KC_SYSTEM_POWERKC_PWRSystem Power Down3
KC_SYSTEM_SLEEPKC_SLEPSystem Sleep3
KC_SYSTEM_WAKEKC_WAKESystem Wake3
KC_AUDIO_MUTEKC_MUTEMute
KC_AUDIO_VOL_UPKC_VOLUVolume Up4
KC_AUDIO_VOL_DOWNKC_VOLDVolume Down4
KC_MEDIA_NEXT_TRACKKC_MNXTNext Track5
KC_MEDIA_PREV_TRACKKC_MPRVPrevious Track5
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 Track5
KC_MEDIA_REWINDKC_MRWDPrevious Track65
KC_BRIGHTNESS_UPKC_BRIUBrightness Up
KC_BRIGHTNESS_DOWNKC_BRIDBrightness Down
KC_CONTROL_PANELKC_CPNLOpen Control Panel
KC_ASSISTANTKC_ASSTLaunch Context-Aware Assistant
KC_MISSION_CONTROLKC_MCTLOpen Mission Control
KC_LAUNCHPADKC_LPADOpen Launchpad

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.

Quantum Keycodes

See also: Quantum Keycodes

KeyAliasesDescription
QK_BOOTLOADERQK_BOOTPut the keyboard into bootloader mode for flashing
QK_DEBUG_TOGGLEDB_TOGGToggle debug mode
QK_CLEAR_EEPROMEE_CLRReinitializes the keyboard's EEPROM (persistent memory)
QK_MAKESends qmk compile -kb (keyboard) -km (keymap), or qmk flash if shift is held. Puts keyboard into bootloader mode if shift & control are held
QK_REBOOTQK_RBTResets the keyboard. Does not load the bootloader

Audio Keys

See also: Audio

KeyAliasesDescription
QK_AUDIO_ONAU_ONTurns on Audio Feature
QK_AUDIO_OFFAU_OFFTurns off Audio Feature
QK_AUDIO_TOGGLEAU_TOGGToggles Audio state
QK_AUDIO_CLICKY_TOGGLECK_TOGGToggles Audio clicky mode
QK_AUDIO_CLICKY_ONCK_ONTurns on Audio clicky mode
QK_AUDIO_CLICKY_OFFCK_OFFTurns on Audio clicky mode
QK_AUDIO_CLICKY_UPCK_UPIncreases frequency of the clicks
QK_AUDIO_CLICKY_DOWNCK_DOWNDecreases frequency of the clicks
QK_AUDIO_CLICKY_RESETCK_RSTResets frequency to default
QK_MUSIC_ONMU_ONTurns on Music Mode
QK_MUSIC_OFFMU_OFFTurns off Music Mode
QK_MUSIC_TOGGLEMU_TOGGToggles Music Mode
QK_MUSIC_MODE_NEXTMU_NEXTCycles through the music modes
QK_AUDIO_VOICE_NEXTAU_NEXTCycles through the audio voices
QK_AUDIO_VOICE_PREVIOUSAU_PREVCycles through the audio voices in reverse

Auto Shift

See also: Auto Shift

KeyAliasesDescription
QK_AUTO_SHIFT_DOWNAS_DOWNLower the Auto Shift timeout variable (down)
QK_AUTO_SHIFT_UPAS_UPRaise the Auto Shift timeout variable (up)
QK_AUTO_SHIFT_REPORTAS_RPTReport your current Auto Shift timeout value
QK_AUTO_SHIFT_ONAS_ONTurns on the Auto Shift Function
QK_AUTO_SHIFT_OFFAS_OFFTurns off the Auto Shift Function
QK_AUTO_SHIFT_TOGGLEAS_TOGGToggles the state of the Auto Shift feature

Autocorrect

See also: Autocorrect

KeyAliasesDescription
QK_AUTOCORRECT_ONAC_ONTurns on the Autocorrect feature.
QK_AUTOCORRECT_OFFAC_OFFTurns off the Autocorrect feature.
QK_AUTOCORRECT_TOGGLEAC_TOGGToggles the status of the Autocorrect feature.

Backlighting

See also: Backlighting

KeyAliasesDescription
QK_BACKLIGHT_TOGGLEBL_TOGGTurn the backlight on or off
QK_BACKLIGHT_STEPBL_STEPCycle through backlight levels
QK_BACKLIGHT_ONBL_ONSet the backlight to max brightness
QK_BACKLIGHT_OFFBL_OFFTurn the backlight off
QK_BACKLIGHT_UPBL_UPIncrease the backlight level
QK_BACKLIGHT_DOWNBL_DOWNDecrease the backlight level
QK_BACKLIGHT_TOGGLE_BREATHINGBL_BRTGToggle backlight breathing

Bluetooth

See also: Bluetooth

KeyAliasesDescription
QK_OUTPUT_AUTOOU_AUTOAutomatically switch between USB and Bluetooth
QK_OUTPUT_USBOU_USBUSB only
QK_OUTPUT_BLUETOOTHOU_BTBluetooth only

Caps Word

See also: Caps Word

KeyAliasesDescription
QK_CAPS_WORD_TOGGLECW_TOGGToggles Caps Word

Dynamic Macros

See also: Dynamic Macros

KeyAliasesDescription
QK_DYNAMIC_MACRO_RECORD_START_1DM_REC1Start recording Macro 1
QK_DYNAMIC_MACRO_RECORD_START_2DM_REC2Start recording Macro 2
QK_DYNAMIC_MACRO_PLAY_1DM_PLY1Replay Macro 1
QK_DYNAMIC_MACRO_PLAY_2DM_PLY2Replay Macro 2
QK_DYNAMIC_MACRO_RECORD_STOPDM_RSTPFinish the macro that is currently being recorded.

Grave Escape

See also: Grave Escape

KeyAliasesDescription
QK_GRAVE_ESCAPEQK_GESCEscape when pressed, ` when Shift or GUI are held

Joystick

See also: Joystick

KeyAliasesDescription
QK_JOYSTICK_BUTTON_0JS_0Button 0
QK_JOYSTICK_BUTTON_1JS_1Button 1
QK_JOYSTICK_BUTTON_2JS_2Button 2
QK_JOYSTICK_BUTTON_3JS_3Button 3
QK_JOYSTICK_BUTTON_4JS_4Button 4
QK_JOYSTICK_BUTTON_5JS_5Button 5
QK_JOYSTICK_BUTTON_6JS_6Button 6
QK_JOYSTICK_BUTTON_7JS_7Button 7
QK_JOYSTICK_BUTTON_8JS_8Button 8
QK_JOYSTICK_BUTTON_9JS_9Button 9
QK_JOYSTICK_BUTTON_10JS_10Button 10
QK_JOYSTICK_BUTTON_11JS_11Button 11
QK_JOYSTICK_BUTTON_12JS_12Button 12
QK_JOYSTICK_BUTTON_13JS_13Button 13
QK_JOYSTICK_BUTTON_14JS_14Button 14
QK_JOYSTICK_BUTTON_15JS_15Button 15
QK_JOYSTICK_BUTTON_16JS_16Button 16
QK_JOYSTICK_BUTTON_17JS_17Button 17
QK_JOYSTICK_BUTTON_18JS_18Button 18
QK_JOYSTICK_BUTTON_19JS_19Button 19
QK_JOYSTICK_BUTTON_20JS_20Button 20
QK_JOYSTICK_BUTTON_21JS_21Button 21
QK_JOYSTICK_BUTTON_22JS_22Button 22
QK_JOYSTICK_BUTTON_23JS_23Button 23
QK_JOYSTICK_BUTTON_24JS_24Button 24
QK_JOYSTICK_BUTTON_25JS_25Button 25
QK_JOYSTICK_BUTTON_26JS_26Button 26
QK_JOYSTICK_BUTTON_27JS_27Button 27
QK_JOYSTICK_BUTTON_28JS_28Button 28
QK_JOYSTICK_BUTTON_29JS_29Button 29
QK_JOYSTICK_BUTTON_30JS_30Button 30
QK_JOYSTICK_BUTTON_31JS_31Button 31

Key Lock

See also: Key Lock

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

Layer Switching

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

Leader Key

See also: Leader Key

KeyDescription
QK_LEADBegins a leader sequence

LED Matrix

See also: LED Matrix

KeyAliasesDescription
QK_LED_MATRIX_ONLM_ONTurn on LED Matrix
QK_LED_MATRIX_OFFLM_OFFTurn off LED Matrix
QK_LED_MATRIX_TOGGLELM_TOGGToggle LED Matrix on or off
QK_LED_MATRIX_MODE_NEXTLM_NEXTCycle through animations
QK_LED_MATRIX_MODE_PREVIOUSLM_PREVCycle through animations in reverse
QK_LED_MATRIX_BRIGHTNESS_UPLM_BRIUIncrease the brightness level
QK_LED_MATRIX_BRIGHTNESS_DOWNLM_BRIDDecrease the brightness level
QK_LED_MATRIX_SPEED_UPLM_SPDUIncrease the animation speed
QK_LED_MATRIX_SPEED_DOWNLM_SPDDDecrease the animation speed

Magic Keycodes

See also: Magic Keycodes

KeyAliasesDescription
QK_MAGIC_SWAP_CONTROL_CAPS_LOCKCL_SWAPSwap Caps Lock and Left Control
QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCKCL_NORMUnswap Caps Lock and Left Control
QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCKCL_TOGGToggle Caps Lock and Left Control swap
QK_MAGIC_CAPS_LOCK_AS_CONTROL_ONCL_CTRLTreat Caps Lock as Control
QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFFCL_CAPSStop treating Caps Lock as Control
QK_MAGIC_SWAP_ESCAPE_CAPS_LOCKEC_SWAPSwap Caps Lock and Escape
QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCKEC_NORMUnswap Caps Lock and Escape
QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCKEC_TOGGToggle Caps Lock and Escape swap
QK_MAGIC_SWAP_LCTL_LGUICG_LSWPSwap Left Control and GUI
QK_MAGIC_UNSWAP_LCTL_LGUICG_LNRMUnswap Left Control and GUI
QK_MAGIC_SWAP_RCTL_RGUICG_RSWPSwap Right Control and GUI
QK_MAGIC_UNSWAP_RCTL_RGUICG_RNRMUnswap Right Control and GUI
QK_MAGIC_SWAP_CTL_GUICG_SWAPSwap Control and GUI on both sides
QK_MAGIC_UNSWAP_CTL_GUICG_NORMUnswap Control and GUI on both sides
QK_MAGIC_TOGGLE_CTL_GUICG_TOGGToggle Control and GUI swap on both sides
QK_MAGIC_SWAP_LALT_LGUIAG_LSWPSwap Left Alt and GUI
QK_MAGIC_UNSWAP_LALT_LGUIAG_LNRMUnswap Left Alt and GUI
QK_MAGIC_SWAP_RALT_RGUIAG_RSWPSwap Right Alt and GUI
QK_MAGIC_UNSWAP_RALT_RGUIAG_RNRMUnswap Right Alt and GUI
QK_MAGIC_SWAP_ALT_GUIAG_SWAPSwap Alt and GUI on both sides
QK_MAGIC_UNSWAP_ALT_GUIAG_NORMUnswap Alt and GUI on both sides
QK_MAGIC_TOGGLE_ALT_GUIAG_TOGGToggle Alt and GUI swap on both sides
QK_MAGIC_GUI_OFFGU_OFFDisable the GUI keys
QK_MAGIC_GUI_ONGU_ONEnable the GUI keys
QK_MAGIC_TOGGLE_GUIGU_TOGGToggles the status of the GUI keys
QK_MAGIC_SWAP_GRAVE_ESCGE_SWAPSwap ` and Escape
QK_MAGIC_UNSWAP_GRAVE_ESCGE_NORMUnswap ` and Escape
QK_MAGIC_SWAP_BACKSLASH_BACKSPACEBS_SWAPSwap \ and Backspace
QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACEBS_NORMUnswap \ and Backspace
QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACEBS_TOGGToggle \ and Backspace swap state
QK_MAGIC_NKRO_ONNK_ONEnable N-key rollover
QK_MAGIC_NKRO_OFFNK_OFFDisable N-key rollover
QK_MAGIC_TOGGLE_NKRONK_TOGGToggle N-key rollover
QK_MAGIC_EE_HANDS_LEFTEH_LEFTSet the master half of a split keyboard as the left hand (for EE_HANDS)
QK_MAGIC_EE_HANDS_RIGHTEH_RGHTSet the master half of a split keyboard as the right hand (for EE_HANDS)

MIDI

See also: MIDI

KeyAliasesDescription
QK_MIDI_ONMI_ONTurn MIDI on
QK_MIDI_OFFMI_OFFTurn MIDI off
QK_MIDI_TOGGLEMI_TOGGToggle MIDI enabled
QK_MIDI_NOTE_C_0MI_CC octave 0
QK_MIDI_NOTE_C_SHARP_0MI_Cs, MI_DbC♯/D♭ octave 0
QK_MIDI_NOTE_D_0MI_DD octave 0
QK_MIDI_NOTE_D_SHARP_0MI_Ds, MI_EbD♯/E♭ octave 0
QK_MIDI_NOTE_E_0MI_EE octave 0
QK_MIDI_NOTE_F_0MI_FF octave 0
QK_MIDI_NOTE_F_SHARP_0MI_Fs, MI_GbF♯/G♭ octave 0
QK_MIDI_NOTE_G_0MI_GG octave 0
QK_MIDI_NOTE_G_SHARP_0MI_Gs, MI_AbG♯/A♭ octave 0
QK_MIDI_NOTE_A_0MI_AA octave 0
QK_MIDI_NOTE_A_SHARP_0MI_As, MI_BbA♯/B♭ octave 0
QK_MIDI_NOTE_B_0MI_BB octave 0
QK_MIDI_NOTE_C_1MI_C1C octave 1
QK_MIDI_NOTE_C_SHARP_1MI_Cs1, MI_Db1C♯/D♭ octave 1
QK_MIDI_NOTE_D_1MI_D1D octave 1
QK_MIDI_NOTE_D_SHARP_1MI_Ds1, MI_Eb1D♯/E♭ octave 1
QK_MIDI_NOTE_E_1MI_E1E octave 1
QK_MIDI_NOTE_F_1MI_F1F octave 1
QK_MIDI_NOTE_F_SHARP_1MI_Fs1, MI_Gb1F♯/G♭ octave 1
QK_MIDI_NOTE_G_1MI_G1G octave 1
QK_MIDI_NOTE_G_SHARP_1MI_Gs1, MI_Ab1G♯/A♭ octave 1
QK_MIDI_NOTE_A_1MI_A1A octave 1
QK_MIDI_NOTE_A_SHARP_1MI_As1, MI_Bb1A♯/B♭ octave 1
QK_MIDI_NOTE_B_1MI_B1B octave 1
QK_MIDI_NOTE_C_2MI_C2C octave 2
QK_MIDI_NOTE_C_SHARP_2MI_Cs2, MI_Db2C♯/D♭ octave 2
QK_MIDI_NOTE_D_2MI_D2D octave 2
QK_MIDI_NOTE_D_SHARP_2MI_Ds2, MI_Eb2D♯/E♭ octave 2
QK_MIDI_NOTE_E_2MI_E2E octave 2
QK_MIDI_NOTE_F_2MI_F2F octave 2
QK_MIDI_NOTE_F_SHARP_2MI_Fs2, MI_Gb2F♯/G♭ octave 2
QK_MIDI_NOTE_G_2MI_G2G octave 2
QK_MIDI_NOTE_G_SHARP_2MI_Gs2, MI_Ab2G♯/A♭ octave 2
QK_MIDI_NOTE_A_2MI_A2A octave 2
QK_MIDI_NOTE_A_SHARP_2MI_As2, MI_Bb2A♯/B♭ octave 2
QK_MIDI_NOTE_B_2MI_B2B octave 2
QK_MIDI_NOTE_C_3MI_C3C octave 3
QK_MIDI_NOTE_C_SHARP_3MI_Cs3, MI_Db3C♯/D♭ octave 3
QK_MIDI_NOTE_D_3MI_D3D octave 3
QK_MIDI_NOTE_D_SHARP_3MI_Ds3, MI_Eb3D♯/E♭ octave 3
QK_MIDI_NOTE_E_3MI_E3E octave 3
QK_MIDI_NOTE_F_3MI_F3F octave 3
QK_MIDI_NOTE_F_SHARP_3MI_Fs3, MI_Gb3F♯/G♭ octave 3
QK_MIDI_NOTE_G_3MI_G3G octave 3
QK_MIDI_NOTE_G_SHARP_3MI_Gs3, MI_Ab3G♯/A♭ octave 3
QK_MIDI_NOTE_A_3MI_A3A octave 3
QK_MIDI_NOTE_A_SHARP_3MI_As3, MI_Bb3A♯/B♭ octave 3
QK_MIDI_NOTE_B_3MI_B3B octave 3
QK_MIDI_NOTE_C_4MI_C4C octave 4
QK_MIDI_NOTE_C_SHARP_4MI_Cs4, MI_Db4C♯/D♭ octave 4
QK_MIDI_NOTE_D_4MI_D4D octave 4
QK_MIDI_NOTE_D_SHARP_4MI_Ds4, MI_Eb4D♯/E♭ octave 4
QK_MIDI_NOTE_E_4MI_E4E octave 4
QK_MIDI_NOTE_F_4MI_F4F octave 4
QK_MIDI_NOTE_F_SHARP_4MI_Fs4, MI_Gb4F♯/G♭ octave 4
QK_MIDI_NOTE_G_4MI_G4G octave 4
QK_MIDI_NOTE_G_SHARP_4MI_Gs4, MI_Ab4G♯/A♭ octave 4
QK_MIDI_NOTE_A_4MI_A4A octave 4
QK_MIDI_NOTE_A_SHARP_4MI_As4, MI_Bb4A♯/B♭ octave 4
QK_MIDI_NOTE_B_4MI_B4B octave 4
QK_MIDI_NOTE_C_5MI_C5C octave 5
QK_MIDI_NOTE_C_SHARP_5MI_Cs5, MI_Db5C♯/D♭ octave 5
QK_MIDI_NOTE_D_5MI_D5D octave 5
QK_MIDI_NOTE_D_SHARP_5MI_Ds5, MI_Eb5D♯/E♭ octave 5
QK_MIDI_NOTE_E_5MI_E5E octave 5
QK_MIDI_NOTE_F_5MI_F5F octave 5
QK_MIDI_NOTE_F_SHARP_5MI_Fs5, MI_Gb5F♯/G♭ octave 5
QK_MIDI_NOTE_G_5MI_G5G octave 5
QK_MIDI_NOTE_G_SHARP_5MI_Gs5, MI_Ab5G♯/A♭ octave 5
QK_MIDI_NOTE_A_5MI_A5A octave 5
QK_MIDI_NOTE_A_SHARP_5MI_As5, MI_Bb5A♯/B♭ octave 5
QK_MIDI_NOTE_B_5MI_B5B octave 5
QK_MIDI_OCTAVE_N2MI_OCN2Set octave to -2
QK_MIDI_OCTAVE_N1MI_OCN1Set octave to -1
QK_MIDI_OCTAVE_0MI_OC0Set octave to 0
QK_MIDI_OCTAVE_1MI_OC1Set octave to 1
QK_MIDI_OCTAVE_2MI_OC2Set octave to 2
QK_MIDI_OCTAVE_3MI_OC3Set octave to 3
QK_MIDI_OCTAVE_4MI_OC4Set octave to 4
QK_MIDI_OCTAVE_5MI_OC5Set octave to 5
QK_MIDI_OCTAVE_6MI_OC6Set octave to 6
QK_MIDI_OCTAVE_7MI_OC7Set octave to 7
QK_MIDI_OCTAVE_DOWNMI_OCTDMove down an octave
QK_MIDI_OCTAVE_UPMI_OCTUMove up an octave
QK_MIDI_TRANSPOSE_N6MI_TRN6Set transposition to -6 semitones
QK_MIDI_TRANSPOSE_N5MI_TRN5Set transposition to -5 semitones
QK_MIDI_TRANSPOSE_N4MI_TRN4Set transposition to -4 semitones
QK_MIDI_TRANSPOSE_N3MI_TRN3Set transposition to -3 semitones
QK_MIDI_TRANSPOSE_N2MI_TRN2Set transposition to -2 semitones
QK_MIDI_TRANSPOSE_N1MI_TRN1Set transposition to -1 semitone
QK_MIDI_TRANSPOSE_0MI_TR0No transposition
QK_MIDI_TRANSPOSE_1MI_TR1Set transposition to +1 semitone
QK_MIDI_TRANSPOSE_2MI_TR2Set transposition to +2 semitones
QK_MIDI_TRANSPOSE_3MI_TR3Set transposition to +3 semitones
QK_MIDI_TRANSPOSE_4MI_TR4Set transposition to +4 semitones
QK_MIDI_TRANSPOSE_5MI_TR5Set transposition to +5 semitones
QK_MIDI_TRANSPOSE_6MI_TR6Set transposition to +6 semitones
QK_MIDI_TRANSPOSE_DOWNMI_TRSDDecrease transposition
QK_MIDI_TRANSPOSE_UPMI_TRSUIncrease transposition
QK_MIDI_VELOCITY_0MI_VL0Set velocity to 0
QK_MIDI_VELOCITY_1MI_VL1Set velocity to 12
QK_MIDI_VELOCITY_2MI_VL2Set velocity to 25
QK_MIDI_VELOCITY_3MI_VL3Set velocity to 38
QK_MIDI_VELOCITY_4MI_VL4Set velocity to 51
QK_MIDI_VELOCITY_5MI_VL5Set velocity to 64
QK_MIDI_VELOCITY_6MI_VL6Set velocity to 76
QK_MIDI_VELOCITY_7MI_VL7Set velocity to 89
QK_MIDI_VELOCITY_8MI_VL8Set velocity to 102
QK_MIDI_VELOCITY_9MI_VL9Set velocity to 114
QK_MIDI_VELOCITY_10MI_VL10Set velocity to 127
QK_MIDI_VELOCITY_DOWNMI_VELDDecrease velocity
QK_MIDI_VELOCITY_UPMI_VELUIncrease velocity
QK_MIDI_CHANNEL_1MI_CH1Set channel to 1
QK_MIDI_CHANNEL_2MI_CH2Set channel to 2
QK_MIDI_CHANNEL_3MI_CH3Set channel to 3
QK_MIDI_CHANNEL_4MI_CH4Set channel to 4
QK_MIDI_CHANNEL_5MI_CH5Set channel to 5
QK_MIDI_CHANNEL_6MI_CH6Set channel to 6
QK_MIDI_CHANNEL_7MI_CH7Set channel to 7
QK_MIDI_CHANNEL_8MI_CH8Set channel to 8
QK_MIDI_CHANNEL_9MI_CH9Set channel to 9
QK_MIDI_CHANNEL_10MI_CH10Set channel to 10
QK_MIDI_CHANNEL_11MI_CH11Set channel to 11
QK_MIDI_CHANNEL_12MI_CH12Set channel to 12
QK_MIDI_CHANNEL_13MI_CH13Set channel to 13
QK_MIDI_CHANNEL_14MI_CH14Set channel to 14
QK_MIDI_CHANNEL_15MI_CH15Set channel to 15
QK_MIDI_CHANNEL_16MI_CH16Set channel to 16
QK_MIDI_CHANNEL_DOWNMI_CHNDDecrease channel
QK_MIDI_CHANNEL_UPMI_CHNUIncrease channel
QK_MIDI_ALL_NOTES_OFFMI_AOFFStop all notes
QK_MIDI_SUSTAINMI_SUSTSustain
QK_MIDI_PORTAMENTOMI_PORTPortmento
QK_MIDI_SOSTENUTOMI_SOSTSostenuto
QK_MIDI_SOFTMI_SOFTSoft Pedal
QK_MIDI_LEGATOMI_LEGLegato
QK_MIDI_MODULATIONMI_MODModulation
QK_MIDI_MODULATION_SPEED_DOWNMI_MODDDecrease modulation speed
QK_MIDI_MODULATION_SPEED_UPMI_MODUIncrease modulation speed
QK_MIDI_PITCH_BEND_DOWNMI_BNDDBend pitch down
QK_MIDI_PITCH_BEND_UPMI_BNDUBend pitch up

Mouse Keys

See also: Mouse Keys

KeyAliasesDescription
QK_MOUSE_CURSOR_UPMS_UPMouse cursor up
QK_MOUSE_CURSOR_DOWNMS_DOWNMouse cursor down
QK_MOUSE_CURSOR_LEFTMS_LEFTMouse cursor left
QK_MOUSE_CURSOR_RIGHTMS_RGHTMouse cursor right
QK_MOUSE_BUTTON_1MS_BTN1Mouse button 1
QK_MOUSE_BUTTON_2MS_BTN2Mouse button 2
QK_MOUSE_BUTTON_3MS_BTN3Mouse button 3
QK_MOUSE_BUTTON_4MS_BTN4Mouse button 4
QK_MOUSE_BUTTON_5MS_BTN5Mouse button 5
QK_MOUSE_BUTTON_6MS_BTN6Mouse button 6
QK_MOUSE_BUTTON_7MS_BTN7Mouse button 7
QK_MOUSE_BUTTON_8MS_BTN8Mouse button 8
QK_MOUSE_WHEEL_UPMS_WHLUMouse wheel up
QK_MOUSE_WHEEL_DOWNMS_WHLDMouse wheel down
QK_MOUSE_WHEEL_LEFTMS_WHLLMouse wheel left
QK_MOUSE_WHEEL_RIGHTMS_WHLRMouse wheel right
QK_MOUSE_ACCELERATION_0MS_ACL0Set mouse acceleration to 0
QK_MOUSE_ACCELERATION_1MS_ACL1Set mouse acceleration to 1
QK_MOUSE_ACCELERATION_2MS_ACL2Set mouse acceleration to 2

Modifiers

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), RWIN(kc)Hold Right GUI and press kc
LSG(kc)SGUI(kc), SCMD(kc), SWIN(kc)Hold Left Shift and Left GUI and press kc
LAG(kc)Hold Left Alt and Left GUI and press kc
RSG(kc)Hold Right Shift and Right GUI and press kc
RAG(kc)Hold Right Alt and Right 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

Mod-Tap Keys

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
LSG_T(kc)SGUI_T(kc), SCMD_T(kc), SWIN_T(kc)Left Shift and GUI when held, kc when tapped
LAG_T(kc)Left Alt and GUI when held, kc when tapped
RSG_T(kc)Right Shift and GUI when held, kc when tapped
RAG_T(kc)Right Alt 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

Tapping Term Keys

See also: Dynamic Tapping Term

KeyAliasesDescription
QK_DYNAMIC_TAPPING_TERM_PRINTDT_PRNTTypes the current tapping term, in milliseconds
QK_DYNAMIC_TAPPING_TERM_UPDT_UPIncreases the current tapping term by DYNAMIC_TAPPING_TERM_INCREMENTms (5ms by default)
QK_DYNAMIC_TAPPING_TERM_DOWNDT_DOWNDecreases the current tapping term by DYNAMIC_TAPPING_TERM_INCREMENTms (5ms by default)

RGB Lighting

See also: RGB Lighting

KeyAliasesDescription
QK_UNDERGLOW_TOGGLEUG_TOGGToggle RGB lighting on or off
QK_UNDERGLOW_MODE_NEXTUG_NEXTCycle through modes, reverse direction when Shift is held
QK_UNDERGLOW_MODE_PREVIOUSUG_PREVCycle through modes in reverse, forward direction when Shift is held
QK_UNDERGLOW_HUE_UPUG_HUEUIncrease hue, decrease hue when Shift is held
QK_UNDERGLOW_HUE_DOWNUG_HUEDDecrease hue, increase hue when Shift is held
QK_UNDERGLOW_SATURATION_UPUG_SATUIncrease saturation, decrease saturation when Shift is held
QK_UNDERGLOW_SATURATION_DOWNUG_SATDDecrease saturation, increase saturation when Shift is held
QK_UNDERGLOW_VALUE_UPUG_VALUIncrease value (brightness), decrease value when Shift is held
QK_UNDERGLOW_VALUE_DOWNUG_VALDDecrease value (brightness), increase value when Shift is held
QK_UNDERGLOW_SPEED_UPUG_SPDUIncrease effect speed (brightness), decrease speed when Shift is held
QK_UNDERGLOW_SPEED_DOWNUG_SPDDDecrease effect speed (brightness), increase speed when Shift is held
RGB_MODE_PLAINRGB_M_P Static (no animation) mode (deprecated)
RGB_MODE_BREATHERGB_M_BBreathing animation mode (deprecated)
RGB_MODE_RAINBOWRGB_M_RRainbow animation mode (deprecated)
RGB_MODE_SWIRLRGB_M_SWSwirl animation mode (deprecated)
RGB_MODE_SNAKERGB_M_SNSnake animation mode (deprecated)
RGB_MODE_KNIGHTRGB_M_K"Knight Rider" animation mode (deprecated)
RGB_MODE_XMASRGB_M_XChristmas animation mode (deprecated)
RGB_MODE_GRADIENTRGB_M_GStatic gradient animation mode (deprecated)
RGB_MODE_RGBTESTRGB_M_TRed, Green, Blue test animation mode (deprecated)
RGB_MODE_TWINKLERGB_M_TWTwinkle animation mode (deprecated)

RGB Matrix Lighting

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

US ANSI Shifted Symbols

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?

One Shot Keys

See also: One Shot Keys

KeyAliasesDescription
OSM(mod)Hold mod for one keypress
OSL(layer)Switch to layer for one keypress
QK_ONE_SHOT_TOGGLEOS_TOGGToggles One Shot keys status
QK_ONE_SHOT_ONOS_ONTurns One Shot keys on
QK_ONE_SHOT_OFFOS_OFFTurns One Shot keys off

Programmable Button Support

See also: Programmable Button

KeyAliasesDescription
QK_PROGRAMMABLE_BUTTON_1PB_1Programmable button 1
QK_PROGRAMMABLE_BUTTON_2PB_2Programmable button 2
QK_PROGRAMMABLE_BUTTON_3PB_3Programmable button 3
QK_PROGRAMMABLE_BUTTON_4PB_4Programmable button 4
QK_PROGRAMMABLE_BUTTON_5PB_5Programmable button 5
QK_PROGRAMMABLE_BUTTON_6PB_6Programmable button 6
QK_PROGRAMMABLE_BUTTON_7PB_7Programmable button 7
QK_PROGRAMMABLE_BUTTON_8PB_8Programmable button 8
QK_PROGRAMMABLE_BUTTON_9PB_9Programmable button 9
QK_PROGRAMMABLE_BUTTON_10PB_10Programmable button 10
QK_PROGRAMMABLE_BUTTON_11PB_11Programmable button 11
QK_PROGRAMMABLE_BUTTON_12PB_12Programmable button 12
QK_PROGRAMMABLE_BUTTON_13PB_13Programmable button 13
QK_PROGRAMMABLE_BUTTON_14PB_14Programmable button 14
QK_PROGRAMMABLE_BUTTON_15PB_15Programmable button 15
QK_PROGRAMMABLE_BUTTON_16PB_16Programmable button 16
QK_PROGRAMMABLE_BUTTON_17PB_17Programmable button 17
QK_PROGRAMMABLE_BUTTON_18PB_18Programmable button 18
QK_PROGRAMMABLE_BUTTON_19PB_19Programmable button 19
QK_PROGRAMMABLE_BUTTON_20PB_20Programmable button 20
QK_PROGRAMMABLE_BUTTON_21PB_21Programmable button 21
QK_PROGRAMMABLE_BUTTON_22PB_22Programmable button 22
QK_PROGRAMMABLE_BUTTON_23PB_23Programmable button 23
QK_PROGRAMMABLE_BUTTON_24PB_24Programmable button 24
QK_PROGRAMMABLE_BUTTON_25PB_25Programmable button 25
QK_PROGRAMMABLE_BUTTON_26PB_26Programmable button 26
QK_PROGRAMMABLE_BUTTON_27PB_27Programmable button 27
QK_PROGRAMMABLE_BUTTON_28PB_28Programmable button 28
QK_PROGRAMMABLE_BUTTON_29PB_29Programmable button 29
QK_PROGRAMMABLE_BUTTON_30PB_30Programmable button 30
QK_PROGRAMMABLE_BUTTON_31PB_31Programmable button 31
QK_PROGRAMMABLE_BUTTON_32PB_32Programmable button 32

Repeat Key

See also: Repeat Key

KeycodeAliasesDescription
QK_REPEAT_KEYQK_REPRepeat the last pressed key
QK_ALT_REPEAT_KEYQK_AREPPerform alternate of the last key

Space Cadet

See also: Space Cadet

KeyAliasesDescription
QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPENSC_LCPOLeft Control when held, ( when tapped
QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSESC_RCPCRight Control when held, ) when tapped
QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPENSC_LSPOLeft Shift when held, ( when tapped
QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSESC_RSPCRight Shift when held, ) when tapped
QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPENSC_LAPOLeft Alt when held, ( when tapped
QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSESC_RAPCRight Alt when held, ) when tapped
QK_SPACE_CADET_RIGHT_SHIFT_ENTERSC_SENTRight Shift when held, Enter when tapped

Swap Hands

See also: Swap Hands

KeyAliasesDescription
SH_T(kc)Momentary swap when held, kc when tapped
QK_SWAP_HANDS_ONSH_ONTurn on hand swap
QK_SWAP_HANDS_OFFSH_OFFTurn off hand swap
QK_SWAP_HANDS_MOMENTARY_ONSH_MONTurn on hand swap while held
QK_SWAP_HANDS_MOMENTARY_OFFSH_MOFFTurn off hand swap while held
QK_SWAP_HANDS_TOGGLESH_TOGGToggle hand swap
QK_SWAP_HANDS_TAP_TOGGLESH_TTMomentary swap when held, toggle when tapped
QK_SWAP_HANDS_ONE_SHOTSH_OSTurn on hand swap while held or until next key press

Unicode Support

See also: Unicode Support

KeyAliasesDescription
UC(c)Send Unicode code point c, up to 0x7FFF
UM(i)Send Unicode code point at index i in unicode_map
UP(i, j)Send Unicode code point at index i, or j if Shift/Caps is on
QK_UNICODE_MODE_NEXTUC_NEXTCycle through selected input modes
QK_UNICODE_MODE_PREVIOUSUC_PREVCycle through selected input modes in reverse
QK_UNICODE_MODE_MACOSUC_MACSwitch to macOS input
QK_UNICODE_MODE_LINUXUC_LINXSwitch to Linux input
QK_UNICODE_MODE_WINDOWSUC_WINSwitch to Windows input
QK_UNICODE_MODE_BSDUC_BSDSwitch to BSD input (not implemented)
QK_UNICODE_MODE_WINCOMPOSEUC_WINCSwitch to Windows input using WinCompose
QK_UNICODE_MODE_EMACSUC_EMACSwitch to emacs (C-x-8 RET)