diff options
Diffstat (limited to 'docs/keymap.md')
-rw-r--r-- | docs/keymap.md | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/docs/keymap.md b/docs/keymap.md index b9c5da6be7..e371fd9ba5 100644 --- a/docs/keymap.md +++ b/docs/keymap.md @@ -3,7 +3,7 @@ QMK keymaps are defined inside a C source file. The data structure is an array of arrays. The outer array is a list of layer arrays while the inner layer array is a list of keys. Most keyboards define a `LAYOUT()` macro to help you create this array of arrays. -## Keymap and Layers :id=keymap-and-layers +## Keymap and Layers {#keymap-and-layers} In QMK, **`const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS]`** holds multiple **layers** of keymap information in **16 bit** data holding the **action code**. You can define **32 layers** at most. For trivial key definitions, the higher 8 bits of the **action code** are all 0 and the lower 8 bits holds the USB HID usage code generated by the key as **keycode**. @@ -27,7 +27,7 @@ Respective layers can be validated simultaneously. Layers are indexed with 0 to Sometimes, the action code stored in keymap may be referred as keycode in some documents due to the TMK history. -### Keymap Layer Status :id=keymap-layer-status +### Keymap Layer Status {#keymap-layer-status} The state of the Keymap layer is determined by two 32 bit parameters: @@ -137,7 +137,9 @@ After this you'll find the layer definitions. Typically you'll have one or more `keymaps[][MATRIX_ROWS][MATRIX_COLS]` in QMK holds the 16 bit action code (sometimes referred as the quantum keycode) in it. For the keycode representing typical keys, its high byte is 0 and its low byte is the USB HID usage ID for keyboard. -> TMK from which QMK was forked uses `const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS]` instead and holds the 8 bit keycode. +::: info +TMK from which QMK was forked uses `const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS]` instead and holds the 8 bit keycode. +::: #### Base Layer @@ -185,7 +187,7 @@ Some interesting things to note: This should have given you a basic overview for creating your own keymap. For more details see the following resources: -* [Keycodes](keycodes.md) -* [Keymap FAQ](faq_keymap.md) +* [Keycodes](keycodes) +* [Keymap FAQ](faq_keymap) We are actively working to improve these docs. If you have suggestions for how they could be made better please [file an issue](https://github.com/qmk/qmk_firmware/issues/new)! |