You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Knucklehead[^1] is a mnemonic, macOS-optimized, 42 key ergonomic columnar layout for [corne-style split keyboards](https://github.com/foostan/crkbd), designed[^2] to ease the transition from standard ANSI Apple-style keyboards.
6
4
7
-
> [!WARNING]\
8
-
> [Home Row Mods](#timer-less-home-row-mods) are now the default. Previous version available on the [legacy branch](https://github.com/minusfive/zmk-config/tree/legacy).
5
+
> [!WARNING]
9
6
>
10
7
> Under **_active development_**. Expect breaking changes and scarce/incomplete documentation.
> Drawn with [@caksoylar's Keymap Drawer](https://github.com/caksoylar/keymap-drawer)
17
14
15
+
> [!IMPORTANT]
16
+
>
17
+
> [Home Row Mods](#timer-less-home-row-mods) are now the default. Previous version available on the [legacy branch](https://github.com/minusfive/zmk-config/tree/legacy).
18
+
18
19
## Legend
19
20
20
21
| Symbol | Key Name | Symbol | Key Name |
@@ -35,8 +36,15 @@ Knucklehead[^1] is a mnemonic, macOS-optimized, 42 key ergonomic columnar layout
35
36
36
37
### Mnemonic Affordances
37
38
38
-
> [!NOTE]\
39
-
> These are **optimized for the [Colemak-DH](https://colemakmods.github.io/mod-dh/)** layout. While many will work well regardless of layout, others will be "lost in translation".
39
+
> [!NOTE]
40
+
>
41
+
> These are **optimized for the [Colemak-DH](https://colemakmods.github.io/mod-dh/)** layout (default). However, most should still work well regardless of layout, while others will be "lost in translation".
> See: [Using layouts other than Colemak-DH](#using-layouts-other-than-colemak-dh)
42
50
@@ -91,7 +99,8 @@ Together with the [single base layer](#single-base-layer) and [upper layer swapp
91
99
92
100
By using [@urob's Timer-less](https://github.com/urob/zmk-config?tab=readme-ov-file#timeless-homerow-mods)[Home Row Mods](https://precondition.github.io/home-row-mods), modifier keys (`⌃`, `⌥`, `⌘`, `▲`) can be activated by holding keys in the "home row", consistently across layers, without interfering with normal typing (i.e. without the need to tap a key within a certain time window).
93
101
94
-
> [!NOTE]\
102
+
> [!NOTE]
103
+
>
95
104
> To hold-repeat a key in the home row (or any other dual-purpose key), simply tap it twice and hold.
96
105
97
106
---
@@ -104,7 +113,8 @@ The most common example of this type of behavior is [ZMK's `&caps_word`](https:/
104
113
105
114
This layout uses 2 smart word behaviors (marked with the 🆆 symbol):
106
115
107
-
> [!NOTE]\
116
+
> [!NOTE]
117
+
>
108
118
> Both of these were taken from [@urob's fantastic layout](https://github.com/urob/zmk-config).
109
119
110
120
#### Smart Shift
@@ -146,7 +156,8 @@ On `L2` the same thumb keys you use to summon it will act as follows:
146
156
147
157
### Non-Stacking Upper Layers
148
158
149
-
> [!NOTE]\
159
+
> [!NOTE]
160
+
>
150
161
> If this all sounds like gibberish to you here's all you need to understand: `L1` should always be the layer behind `L2` or `Fn`. If that's not the case, please [report it as a bug](https://github.com/minusfive/zmk-config/issues).
151
162
152
163
One of [ZMK's great features is its stacking layers model](https://zmk.dev/docs/features/keymaps#layers).
@@ -175,15 +186,6 @@ Without this behavior it might've been confusing if you pressed the `Fn` key whi
> Feel free to submit [PRs](https://github.com/minusfive/zmk-config/pulls) with additional layouts, or [open an issue](https://github.com/minusfive/zmk-config/issues) if you need help with a specific layout. Of course, you're also always welcome to fork this repo and create your own custom layouts.
186
-
187
189
In order to use layouts other than the default [Colemak-DH](https://colemakmods.github.io/mod-dh/) layout, you'll need to comment-out the `#include "L1_colemak-dh.dtsi"` statement in [./knucklehead/base.dtsi](./knucklehead/base.dtsi), and uncomment the corresponding layout file you wish to use. E.g.:
188
190
189
191
```diff
@@ -197,6 +199,16 @@ In order to use layouts other than the default [Colemak-DH](https://colemakmods.
197
199
+#include "L1_qwerty.dtsi"
198
200
```
199
201
202
+
Feel free to submit [PRs](https://github.com/minusfive/zmk-config/pulls) with additional layouts.
203
+
204
+
## Drawing the Keymap
205
+
206
+
This project uses [@caksoylar's Keymap Drawer](https://github.com/caksoylar/keymap-drawer) to generate the [keymap SVG](./img/corneish_zen.svg) displayed at the top of this document. It can be re-generated by running the [Draw keymap](./.github/workflows/draw.yml), or locally through the Zsh script:
207
+
208
+
```zsh
209
+
./scripts/draw.zsh
210
+
```
211
+
200
212
---
201
213
202
214
## Resources
@@ -207,10 +219,14 @@ In order to use layouts other than the default [Colemak-DH](https://colemakmods.
207
219
-[@caksoylar's Keymap Drawer](https://github.com/caksoylar/keymap-drawer), [ZMK config](https://github.com/caksoylar/zmk-config) and [Display improvements for Corne-ish Zen](https://gist.github.com/caksoylar/c411313990978e1903c244f03039187a)
[^1]: Name inspired by the [Knuckle mnemonic](https://en.wikipedia.org/wiki/Knuckle_mnemonic).
215
227
216
228
[^2]: "Designed" is perhaps too strong a word. "Haphazardly and painfully iterated over dozens of permutations, gradually removing annoyances and disruptions to my flow" is too long, though.
0 commit comments