Skip to content

Commit 7a82e2c

Browse files
committed
feat(behavior): added rst_boot behavior
1 parent bff485d commit 7a82e2c

File tree

9 files changed

+1346
-59
lines changed

9 files changed

+1346
-59
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ modules/
55
tools/
66
.west/
77
.DS_Store
8+
.venv/

README.md

+22-37
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Knucklehead is a mnemonic, macOS-optimized, 42[^1] key ergo columnar keyboard la
44

55
---
66

7-
> [!WARNING]\
7+
> [!CAUTION]\
88
> Under **_active development_**, expect changes. Scarce/incomplete documentation. Use at your own risk.
99
1010
> [!NOTE]\
@@ -27,42 +27,27 @@ Knucklehead is a mnemonic, macOS-optimized, 42[^1] key ergo columnar keyboard la
2727
2828
## Legend
2929

30-
| Symbol | Key Name |
31-
| :----: | ------------------------------------------------------------- |
32-
|| Control |
33-
|| Option |
34-
|| Command |
35-
|| Shift |
36-
|| Caps Lock |
37-
|| ⌃⌥⇧ at once (a.k.a. "Meh") |
38-
|| Backspace |
39-
|| Delete |
40-
|| Return |
41-
|| Tab |
42-
|| Space |
43-
| `w` | [Smart `w`ord behavior](#smart-word-behaviors) |
44-
| `×` | [E`x`it smart `w`ord behavior](#exiting-smart-word-behaviors) |
45-
| `L1` | Layer 1 |
46-
| `L2` | Layer 2 |
47-
| `Fn` | Function Layer |
48-
49-
<!-- | ⌽ | power | -->
50-
<!-- | ⏏ | eject | -->
51-
<!-- | ⌤ | enter | -->
52-
<!-- | ⇭ | num lock | -->
53-
<!-- | ⇱ | home | -->
54-
<!-- | ⇲ | end | -->
55-
<!-- | ⇞ | page up | -->
56-
<!-- | ⇟ | page down | -->
57-
<!-- | ↑ | up arrow | -->
58-
<!-- | ⇡ | up arrow | -->
59-
<!-- | ↓ | down arrow | -->
60-
<!-- | ⇣ | down arrow | -->
61-
<!-- | ← | left arrow | -->
62-
<!-- | ⇠ | left arrow | -->
63-
<!-- | → | right arrow | -->
64-
<!-- | ⇢ | right arrow | -->
65-
<!-- | ⌧ | clear | -->
30+
| Symbol | Key Name |
31+
| :----: | ----------------------------------------------------------- |
32+
|| Control |
33+
|| Option |
34+
|| Command |
35+
|| Shift |
36+
|| Caps Lock |
37+
|| Meh (⌃ + ⌥ + ⇧) |
38+
|| Backspace |
39+
|| Delete |
40+
|| Return |
41+
|| Tab |
42+
|| Space |
43+
|| Power |
44+
|| Page Up |
45+
|| Page Down |
46+
|| [E☒it smart `w`ord behavior](#exiting-smart-word-behaviors) |
47+
| `w` | [Smart `w`ord behavior](#smart-word-behaviors) |
48+
| `L1` | Layer 1 |
49+
| `L2` | Layer 2 |
50+
| `Fn` | Function Layer |
6651

6752
## Features
6853

config/west.yml

+5-8
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,17 @@ manifest:
3333
remote: urob
3434
revision: main
3535
path: modules/auto-layer
36+
3637
- name: zmk-tri-state
3738
remote: caksoylar
3839
revision: split-locality
3940
path: modules/tri-state
4041

41-
# ZMK with Zephyr namespaced under /zmk. This requires that ZMK imports
42-
# Zephyr with a path other than `zephyr` (as in `going-modular`).
4342
- name: zmk
44-
remote: urob
45-
revision: going-modular
46-
path: .
47-
import:
48-
file: app/west.yml
49-
path-prefix: zmk
43+
remote: caksoylar
44+
import: app/west.yml
45+
# See: https://gist.github.com/caksoylar/c411313990978e1903c244f03039187a
46+
revision: caksoylar/zen-v1+v2 # Zen display improvements
5047

5148
self:
5249
path: config

keymap-drawer/config.yaml

+5-1
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,10 @@ parse_config:
463463
tap: $$mdi:backup-restore$$
464464
"&bootloader":
465465
tap: $$mdi:progress-download$$
466+
"&rst_boot":
467+
type: bootloader
468+
tap: $$mdi:backup-restore$$
469+
hold: $$mdi:progress-download$$
466470

467471
# ZMK
468472
zmk_keycode_map:
@@ -609,7 +613,7 @@ parse_config:
609613
RSHIFT: $$mdi:apple-keyboard-shift$$
610614
RSHFT: $$mdi:apple-keyboard-shift$$
611615
RCMD: $$mdi:apple-keyboard-command$$
612-
LS(LC(LALT)): $$mdi:star-three-points$$ # Meh
616+
LS(LC(LALT)): $$mdi:triangle$$ # Meh
613617

614618
# Arrows
615619
UP: $$mdi:arrow-up-bold$$

keymap-drawer/corneish_zen.svg

+1,283
Loading

keymap-drawer/corneish_zen.yaml

+9-9
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ layers:
1818
- {t: R, h: '$$mdi:apple-keyboard-control$$'}
1919
- {t: S, h: '$$mdi:apple-keyboard-option$$'}
2020
- {t: T, h: '$$mdi:apple-keyboard-command$$'}
21-
- {t: G, h: '$$mdi:star-three-points$$'}
22-
- {t: M, h: '$$mdi:star-three-points$$'}
21+
- {t: G, h: '$$mdi:triangle$$'}
22+
- {t: M, h: '$$mdi:triangle$$'}
2323
- {t: N, h: '$$mdi:apple-keyboard-command$$'}
2424
- {t: E, h: '$$mdi:apple-keyboard-option$$'}
2525
- {t: I, h: '$$mdi:apple-keyboard-control$$'}
@@ -61,8 +61,8 @@ layers:
6161
- {t: '7', h: '$$mdi:apple-keyboard-control$$', s: '&'}
6262
- {t: '8', h: '$$mdi:apple-keyboard-option$$', s: '*'}
6363
- {t: '9', h: '$$mdi:apple-keyboard-command$$', s: (}
64-
- {t: '0', h: '$$mdi:star-three-points$$', s: )}
65-
- {t: '$$mdi:arrow-left-bold$$', h: '$$mdi:star-three-points$$'}
64+
- {t: '0', h: '$$mdi:triangle$$', s: )}
65+
- {t: '$$mdi:arrow-left-bold$$', h: '$$mdi:triangle$$'}
6666
- {t: '$$mdi:arrow-down-bold$$', h: '$$mdi:apple-keyboard-command$$'}
6767
- {t: '$$mdi:arrow-up-bold$$', h: '$$mdi:apple-keyboard-option$$'}
6868
- {t: '$$mdi:arrow-right-bold$$', h: '$$mdi:apple-keyboard-control$$'}
@@ -99,25 +99,25 @@ layers:
9999
- {t: '$$mdi:transfer$$', type: trans}
100100
- {t: '$$mdi:transfer$$', type: trans}
101101
- $$mdi:power-standby$$
102-
- {t: '$$mdi:backup-restore$$', type: bootloader}
102+
- {t: '$$mdi:backup-restore$$', h: '$$mdi:progress-download$$', type: bootloader}
103103
- F6
104104
- {t: F7, h: '$$mdi:apple-keyboard-control$$'}
105105
- {t: F8, h: '$$mdi:apple-keyboard-option$$'}
106106
- {t: F9, h: '$$mdi:apple-keyboard-command$$'}
107-
- {t: F10, h: '$$mdi:star-three-points$$'}
107+
- {t: F10, h: '$$mdi:triangle$$'}
108108
- {t: '$$mdi:transfer$$', type: trans}
109109
- {t: '$$mdi:transfer$$', type: trans}
110110
- {t: '$$mdi:transfer$$', type: trans}
111111
- {t: '$$mdi:transfer$$', type: trans}
112112
- {t: '$$mdi:transfer$$', type: trans}
113-
- {t: '$$mdi:backup-restore$$', type: bootloader}
113+
- {t: '$$mdi:backup-restore$$', h: '$$mdi:progress-download$$', type: bootloader}
114114
- {t: '$$mdi:close-box$$', h: Fn}
115115
- F11
116116
- F12
117117
- {t: '$$mdi:transfer$$', type: trans}
118118
- {t: '$$mdi:transfer$$', type: trans}
119-
- $$mdi:progress-download$$
120-
- $$mdi:progress-download$$
119+
- {t: '$$mdi:transfer$$', type: trans}
120+
- {t: '$$mdi:transfer$$', type: trans}
121121
- {t: '$$mdi:transfer$$', type: trans}
122122
- {t: '$$mdi:transfer$$', type: trans}
123123
- {t: '$$mdi:transfer$$', type: trans}

knucklehead/Fn.dtsi

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
&out OUT_TOG &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &trans &trans &trans &trans &kp C_POWER
1515
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
1616
// │12 │13 │14 │15 │16 │17 │ │18 │19 │20 │21 │22 │23 │
17-
&sys_reset &kp F6 &hrml LCTRL F7 &hrml LALT F8 &hrml LCMD F9 &hrml MEH F10 &trans &trans &trans &trans &trans &sys_reset
17+
&rst_boot &kp F6 &hrml LCTRL F7 &hrml LALT F8 &hrml LCMD F9 &hrml MEH F10 &trans &trans &trans &trans &trans &rst_boot
1818
// ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
1919
// │24 │25 │26 │27 │28 │29 │ │30 │31 │32 │33 │34 │35 │
20-
&cmo Fn &kp F11 &kp F12 &trans &trans &bootloader &bootloader &trans &trans &trans &trans &cmo Fn
20+
&cmo Fn &kp F11 &kp F12 &trans &trans &trans &trans &trans &trans &trans &trans &cmo Fn
2121
// ╰───────────────┴───────────────┴───────────────┼───────────────┼───────────────┼───────────────┤ ├───────────────├───────────────┼───────────────┼───────────────┴───────────────┴───────────────╯
2222
// │36 │37 │38 │ │39 │40 │41 │
2323
&kp C_BRI_DN &kp C_BRI_UP &cmo L2 &cmo L2 &kp CAPSLOCK &trans

knucklehead/behaviors.dtsi

+12
Original file line numberDiff line numberDiff line change
@@ -182,5 +182,17 @@
182182
mods = <(MOD_LSFT|MOD_RSFT)>;
183183
#binding-cells = <0>;
184184
};
185+
186+
/*
187+
- tap: reset keyboard
188+
- hold: enter bootloader mode
189+
*/
190+
/omit-if-no-ref/ rst_boot: rst_boot {
191+
compatible = "zmk,behavior-hold-tap";
192+
#binding-cells = <2>;
193+
tapping-term-ms = <500>;
194+
flavor = "tap-preferred";
195+
bindings = <&bootloader>, <&sys_reset>;
196+
};
185197
};
186198
};

scripts/draw.sh

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
#!/bin/sh
22

3-
keymap -c ./keymap-drawer/config.yaml parse -z ./config/${1}.keymap >./keymap-drawer/${1}.yaml
4-
keymap -c ./keymap-drawer/config.yaml draw ./keymap-drawer/${1}.yaml >./keymap-drawer/${1}.svg
3+
if [ $# -ne 1 ]; then
4+
echo "Usage: $0 <keymap>"
5+
exit 1
6+
fi
7+
8+
keymap -c ./keymap-drawer/config.yaml parse -z "./config/${1}.keymap" >"./keymap-drawer/${1}.yaml"
9+
keymap -c ./keymap-drawer/config.yaml draw "./keymap-drawer/${1}.yaml" >"./keymap-drawer/${1}.svg"

0 commit comments

Comments
 (0)