diff options
| author | Johannes Jansson <johannes.signup@gmail.com> | 2019-02-21 02:27:27 +0100 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-02-20 17:27:27 -0800 |
| commit | 9f1d781fcb7129a07e671a46461e501e3f1ae59d (patch) | |
| tree | 8a1c42fda7e57ef6fe012e98a9263670e1e63ea8 /docs/hand_wire.md | |
| parent | de0fb39403e8dbf8c94937c91768debf3c570b62 (diff) | |
| download | qmk_firmware-9f1d781fcb7129a07e671a46461e501e3f1ae59d.tar.gz qmk_firmware-9f1d781fcb7129a07e671a46461e501e3f1ae59d.zip | |
Updated hand wiring docs (#5198)
* renamed KEYMAP to LAYOUT in hand wiring docs
* added two additional guides for hand wiring
Diffstat (limited to 'docs/hand_wire.md')
| -rw-r--r-- | docs/hand_wire.md | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/docs/hand_wire.md b/docs/hand_wire.md index 1cbc16dfe..ba2eee712 100644 --- a/docs/hand_wire.md +++ b/docs/hand_wire.md | |||
| @@ -185,6 +185,13 @@ When you're done with the columns, start with the rows in the same process, from | |||
| 185 | 185 | ||
| 186 | As you move along, be sure that the Teensy is staying in place - recutting and soldering the wires is a pain! | 186 | As you move along, be sure that the Teensy is staying in place - recutting and soldering the wires is a pain! |
| 187 | 187 | ||
| 188 | ## Additional guides | ||
| 189 | |||
| 190 | If you're more of a visual learner, or want some additional tips and something more to follow along, these two visual step by step guides may be helpful: | ||
| 191 | |||
| 192 | - [BrownFox's step by step guide](https://deskthority.net/viewtopic.php?f=7&t=6050) | ||
| 193 | - [Cribbit's modern hand wiring guide](https://geekhack.org/index.php?topic=87689.0) | ||
| 194 | |||
| 188 | # Getting Some Basic Firmware Set Up | 195 | # Getting Some Basic Firmware Set Up |
| 189 | 196 | ||
| 190 | From here, you should have a working keyboard once you program a firmware. Before we attach the Teensy permanently to the keyboard, let's quickly get some firmware loaded onto the Teensy so we can test each keyswitch. | 197 | From here, you should have a working keyboard once you program a firmware. Before we attach the Teensy permanently to the keyboard, let's quickly get some firmware loaded onto the Teensy so we can test each keyswitch. |
| @@ -231,10 +238,10 @@ This can be described by saying the top row is 3 1u keys, and the bottom row is | |||
| 231 | └─────┴─────┘ | 238 | └─────┴─────┘ |
| 232 | ``` | 239 | ``` |
| 233 | 240 | ||
| 234 | The middle column is unused on the bottom row in this example. Our `KEYMAP` definition would look like this: | 241 | The middle column is unused on the bottom row in this example. Our `LAYOUT` definition would look like this: |
| 235 | 242 | ||
| 236 | ``` | 243 | ``` |
| 237 | #define KEYMAP( \ | 244 | #define LAYOUT( \ |
| 238 | k00, k01, k02, \ | 245 | k00, k01, k02, \ |
| 239 | k10, k11, \ | 246 | k10, k11, \ |
| 240 | ) \ | 247 | ) \ |
| @@ -256,10 +263,10 @@ Let's say that instead, we wired our keyboard like this (a fair thing to do): | |||
| 256 | └─────┴─────┘ | 263 | └─────┴─────┘ |
| 257 | ``` | 264 | ``` |
| 258 | 265 | ||
| 259 | This would require our `KEYMAP` definition to look like this: | 266 | This would require our `LAYOUT` definition to look like this: |
| 260 | 267 | ||
| 261 | ``` | 268 | ``` |
| 262 | #define KEYMAP( \ | 269 | #define LAYOUT( \ |
| 263 | k00, k01, k02, \ | 270 | k00, k01, k02, \ |
| 264 | k10, k11, \ | 271 | k10, k11, \ |
| 265 | ) \ | 272 | ) \ |
| @@ -269,7 +276,7 @@ This would require our `KEYMAP` definition to look like this: | |||
| 269 | } | 276 | } |
| 270 | ``` | 277 | ``` |
| 271 | 278 | ||
| 272 | Notice how the `k11` and `KC_NO` switched places to represent the wiring, and the unused final column on the bottom row. Sometimes it'll make more sense to put a keyswitch on a particular column, but in the end, it won't matter, as long as all of them are accounted for. You can use this process to write out the `KEYMAP` for your entire keyboard - be sure to remember that your keyboard is actually backwards when looking at the underside of it. | 279 | Notice how the `k11` and `KC_NO` switched places to represent the wiring, and the unused final column on the bottom row. Sometimes it'll make more sense to put a keyswitch on a particular column, but in the end, it won't matter, as long as all of them are accounted for. You can use this process to write out the `LAYOUT` for your entire keyboard - be sure to remember that your keyboard is actually backwards when looking at the underside of it. |
| 273 | 280 | ||
| 274 | ### `keymaps/<variant>/default.c` | 281 | ### `keymaps/<variant>/default.c` |
| 275 | 282 | ||
| @@ -291,7 +298,7 @@ This can be accomplished by using the following `keymaps` definition: | |||
| 291 | 298 | ||
| 292 | ``` | 299 | ``` |
| 293 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 300 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 294 | [0] = KEYMAP( /* Base */ | 301 | [0] = LAYOUT( /* Base */ |
| 295 | KC_A, KC_1, KC_H, \ | 302 | KC_A, KC_1, KC_H, \ |
| 296 | KC_TAB, KC_SPC \ | 303 | KC_TAB, KC_SPC \ |
| 297 | ), | 304 | ), |
| @@ -300,7 +307,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 300 | 307 | ||
| 301 | Note that the layout of the keycodes is similar to the physical layout of our keyboard - this make it much easier to see what's going on. A lot of the keycodes should be fairly obvious, but for a full list of them, check out [Keycodes](keycodes.md) - there are also a lot of aliases to condense your keymap file. | 308 | Note that the layout of the keycodes is similar to the physical layout of our keyboard - this make it much easier to see what's going on. A lot of the keycodes should be fairly obvious, but for a full list of them, check out [Keycodes](keycodes.md) - there are also a lot of aliases to condense your keymap file. |
| 302 | 309 | ||
| 303 | It's also important to use the `KEYMAP` function we defined earlier - this is what allows the firmware to associate our intended readable keymap with the actual wiring. | 310 | It's also important to use the `LAYOUT` function we defined earlier - this is what allows the firmware to associate our intended readable keymap with the actual wiring. |
| 304 | 311 | ||
| 305 | ## Compiling Your Firmware | 312 | ## Compiling Your Firmware |
| 306 | 313 | ||
