Merge pull request #159 from okke-formsma/docs-update

update intro page, add layer-tap docs and update hold-tap docs.
This commit is contained in:
Pete Johanson 2020-09-14 10:14:15 -04:00 committed by GitHub
commit 676288fef2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 44 additions and 19 deletions

View file

@ -22,7 +22,11 @@ We call this the 'hold-preferred' flavor of hold-taps. While this flavor may wor
![Hold-tap comparison](../assets/hold-tap/comparison.png) ![Hold-tap comparison](../assets/hold-tap/comparison.png)
### Configuration ### Basic usage
For basic usage, please see [mod-tap](./mod-tap.md) and [layer-tap](./layers.md) pages.
### Advanced Configuration
A code example which configures a mod-tap setting that works with homerow mods: A code example which configures a mod-tap setting that works with homerow mods:
``` ```
@ -58,5 +62,5 @@ If this config does not work for you, try the flavor "tap-preferred" and a short
If you want to use a tap-hold with a keycode from a different code page, you have to define another behavior with another "bindings" parameter.For example, if you want to use SHIFT and volume up, define the bindings like `bindings = <&kp>, <&cp>;`. Only single-argument behaviors are supported at the moment. If you want to use a tap-hold with a keycode from a different code page, you have to define another behavior with another "bindings" parameter.For example, if you want to use SHIFT and volume up, define the bindings like `bindings = <&kp>, <&cp>;`. Only single-argument behaviors are supported at the moment.
#### Note #### Comparison to QMK
Astute readers may notice similarities between the possible behaviors in ZMK and other firmware, such as QMK. The hold-preferred flavor works similar to the `HOLD_ON_OTHER_KEY_PRESS` setting. The 'balanced' flavor is similar to the `PERMISSIVE_HOLD` setting, and the `tap-preferred` flavor is similar to `IGNORE_MOD_TAP_INTERRUPT`. The hold-preferred flavor works similar to the `HOLD_ON_OTHER_KEY_PRESS` setting in QMK. The 'balanced' flavor is similar to the `PERMISSIVE_HOLD` setting, and the `tap-preferred` flavor is similar to `IGNORE_MOD_TAP_INTERRUPT`.

View file

@ -26,7 +26,7 @@ This allows you to use those defines, e.g. `LOWER` later in your keymap.
## Momentary Layer ## Momentary Layer
The "momentary layer" behavior allows you to enable a layer while a certain key is pressed. Immediately upon The "momentary layer" behavior enables a layer while a certain key is pressed. Immediately upon
activation of the key, the layer is enabled, and immediately open release of the key, the layer is disabled activation of the key, the layer is enabled, and immediately open release of the key, the layer is disabled
again. again.
@ -41,9 +41,25 @@ Example:
&mo LOWER &mo LOWER
``` ```
## Layer-tap
The "layer-tap" behavior enables a layer when a key is held, and output another key when the key is only tapped for a short time. For more information on the inner workings of layer-tap, see [hold-tap](./hold-tap.md).
### Behavior Binding
- Reference: `&lt`
- Parameter: The layer number to enable when held, e.g. `1`
- Parameter: The keycode to send when tapped, e.g. `A`
Example:
```
&lt LOWER SPC
```
## Toggle Layer ## Toggle Layer
The "toggle layer" behavior allows you to enable a layer until the layer is manually disabled. The "toggle layer" behavior enables a layer until the layer is manually disabled.
### Behavior Binding ### Behavior Binding

View file

@ -7,31 +7,36 @@ sidebar_label: Introduction
ZMK Firmware is an open source (MIT) keyboard ZMK Firmware is an open source (MIT) keyboard
firmware built on the [Zephyr™ Project](https://zephyrproject.org/) Real Time Operating System (RTOS). firmware built on the [Zephyr™ Project](https://zephyrproject.org/) Real Time Operating System (RTOS).
The goal is to provider a powerful, featureful keyboard firmware that is free The goal is to provide a powerful, featureful keyboard firmware that is free
of licensing issues that prevent upstream BLE support as a first-class of licensing issues that prevent upstream BLE support as a first-class
feature. feature.
## Features ## Features
At this point, ZMK is _missing_ more features than it has. Currently, the mostly working bits At this point, ZMK is still missing many features. Currently, the working bits
include: include:
- HID Over GATT (HOG) - This is the official term for BLE HID devices - Wireless connectivity via BLE HID Over GATT (HOG)
- Keymaps and layers with basic keycodes - USB connectivity
- Some initial work on one "behavior", Mod-Tap - Low active power usage
- Basic HID over USB - Split keyboard support
- Basic consumer (media) keycodes. - [Keymaps and layers](behavior/layers)
- Basic OLED display logic - [Hold-tap](behavior/hold-tap) (which includes [mod-tap](behavior/mod-tap), [layer-tap](behavior/layers))
- Basic Split support - [Basic HID over USB](behavior/key-press)
- Encoders - [Basic consumer (media) keycodes](behavior/key-press#consumer-key-press)
- [Encoders](feature/encoders)
- Basic [OLED display support](feature/displays)
- [RGB Underglow](feature/underglow)
## Missing Features ## Missing Features
- One Shot - One Shot Keys
- Layer Tap - Combo keys
- Complete split support - Macros
- Complete split support (encoders and RGB are not supported on the 'peripheral' side)
- Battery reporting - Battery reporting
- Low power mode - Low power sleep states
- Low power mode (to toggle LEDs and screen off)
- Shell over BLE - Shell over BLE
## Code Of Conduct ## Code Of Conduct