]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - doc/keymap.md
Created "teckinesis" keymap folder
[qmk_firmware.git] / doc / keymap.md
index 7ef7430c961dd7f97f9a0f7f9fe6d3d78e840ba6..d1985e567c86d54ad34a59d1820434910744c66d 100644 (file)
@@ -198,7 +198,7 @@ There are 8 modifiers which has discrimination between left and right.
  See keycode table in [`doc/keycode.txt`](./keycode.txt) for description of keycodes.
 
  In regard to implementation side most of keycodes are identical with [HID usage][HID_usage](pdf) sent to host for real and some virtual keycodes are defined to support special actions.
-[HID_usage]: http://www.usb.org/developers/devclass_docs/Hut1_11.pdf
+[HID_usage]: http://www.usb.org/developers/hidpage/Hut1_12v2.pdf
 
 
 
@@ -269,7 +269,7 @@ Default Layer is a layer which always is valid and referred to when actions is n
 
 This sets Default Layer to given parameter `layer` and activate it.
 
-    ACTION_DEFAULT_LAYER(layer)
+    ACTION_DEFAULT_LAYER_SET(layer)
 
 
 #### 2.2.2 Momentary 
@@ -378,7 +378,7 @@ Default Layer also has bitwise operations, they are executed when key is release
 #### 2.3.2 Examples
 
 ***TODO: sample implementation***
-See `keyboard/hhkb/keymap.c` for sample.
+See `keyboards/hhkb/keymap.c` for sample.
 
 
 
@@ -424,7 +424,7 @@ This C function is called every time key is operated, argument `id` selects acti
     } key_t;
 
 ***TODO: sample implementation***
-See `keyboard/hhkb/keymap.c` for sample.
+See `keyboards/hhkb/keymap.c` for sample.
 
 
 
@@ -444,6 +444,10 @@ Step through backlight levels.
 
     ACTION_BACKLIGHT_STEP()
 
+Turn a specific backlight level on or off.
+
+    ACTION_BACKLIGHT_LEVEL(1)
+
 #### 2.5.2 Turn on / off backlight
 Turn the backlight on and off without changing level.
 
@@ -493,6 +497,13 @@ Number of taps can be configured with `TAPPING_TOGGLE` in `config.h`, `5` by def
 
 
 
+### 3.5 Momentary switching with Modifiers
+This registers modifier key(s) simultaneously with layer switching.
+
+    ACTION_LAYER_MODS(2, MOD_LSFT | MOD_LALT)
+
+
+
 ## 4. Tapping
 Tapping is to press and release a key quickly. Tapping speed is determined with setting of `TAPPING_TERM`, which can be defined in `config.h`, 200ms by default.
 
@@ -517,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.