aboutsummaryrefslogtreecommitdiffstats
path: root/docs/feature_key_lock.md
diff options
context:
space:
mode:
authorGravatar skullydazed <skullydazed@users.noreply.github.com>2017-10-24 20:34:28 -0700
committerGravatar GitHub <noreply@github.com>2017-10-24 20:34:28 -0700
commit67cc5cebc0430d15169e2c649ea25112a31bfa31 (patch)
treef90f432a40b1d03ec7b9e68666c2444f2b2d0e79 /docs/feature_key_lock.md
parent8892c50336fe49fbd3524ed44f2139074dca5ba6 (diff)
downloadqmk_firmware-67cc5cebc0430d15169e2c649ea25112a31bfa31.tar.gz
Restructure the hardware and feature docs to make things easier to find (#1888)
* fix #1313 by documenting more config.h options * Clean up and organize documentation
Diffstat (limited to 'docs/feature_key_lock.md')
-rw-r--r--docs/feature_key_lock.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/feature_key_lock.md b/docs/feature_key_lock.md
new file mode 100644
index 000000000..e424061a9
--- /dev/null
+++ b/docs/feature_key_lock.md
@@ -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 and One Shot modifier keys (for example, if you have your shift defined as `OSM(KC_LSFT)`; see [One Shot Keys](quantum_keycodes.md#one-shot-keys)). This does not include any of the QMK special functions (except One Shot modifiers), 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.