summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--app/boards/shields/qaz/Kconfig.defconfig4
-rw-r--r--app/boards/shields/qaz/Kconfig.shield8
-rw-r--r--app/boards/shields/qaz/qaz.keymap25
-rw-r--r--app/boards/shields/qaz/qaz.overlay4
-rw-r--r--docs/docs/behavior/hold-tap.md10
-rw-r--r--docs/docs/behavior/layers.md20
-rw-r--r--docs/docs/intro.md33
8 files changed, 72 insertions, 33 deletions
diff --git a/.gitignore b/.gitignore
index e02cca0..40e0536 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/tools
/zephyr
/build
+*.DS_Store
diff --git a/app/boards/shields/qaz/Kconfig.defconfig b/app/boards/shields/qaz/Kconfig.defconfig
index f82f458..c84180b 100644
--- a/app/boards/shields/qaz/Kconfig.defconfig
+++ b/app/boards/shields/qaz/Kconfig.defconfig
@@ -1,5 +1,5 @@
- # Copyright (c) 2020 TJ Campie
- # SPDX-License-Identifier: MIT
+# Copyright (c) 2020 The ZMK Contributors
+# SPDX-License-Identifier: MIT
if SHIELD_QAZ
diff --git a/app/boards/shields/qaz/Kconfig.shield b/app/boards/shields/qaz/Kconfig.shield
index 9da6077..7cc8f1e 100644
--- a/app/boards/shields/qaz/Kconfig.shield
+++ b/app/boards/shields/qaz/Kconfig.shield
@@ -1,5 +1,5 @@
-# Copyright (c) 2020 TJ Campie
+# Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT
-
- config SHIELD_MY_BOARD
- def_bool $(shields_list_contains,qaz)
+
+config SHIELD_QAZ
+ def_bool $(shields_list_contains,qaz)
diff --git a/app/boards/shields/qaz/qaz.keymap b/app/boards/shields/qaz/qaz.keymap
index 07cd90e..3622972 100644
--- a/app/boards/shields/qaz/qaz.keymap
+++ b/app/boards/shields/qaz/qaz.keymap
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2020 TJ Campie
- *
+ * Copyright (c) 2020 The ZMK Contributors
+ *
* SPDX-License-Identifier: MIT
*/
@@ -11,7 +11,20 @@
#define DEFAULT 0
#define NUM_SYM 1
#define NAV 2
-
+
+/ {
+ behaviors {
+ hm: homerow_mods {
+ compatible = "zmk,behavior-hold-tap";
+ label = "homerow mods";
+ #binding-cells = <2>;
+ tapping_term_ms = <225>;
+ flavor = "tap-preferred";
+ bindings = <&kp>, <&kp>;
+ };
+ };
+};
+
/ {
keymap {
compatible = "zmk,keymap";
@@ -19,9 +32,9 @@
default_layer {
bindings = <
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
- &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp RET
+ &hm LGUI A &hm LALT S &hm LCTL D &hm LSFT F &kp G &kp H &hm RSFT J &hm RCTL K &hm RALT L &hm RGUI RET
&kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT
- &kp LSFT &kp LGUI &kp LALT &mo NAV &kp SPC &mo NUM_SYM &kp QUOT &kp FSLH
+ &kp LSFT &kp LGUI &kp LALT &lt NAV RET &lt NUM_SYM SPC &kp COLN &kp QUOT &kp FSLH
>;
};
num_sym {
@@ -38,7 +51,7 @@
&bt BT_CLR &bt BT_NXT &bt BT_PRV &none &none &none &none &kp UARW &none &kp BKSP
&trans &trans &trans &trans &none &none &kp LARW &kp DARW &kp RARW &none
&none &none &none &none &none &none &none &none &none
- &none &none &none &none &none &trans &trans &kp RET &trans &kp FSLH
+ &none &none &none &trans &trans &kp RET &trans &kp FSLH
>;
};
};
diff --git a/app/boards/shields/qaz/qaz.overlay b/app/boards/shields/qaz/qaz.overlay
index 472005b..4e73370 100644
--- a/app/boards/shields/qaz/qaz.overlay
+++ b/app/boards/shields/qaz/qaz.overlay
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2020 TJ Campie
- *
+ * Copyright (c) 2020 The ZMK Contributors
+ *
* SPDX-License-Identifier: MIT
*/
diff --git a/docs/docs/behavior/hold-tap.md b/docs/docs/behavior/hold-tap.md
index ab51022..9f8f5fa 100644
--- a/docs/docs/behavior/hold-tap.md
+++ b/docs/docs/behavior/hold-tap.md
@@ -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)
-### 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:
```
@@ -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.
-#### Note
-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`.
+#### Comparison to QMK
+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`. \ No newline at end of file
diff --git a/docs/docs/behavior/layers.md b/docs/docs/behavior/layers.md
index da7f07f..c769388 100644
--- a/docs/docs/behavior/layers.md
+++ b/docs/docs/behavior/layers.md
@@ -26,7 +26,7 @@ This allows you to use those defines, e.g. `LOWER` later in your keymap.
## 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
again.
@@ -41,9 +41,25 @@ Example:
&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
-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
diff --git a/docs/docs/intro.md b/docs/docs/intro.md
index 50a747c..8c1c043 100644
--- a/docs/docs/intro.md
+++ b/docs/docs/intro.md
@@ -7,31 +7,36 @@ sidebar_label: Introduction
ZMK Firmware is an open source (MIT) keyboard
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
feature.
## 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:
-- HID Over GATT (HOG) - This is the official term for BLE HID devices
-- Keymaps and layers with basic keycodes
-- Some initial work on one "behavior", Mod-Tap
-- Basic HID over USB
-- Basic consumer (media) keycodes.
-- Basic OLED display logic
-- Basic Split support
-- Encoders
+- Wireless connectivity via BLE HID Over GATT (HOG)
+- USB connectivity
+- Low active power usage
+- Split keyboard support
+- [Keymaps and layers](behavior/layers)
+- [Hold-tap](behavior/hold-tap) (which includes [mod-tap](behavior/mod-tap), [layer-tap](behavior/layers))
+- [Basic HID over USB](behavior/key-press)
+- [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
-- One Shot
-- Layer Tap
-- Complete split support
+- One Shot Keys
+- Combo keys
+- Macros
+- Complete split support (encoders and RGB are not supported on the 'peripheral' side)
- Battery reporting
-- Low power mode
+- Low power sleep states
+- Low power mode (to toggle LEDs and screen off)
- Shell over BLE
## Code Of Conduct