diff options
author | fauxpark <fauxpark@gmail.com> | 2023-01-30 18:55:36 +1100 |
---|---|---|
committer | fauxpark <fauxpark@gmail.com> | 2023-01-30 18:55:36 +1100 |
commit | ef6505ad7547f9651bddc309bd323d029d1fac64 (patch) | |
tree | 9e7ece9bbba2123ca04c6f2e76feb774eb6fb38b /docs | |
parent | 242b80c63ffff022172755da35fb4767d5f837c2 (diff) | |
parent | 2c878b1b161ae10332fdc4d69f3d1f86d2726c5c (diff) |
Merge remote-tracking branch 'upstream/master' into develop
Diffstat (limited to 'docs')
-rw-r--r-- | docs/feature_autocorrect.md | 6 | ||||
-rw-r--r-- | docs/feature_split_keyboard.md | 31 |
2 files changed, 17 insertions, 20 deletions
diff --git a/docs/feature_autocorrect.md b/docs/feature_autocorrect.md index e042027c0f..aa8d37817d 100644 --- a/docs/feature_autocorrect.md +++ b/docs/feature_autocorrect.md @@ -86,7 +86,7 @@ The `qmk generate-autocorrect-data` commands can make an effort to check for ent ## Overriding Autocorrect -Occasionally you might actually want to type a typo (for instance, while editing autocorrection_dict.txt) without being autocorrected. There are a couple of ways to do this: +Occasionally you might actually want to type a typo (for instance, while editing autocorrect_dict.txt) without being autocorrected. There are a couple of ways to do this: 1. Begin typing the typo. 2. Before typing the last letter, press and release the Ctrl or Alt key. @@ -238,13 +238,13 @@ bool apply_autocorrect(uint8_t backspaces, const char *str) { ## Appendix: Trie binary data format :id=appendix -This section details how the trie is serialized to byte data in autocorrection_data. You don’t need to care about this to use this autocorrection implementation. But it is documented for the record in case anyone is interested in modifying the implementation, or just curious how it works. +This section details how the trie is serialized to byte data in autocorrect_data. You don’t need to care about this to use this autocorrection implementation. But it is documented for the record in case anyone is interested in modifying the implementation, or just curious how it works. What I did here is fairly arbitrary, but it is simple to decode and gets the job done. ### Encoding :id=encoding -All autocorrection data is stored in a single flat array autocorrection_data. Each trie node is associated with a byte offset into this array, where data for that node is encoded, beginning with root at offset 0. There are three kinds of nodes. The highest two bits of the first byte of the node indicate what kind: +All autocorrection data is stored in a single flat array autocorrect_data. Each trie node is associated with a byte offset into this array, where data for that node is encoded, beginning with root at offset 0. There are three kinds of nodes. The highest two bits of the first byte of the node indicate what kind: * 00 ⇒ chain node: a trie node with a single child. * 01 ⇒ branching node: a trie node with multiple children. diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index eaef975fb7..659d5fb964 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -132,28 +132,25 @@ To enable this method, add the following to your `config.h` file: #define EE_HANDS ``` -Next, you will have to flash the EEPROM files once for the correct hand to the controller on each halve. You can do this manually with the following bootloader targets while flashing the firmware: +Next, you will have to flash the correct handedness option to the controller on each halve. You can do this manually with the following bootloader targets using `qmk flash -kb <keyboard> -km <keymap> -bl <bootloader>` command to flash: -* AVR controllers with the Caterina bootloader (e.g. Pro Micro): - * `:avrdude-split-left` - * `:avrdude-split-right` -* AVR controllers with the stock Amtel DFU or DFU compatible bootloader (e.g. Elite-C): - * `:dfu-split-left` - * `:dfu-split-right` -* ARM controllers with a DFU compatible bootloader (e.g. Proton-C): - * `:dfu-util-split-left` - * `:dfu-util-split-right` -* ARM controllers with a UF2 compatible bootloader: - * `:uf2-split-left` - * `:uf2-split-right` - -Example: +|Microcontroller Type|Bootloader Parameter| +|--------------------|--------------------| +|AVR controllers with Caterina bootloader<br>(e.g. Pro Micro)|`avrdude-split-left`<br>`avrdude-split-right`| +|AVR controllers with the stock Amtel DFU or DFU compatible bootloader<br>(e.g. Elite-C)|`dfu-split-left`<br>`dfu-split-right`| +|ARM controllers with a DFU compatible bootloader<br>(e.g. Proton-C)|`dfu-util-split-left`<br>`dfu-util-split-right`| +|ARM controllers with a UF2 compatible bootloader<br>(e.g. RP2040)|`uf2-split-left`<br>`uf2-split-right`| +Example for `crkbd/rev1` keyboard with normal AVR Pro Micro MCUs, reset the left controller and run: +``` +qmk flash -kb crkbd/rev1 -km default -bl avrdude-split-left +``` +Reset the right controller and run: ``` -make crkbd:default:avrdude-split-left +qmk flash -kb crkbd/rev1 -km default -bl avrdude-split-right ``` -?> ARM controllers using `dfu-util` will require an EEPROM reset after setting handedness. This can be done using the `EE_CLR` keycode or [Bootmagic Lite](feature_bootmagic.md). Controllers using emulated EEPROM will always require handedness parameter when flashing the firmware. +?> Some controllers (e.g. Blackpill with DFU compatible bootloader) will need to be flashed with handedness bootloader parameter every time because it is not retained between flashes. ?> [QMK Toolbox]() can also be used to flash EEPROM handedness files. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand |