~ruther/qmk_firmware

ref: 38d6e9a75a4cff4ae5bd32209fc0cecb83c6f23b qmk_firmware/docs/quantum_keycodes.md -rw-r--r-- 2.1 KiB
38d6e9a7 — ploopyco Add Ploopy Madromys mouse (#21989) 2 years ago

#Quantum Keycodes

Quantum keycodes allow for easier customization of your keymap than the basic ones provide, without having to define custom actions.

All keycodes within quantum are numbers between 0x0000 and 0xFFFF. Within your keymap.c it may look like you have functions and other special cases, but ultimately the C preprocessor will translate those into a single 4 byte integer. QMK has reserved 0x0000 through 0x00FF for standard keycodes. These are keycodes such as KC_A, KC_1, and KC_LCTL, which are basic keys defined in the USB HID specification.

On this page we have documented keycodes between 0x00FF and 0xFFFF which are used to implement advanced quantum features. If you define your own custom keycodes they will be put into this range as well.

#QMK Keycodes :id=qmk-keycodes

Key Aliases Description
QK_BOOTLOADER QK_BOOT Put the keyboard into bootloader mode for flashing
QK_DEBUG_TOGGLE DB_TOGG Toggle debug mode
QK_CLEAR_EEPROM EE_CLR Reinitializes the keyboard's EEPROM (persistent memory)
QK_MAKE Sends qmk compile -kb (keyboard) -km (keymap), or qmk flash if shift is held. Puts keyboard into bootloader mode if shift & control are held
QK_REBOOT QK_RBT Resets the keyboard. Does not load the bootloader

!> Note: QK_MAKE requires #define ENABLE_COMPILE_KEYCODE in your config.h to function.