aboutsummaryrefslogtreecommitdiff
path: root/docs/keymap.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/keymap.md')
-rw-r--r--docs/keymap.md12
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)!