]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - Keycodes.md
Updated Custom Quantum Functions (markdown)
[qmk_firmware.git] / Keycodes.md
index 4d2cb46998b6fcb54c9a80b70c6e5625c0a020a0..bfb7a060ecd2daec1f5eca7808ea9d1815edd284 100644 (file)
@@ -1,9 +1,21 @@
 # Overview
 
-When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/keymap.md) each key needs a valid key definition. This page documents the symbols that correspond to keyboard scan codes that are available to you in QMK. They can be used by themselves or in combination with one of the [many functions available](https://github.com/qmk/qmk_firmware/wiki#going-beyond-the-keycodes) to customize your board.
+When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/keymap.md) each key needs a valid key definition.
+
+This page documents the symbols that correspond to keycodes that are available to you in QMK.
+
+To customize your board, they can be used by themselves or as **action codes** in combination with one of the [many C macros](https://github.com/qmk/qmk_firmware/wiki#c-macros-for-action-code).
+
+The source of truth for these codes is [tmk_core/common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h) file in the qmk source code.
 
 # The Keycodes
 
+Keycodes in QMK are based on [HID Usage Keyboard/Keypad Page(0x07)](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) with following exceptions:
+
+* `KC_NO` = 0 for no action
+* `KC_TRNS` = 1 for layer transparency
+* internal special keycodes in the `0xA5-DF` range (tmk heritage).
+
 ## Letters and Numbers
 
 |KC_1|KC_2|KC_3|KC_4|KC_5|KC_6|KC_7|KC_8|
@@ -47,11 +59,6 @@ When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/key
 
 |Long Name|Short Name|Description|
 |---------|----------|-----------|
-|KC_LOCKING_CAPS||Locking Caps Lock12|
-|KC_LOCKING_NUM||Locking Num Lock12|
-|KC_LOCKING_SCROLL||Locking Scroll Lock12|
-|KC_INT4|KC_HENK|JIS Henken|
-|KC_INT5|KC_MHEN|JIS Muhenken|
 |KC_LCTRL|KC_LCTL|LeftControl|
 |KC_LSHIFT|KC_LSFT|LeftShift|
 |KC_LALT||LeftAlt|
@@ -60,6 +67,11 @@ When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/key
 |KC_RSHIFT|KC_RSFT|RightShift|
 |KC_RALT||RightAlt|
 |KC_RGUI||Right GUI(Windows/Apple/Meta key)|
+|KC_LOCKING_CAPS||Locking Caps Lock12|
+|KC_LOCKING_NUM||Locking Num Lock12|
+|KC_LOCKING_SCROLL||Locking Scroll Lock12|
+|KC_INT4|KC_HENK|JIS Henken|
+|KC_INT5|KC_MHEN|JIS Muhenken|
 
 ## Commands
 
@@ -114,6 +126,8 @@ When defining a [keymap](https://github.com/qmk/qmk_firmware/blob/master/doc/key
 |KC_AUDIO_VOL_DOWN|KC_VOLD||
 |KC_MEDIA_NEXT_TRACK|KC_MNXT||
 |KC_MEDIA_PREV_TRACK|KC_MPRV||
+|KC_MEDIA_FAST_FORWARD|KC_MFFD||
+|KC_MEDIA_REWIND|KC_MRWD||
 |KC_MEDIA_STOP|KC_MSTP||
 |KC_MEDIA_PLAY_PAUSE|KC_MPLY||
 |KC_MEDIA_SELECT|KC_MSEL||