summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorshela <shelaf@users.noreply.github.com>2020-06-23 16:24:23 +0900
committerGitHub <noreply@github.com>2020-06-23 16:24:23 +0900
commit9ae8a451978dac09365a95f1e0173166fca3d096 (patch)
treeb04dc47d02db21444a80246691749b0e3b03b3b4 /docs
parenta8bb5840ad3e093b82e5c08fd594ab35c554a876 (diff)
downloadqmk_firmware-9ae8a451978dac09365a95f1e0173166fca3d096.tar.gz
qmk_firmware-9ae8a451978dac09365a95f1e0173166fca3d096.zip
fixed the layer limit of LT() (#9492)
Diffstat (limited to 'docs')
-rw-r--r--docs/feature_layers.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/feature_layers.md b/docs/feature_layers.md
index c6ffb24053..d3ee747e69 100644
--- a/docs/feature_layers.md
+++ b/docs/feature_layers.md
@@ -19,7 +19,7 @@ These functions allow you to activate layers in various ways. Note that layers a
### Caveats :id=caveats
-Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Specifically, dual function keys like `LT` and `MT` use a 16 bit keycode. 4 bits are used for the function identifier, the next 12 are divided into the parameters. Layer Tap uses 4 bits for the layer (and is why it's limited to layers 0-16, actually), while Mod Tap does the same, 4 bits for the identifier, 4 bits for which mods are used, and all of them use 8 bits for the keycode. Because of this, the keycode used is limited to `0xFF` (0-255), which are the basic keycodes only.
+Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Specifically, dual function keys like `LT` and `MT` use a 16 bit keycode. 4 bits are used for the function identifier, the next 12 are divided into the parameters. Layer Tap uses 4 bits for the layer (and is why it's limited to layers 0-15, actually), while Mod Tap does the same, 4 bits for the identifier, 4 bits for which mods are used, and all of them use 8 bits for the keycode. Because of this, the keycode used is limited to `0xFF` (0-255), which are the basic keycodes only.
Expanding this would be complicated, at best. Moving to a 32-bit keycode would solve a lot of this, but would double the amount of space that the keymap matrix uses. And it could potentially cause issues, too. If you need to apply modifiers to your tapped keycode, [Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this.