aboutsummaryrefslogtreecommitdiffstats
path: root/lib/lufa/Projects/SerialToLCD/Config
diff options
context:
space:
mode:
authorKyle Terry <kyle@kyleterry.com>2019-05-26 13:05:42 -0700
committerDrashna Jaelre <drashna@live.com>2019-05-26 13:05:42 -0700
commitdf73a81db8d21af8c2ac45229eb7873787312d6a (patch)
tree8b1c8e841fdbe9f0cec7d0aef4b068c443218832 /lib/lufa/Projects/SerialToLCD/Config
parent2f961265a147dbf568dcc86fad8123b2d02656bc (diff)
downloadfirmware-df73a81db8d21af8c2ac45229eb7873787312d6a.tar.gz
firmware-df73a81db8d21af8c2ac45229eb7873787312d6a.tar.bz2
firmware-df73a81db8d21af8c2ac45229eb7873787312d6a.zip
[Keyboard] adds spacetime keyboard (#5969)
* adds spacetime keyboard * removes custom tap and mod functions this commit replaces tap_key, control_key and shift_key with built-in tap_code16. * changes thumb layer and makes left palm key ralt
Diffstat (limited to 'lib/lufa/Projects/SerialToLCD/Config')
0 files changed, 0 insertions, 0 deletions
35' href='#n135'>135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
# Supporting Your Keyboard in QMK Configurator

This page covers how to properly support keyboards in the [QMK Configurator](https://config.qmk.fm/).


## How the Configurator Understands Keyboards

To understand how the Configurator understands keyboards, first one must understand layout macros. For this exercise, we're going to imagine a 17-key numpad PCB, which we're going to call `numpad`.

```
┌───┬───┬───┬───┐
│NLk│ / │ * │ - │
├───┼───┼───┼───┤
│7  │8  │9  │ + │
├───┼───┼───┤   │
│4  │5  │6  │   │
├───┼───┼───┼───┤
│1  │2  │3  │Ent│
├───┴───┼───┤   │
│0      │ . │   │
└───────┴───┴───┘
```

?> For more on layout macros, see [Understanding QMK: Matrix Scanning](understanding_qmk.md?id=matrix-scanning) and [Understanding QMK: Matrix to Physical Layout Map](understanding_qmk.md?id=matrix-to-physical-layout-map).

The Configurator's API reads the keyboard's `.h` file from `qmk_firmware/keyboards/<keyboard>/<keyboard>.h`. For our numpad, this file would be `qmk_firmware/keyboards/numpad/numpad.h`:

```c
#pragma once

#define LAYOUT( \
    k00, k01, k02, k03, \
    k10, k11, k12, k13, \
    k20, k21, k22,      \
    k30, k31, k32, k33, \
    k40,      k42       \
  ) { \
    { k00, k01,   k02, k03   }, \
    { k10, k11,   k12, k13   }, \
    { k20, k21,   k22, KC_NO }, \
    { k30, k31,   k32, k33   }, \
    { k40, KC_NO, k42, KC_NO }  \
}
```

QMK uses `KC_NO` to designate places in the switch matrix where there is no switch. Sometimes, `XXX`, `___` or `____` are used as shorthand to make this section easier to read if it needs to be debugged. This is usually defined near the beginning of the `.h` file: