summaryrefslogtreecommitdiff
path: root/tmk_core/doc
diff options
context:
space:
mode:
authorThiago Alves <talk@thiagoalves.com.br>2016-05-05 18:41:37 -0700
committerJack Humbert <jack.humb@gmail.com>2016-05-05 21:41:37 -0400
commit74e97eefd7ae76f9ddcb76890a30aa9038804cdb (patch)
tree9bdf7ce6ffb97a024c8230e5e960d53503262ced /tmk_core/doc
parentd4520cd3ac7550fc7243e9a76824d9ba674875c6 (diff)
Adds oneshot layer and oneshot tap toggling (#308)
This commit is mostly a cherry-pick from `ahtn` at https://github.com/tmk/tmk_keyboard/pull/255. These are the changes: * Adds ACTION_LAYER_ONESHOT * Adds ONESHOT_TAP_TOGGLE * Mentions sticky keys in the docs on oneshot.
Diffstat (limited to 'tmk_core/doc')
-rw-r--r--tmk_core/doc/keymap.md8
1 files changed, 7 insertions, 1 deletions
diff --git a/tmk_core/doc/keymap.md b/tmk_core/doc/keymap.md
index d4a129b208..4d42fbe5cb 100644
--- a/tmk_core/doc/keymap.md
+++ b/tmk_core/doc/keymap.md
@@ -528,14 +528,20 @@ This is a feature to assign both toggle layer and momentary switch layer action
### 4.3 Oneshot Modifier
-This runs onetime effects which modify only on just one following key. It works as normal modifier key when holding down while oneshot modifier when tapping.
+This runs onetime effects which modify only on just one following key. It works as normal modifier key when holding down while oneshot modifier when tapping. The behavior of oneshot modifiers is similar to the [sticky keys](https://en.wikipedia.org/wiki/StickyKeys) functionality found in most operating systems.
ACTION_MODS_ONESHOT(MOD_LSFT)
+Oneshot layer key:
+
+ ACTION_LAYER_ONESHOT(MY_LAYER)
+
Say you want to type 'The', you have to push and hold Shift key before type 't' then release it before type 'h' and 'e', otherwise you'll get 'THe' or 'the' unintentionally. With Oneshot Modifier you can tap Shift then type 't', 'h' and 'e' normally, you don't need to holding Shift key properly here. This mean you can release Shift before 't' is pressed down.
Oneshot effect is cancel unless following key is pressed down within `ONESHOT_TIMEOUT` of `config.h`. No timeout when it is `0` or not defined.
+Most implementations of sticky keys allow you to lock a modifier by double tapping the modifier. The layer then remains locked untill the modifier is tapped again. To enable this behaviour for oneshot modifiers set `ONESHOT_TAP_TOGGLE` to the number taps required. The feature is disabled if `ONESHOT_TAP_TOGGLE<2` or not defined.
+
### 4.4 Tap Toggle Mods
Similar to layer tap toggle, this works as a momentary modifier when holding, but toggles on with several taps. A single tap will 'unstick' the modifier again.