mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-27 05:36:52 +00:00
23 lines
1.9 KiB
Markdown
23 lines
1.9 KiB
Markdown
# Quantum Keycodes
|
|
|
|
Quantum keycodes allow for easier customisation 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
|
|
|
|
|Key |Aliases |Description |
|
|
|-------------|-----------|---------------------------------------------------------------------|
|
|
|`RESET` | |Put the keyboard into DFU mode for flashing |
|
|
|`DEBUG` | |Toggle debug mode |
|
|
|`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>`</code> when pressed with Shift or GUI|
|
|
|`KC_LSPO` | |Left Shift when held, `(` when tapped |
|
|
|`KC_RSPC` | |Right Shift when held, `)` when tapped |
|
|
|`KC_LEAD` | |The [Leader key](feature_leader_key.md) |
|
|
|`KC_LOCK` | |The [Lock key](feature_key_lock.md) |
|
|
|`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) |
|
|
|`M(n)` | |Call macro `n` |
|
|
|`MACROTAP(n)`| |Macro-tap `n` idk FIXME |
|