]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Added initial key lock documentation.
authorFredric Silberberg <fred@silberberg.xyz>
Sun, 6 Aug 2017 09:09:34 +0000 (02:09 -0700)
committerJack Humbert <jack.humb@gmail.com>
Tue, 8 Aug 2017 14:02:53 +0000 (10:02 -0400)
docs/_summary.md
docs/key_lock.md [new file with mode: 0644]
docs/make_instructions.md
docs/quantum_keycodes.md

index 723377de9824da567b29483c81cb48867d3f8a42..0f65de0ddec386437cf9690dc83c0ed32c6b454d 100644 (file)
@@ -17,6 +17,7 @@
   * [Mouse keys](mouse_keys.md)
   * [Unicode](unicode.md)
   * [Stenography](stenography.md)
+  * [Key Lock](key_lock.md)
 
 * Reference
   * [Glossary](glossary.md)
diff --git a/docs/key_lock.md b/docs/key_lock.md
new file mode 100644 (file)
index 0000000..03cea20
--- /dev/null
@@ -0,0 +1,11 @@
+## Key Lock: Holding down keys for you
+
+Sometimes, you need to hold down a specific key for a long period of time. Whether this is while typing in ALL CAPS, or playing a video game that hasn't implemented auto-run, Key Lock is here to help. Key Lock adds a new keycode, `KC_LOCK`, that will hold down the next key you hit for you. The key is released when you hit it again. Here's an example: let's say you need to type in all caps for a few sentences. You hit KC_LOCK, and then shift. Now, shift will be considered held until you hit it again. You can think of key lock as caps lock, but supercharged.
+
+Here's how to use it:
+
+1. Pick a key on your keyboard. This will be the key lock key. Assign it the keycode `KC_LOCK`. This will be a single-action key: you won't be able to use it for anything else.
+2. Enable key lock by including `KEY_LOCK_ENABLE = yes` in your Makefile.
+3. That's it!
+
+Important: switching layers does not cancel the key lock. Additionally, key lock is only able to hold standard action keys. This does not include any of the QMK special functions, or shifted versions of keys such as KC_LPRN. If it's in the [basic_keycodes](basic_keycodes.md) list, it can be held. If it's not, then it can't be.
index 64c1cb0f0006743d2ace0b4f860b42d2ffe43405..299c5785b270fd349eee82a5d267a7447c0af67d 100644 (file)
@@ -158,6 +158,10 @@ This enables using the Quantum SYSEX API to send strings (somewhere?)
 
 This consumes about 5390 bytes.
 
+`KEY_LOCK_ENABLE`
+
+This enables [key lock](key_lock.md). This consumes an additional 260 bytes.
+
 ## Customizing Makefile options on a per-keymap basis
 
 If your keymap directory has a file called `Makefile` (note the filename), any Makefile options you set in that file will take precedence over other Makefile options for your particular keyboard.
index 36dbda7a9c2095bf4930dfa4f6b468802e7b6f21..f13801ef59283aeb6c8f5de60f1ba0c4d98e6b67 100644 (file)
@@ -17,6 +17,7 @@ On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are
 |`FUNC(n)`/`F(n)`|Call `fn_action(n)`|
 |`M(n)`|to call macro n|
 |`MACROTAP(n)`|to macro-tap n idk FIXME|
+|`KC_LOCK`|The [lock key](key_lock.md)|
 
 ## Bootmagic Keycodes