aboutsummaryrefslogtreecommitdiff
path: root/docs/config_options.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/config_options.md')
-rw-r--r--docs/config_options.md33
1 files changed, 31 insertions, 2 deletions
diff --git a/docs/config_options.md b/docs/config_options.md
index d0f0b316e..0c98b3101 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -51,8 +51,10 @@ This is a C header file that is one of the first things included, and will persi
51 * the number of columns in your keyboard's matrix 51 * the number of columns in your keyboard's matrix
52* `#define MATRIX_ROW_PINS { D0, D5, B5, B6 }` 52* `#define MATRIX_ROW_PINS { D0, D5, B5, B6 }`
53 * pins of the rows, from top to bottom 53 * pins of the rows, from top to bottom
54 * may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
54* `#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }` 55* `#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }`
55 * pins of the columns, from left to right 56 * pins of the columns, from left to right
57 * may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
56* `#define MATRIX_IO_DELAY 30` 58* `#define MATRIX_IO_DELAY 30`
57 * the delay in microseconds when between changing matrix pin state and reading values 59 * the delay in microseconds when between changing matrix pin state and reading values
58* `#define UNUSED_PINS { D1, D2, D3, B1, B2, B3 }` 60* `#define UNUSED_PINS { D1, D2, D3, B1, B2, B3 }`
@@ -193,6 +195,8 @@ If you define these options you will enable the associated feature, which may in
193 * Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. 195 * Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
194* `#define TAP_HOLD_CAPS_DELAY 80` 196* `#define TAP_HOLD_CAPS_DELAY 80`
195 * Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPSLOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. 197 * Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPSLOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
198* `#define KEY_OVERRIDE_REPEAT_DELAY 500`
199 * Sets the key repeat interval for [key overrides](feature_key_overrides.md).
196 200
197## RGB Light Configuration 201## RGB Light Configuration
198 202
@@ -272,7 +276,7 @@ There are a few different ways to set handedness for split keyboards (listed in
272### Other Options 276### Other Options
273 277
274* `#define USE_I2C` 278* `#define USE_I2C`
275 * For using I2C instead of Serial (defaults to serial) 279 * For using I2C instead of Serial (default is serial; serial transport is supported on ARM -- I2C is AVR-only)
276 280
277* `#define SOFT_SERIAL_PIN D0` 281* `#define SOFT_SERIAL_PIN D0`
278 * When using serial, define this. `D0` or `D1`,`D2`,`D3`,`E6`. 282 * When using serial, define this. `D0` or `D1`,`D2`,`D3`,`E6`.
@@ -280,6 +284,7 @@ There are a few different ways to set handedness for split keyboards (listed in
280* `#define MATRIX_ROW_PINS_RIGHT { <row pins> }` 284* `#define MATRIX_ROW_PINS_RIGHT { <row pins> }`
281* `#define MATRIX_COL_PINS_RIGHT { <col pins> }` 285* `#define MATRIX_COL_PINS_RIGHT { <col pins> }`
282 * If you want to specify a different pinout for the right half than the left half, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently, the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` and likewise for the definition of columns. 286 * If you want to specify a different pinout for the right half than the left half, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently, the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` and likewise for the definition of columns.
287 * may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
283 288
284* `#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }` 289* `#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }`
285 * If you want to specify a different direct pinout for the right half than the left half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of `DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`. 290 * If you want to specify a different direct pinout for the right half than the left half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of `DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`.
@@ -300,7 +305,7 @@ There are a few different ways to set handedness for split keyboards (listed in
300* `#define SPLIT_USB_DETECT` 305* `#define SPLIT_USB_DETECT`
301 * Detect (with timeout) USB connection when delegating master/slave 306 * Detect (with timeout) USB connection when delegating master/slave
302 * Default behavior for ARM 307 * Default behavior for ARM
303 * Required for AVR Teensy 308 * Required for AVR Teensy (without hardware mods)
304 309
305* `#define SPLIT_USB_TIMEOUT 2000` 310* `#define SPLIT_USB_TIMEOUT 2000`
306 * Maximum timeout when detecting master/slave when using `SPLIT_USB_DETECT` 311 * Maximum timeout when detecting master/slave when using `SPLIT_USB_DETECT`
@@ -308,6 +313,28 @@ There are a few different ways to set handedness for split keyboards (listed in
308* `#define SPLIT_USB_TIMEOUT_POLL 10` 313* `#define SPLIT_USB_TIMEOUT_POLL 10`
309 * Poll frequency when detecting master/slave when using `SPLIT_USB_DETECT` 314 * Poll frequency when detecting master/slave when using `SPLIT_USB_DETECT`
310 315
316* `#define FORCED_SYNC_THROTTLE_MS 100`
317 * Deadline for synchronizing data from master to slave when using the QMK-provided split transport.
318
319* `#define SPLIT_TRANSPORT_MIRROR`
320 * Mirrors the master-side matrix on the slave when using the QMK-provided split transport.
321
322* `#define SPLIT_LAYER_STATE_ENABLE`
323 * Ensures the current layer state is available on the slave when using the QMK-provided split transport.
324
325* `#define SPLIT_LED_STATE_ENABLE`
326 * Ensures the current host indicator state (caps/num/scroll) is available on the slave when using the QMK-provided split transport.
327
328* `#define SPLIT_MODS_ENABLE`
329 * Ensures the current modifier state (normal, weak, and oneshot) is available on the slave when using the QMK-provided split transport.
330
331* `#define SPLIT_WPM_ENABLE`
332 * Ensures the current WPM is available on the slave when using the QMK-provided split transport.
333
334* `#define SPLIT_TRANSACTION_IDS_KB .....`
335* `#define SPLIT_TRANSACTION_IDS_USER .....`
336 * Allows for custom data sync with the slave when using the QMK-provided split transport. See [custom data sync between sides](feature_split_keyboard.md#custom-data-sync) for more information.
337
311# The `rules.mk` File 338# The `rules.mk` File
312 339
313This is a [make](https://www.gnu.org/software/make/manual/make.html) file that is included by the top-level `Makefile`. It is used to set some information about the MCU that we will be compiling for as well as enabling and disabling certain features. 340This is a [make](https://www.gnu.org/software/make/manual/make.html) file that is included by the top-level `Makefile`. It is used to set some information about the MCU that we will be compiling for as well as enabling and disabling certain features.
@@ -375,6 +402,8 @@ Use these to enable or disable building certain features. The more you have enab
375 * USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 402 * USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
376* `AUDIO_ENABLE` 403* `AUDIO_ENABLE`
377 * Enable the audio subsystem. 404 * Enable the audio subsystem.
405* `KEY_OVERRIDE_ENABLE`
406 * Enable the key override feature
378* `RGBLIGHT_ENABLE` 407* `RGBLIGHT_ENABLE`
379 * Enable keyboard underlight functionality 408 * Enable keyboard underlight functionality
380* `LEADER_ENABLE` 409* `LEADER_ENABLE`