1
0

Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
QMK Bot
2025-11-04 00:12:57 +00:00
65 changed files with 66 additions and 51 deletions

View File

@@ -8,7 +8,7 @@ The feature maintains a small buffer of recent key presses. On each key press, i
The tricky part is how to efficiently check the buffer for typos. We dont want to spend too much memory or time on storing or searching the typos. A good solution is to represent the typos with a trie data structure. A trie is a tree data structure where each node is a letter, and words are formed by following a path to one of the leaves.
![An example trie](https://i.imgur.com/HL5DP8H.png)
![An example trie](/HL5DP8H.png)
Since we search whether the buffer ends in a typo, we store the trie writing in reverse. The trie is queried starting from the last letter, then second to last letter, and so on, until either a letter doesnt match or we reach a leaf, meaning a typo was found.
@@ -279,7 +279,7 @@ All autocorrection data is stored in a single flat array autocorrect_data. Each
* 01 ⇒ branching node: a trie node with multiple children.
* 10 ⇒ leaf node: a leaf, corresponding to a typo and storing its correction.
![An example trie](https://i.imgur.com/HL5DP8H.png)
![An example trie](/HL5DP8H.png)
**Branching node**. Each branch is encoded with one byte for the keycode (KC_AKC_Z) followed by a link to the child node. Links between nodes are 16-bit byte offsets relative to the beginning of the array, serialized in little endian order.

View File

@@ -227,7 +227,7 @@ In this typical example, the backlight LEDs are all connected in parallel toward
A pulldown resistor is also placed between the gate pin and ground to keep it at a defined state when it is not otherwise being driven by the MCU.
The values of these resistors are not critical - see [this Electronics StackExchange question](https://electronics.stackexchange.com/q/68748) for more information.
![Backlight example circuit](https://i.imgur.com/BmAvoUC.png)
![Backlight example circuit](/BmAvoUC.png)
## API {#api}

View File

@@ -35,12 +35,12 @@ layer.
Consider a keymap with the following base layer.
![Base layer with a MO(NAV) key.](https://i.imgur.com/DkEhj9x.png)
![Base layer with a MO(NAV) key.](/DkEhj9x.png)
The highlighted key is a momentary layer switch `MO(NAV)`. Holding it accesses a
navigation layer.
![Nav layer with a Layer Lock key.](https://i.imgur.com/2wUZNWk.png)
![Nav layer with a Layer Lock key.](/2wUZNWk.png)
Holding the NAV key is fine for brief use, but awkward to continue holding when

View File

@@ -55,7 +55,7 @@ Changing the **Hue** cycles around the circle.<br>
Changing the **Saturation** moves between the inner and outer sections of the wheel, affecting the intensity of the color.<br>
Changing the **Value** sets the overall brightness.<br>
![QMK Color Wheel with HSV Values](https://i.imgur.com/vkYVo66.jpg)
![QMK Color Wheel with HSV Values](/vkYVo66.jpg)
## Keycodes

View File

@@ -91,11 +91,11 @@ SPLIT_TRANSPORT = custom
Configuring your layout in a split keyboard works slightly differently to a non-split keyboard. Take for example the following layout. The top left numbers refer to the matrix row and column, and the bottom right are the order of the keys in the layout:
![Physical layout](https://i.imgur.com/QeY6kMQ.png)
![Physical layout](/QeY6kMQ.png)
Since the matrix scanning procedure operates on entire rows, it first populates the left half's rows, then the right half's. Thus, the matrix as QMK views it has double the rows instead of double the columns:
![Matrix](https://i.imgur.com/4wjJzBU.png)
![Matrix](/4wjJzBU.png)
### Setting Handedness
@@ -497,7 +497,7 @@ Once you have done that, you will want to solder the diode from the 5V pad to th
You may need to use the 5V pad from the regulator block above as the pads were too small and placed too closely together to place the Schottky diode properly.
![Teensy++ 2.0](https://i.imgur.com/BPEC5n5.png)
![Teensy++ 2.0](/BPEC5n5.jpg)
## Additional Resources