Move HUB to layer 5 — fix hold-for-hub on non-CARP layers
ZMK layers have fixed priority by index. HUB at layer 1 was hidden behind QWRT(2)/FPS(4). Moved HUB to layer 5 (highest) so &mo 5 always wins. Reordered: 0=CARP 1=QWRT 2=STEN 3=FPS 4=reserved 5=HUB.
This commit is contained in:
parent
1914bb946f
commit
f7377f9f48
2 changed files with 48 additions and 63 deletions
36
README.md
36
README.md
|
|
@ -42,7 +42,7 @@ This repository contains the custom keymaps for the Corne split keyboard. It als
|
||||||
| BLE Address | `E8:9F:65:F3:75:D5` |
|
| BLE Address | `E8:9F:65:F3:75:D5` |
|
||||||
| USB Vendor ID | `0x1D50` (OpenMoko) |
|
| USB Vendor ID | `0x1D50` (OpenMoko) |
|
||||||
| USB Product ID | `0x615E` (ZMK default) |
|
| USB Product ID | `0x615E` (ZMK default) |
|
||||||
| Device Name | `AfiqZudinCorne42` |
|
| Device Name | `Afiq Zudin Corne42` |
|
||||||
| Display | SSD1306 OLED 128x32 (nice_oled module) |
|
| Display | SSD1306 OLED 128x32 (nice_oled module) |
|
||||||
| LEDs | WS2812 RGB underglow, 27 LEDs |
|
| LEDs | WS2812 RGB underglow, 27 LEDs |
|
||||||
| BT Profiles | 5 (BT0-BT4) |
|
| BT Profiles | 5 (BT0-BT4) |
|
||||||
|
|
@ -67,7 +67,7 @@ TAB D S T N R | I A E O H '
|
||||||
LSHFT Z X C V J | K P , . / RSHFT
|
LSHFT Z X C V J | K P , . / RSHFT
|
||||||
ESC CTRL GUI | SPC ALT [HUB]
|
ESC CTRL GUI | SPC ALT [HUB]
|
||||||
|
|
||||||
Combos (layers 0+2):
|
Combos (layers 0+1):
|
||||||
top+home row same col = 1-0, shift+combo = ! @ # $ % ^ & * ( )
|
top+home row same col = 1-0, shift+combo = ! @ # $ % ^ & * ( )
|
||||||
E+O (K+L on QWRT) = BSPC
|
E+O (K+L on QWRT) = BSPC
|
||||||
A+E (J+K on QWRT) = ENTER
|
A+E (J+K on QWRT) = ENTER
|
||||||
|
|
@ -75,17 +75,7 @@ Combos (layers 0+2):
|
||||||
[HUB] = hold opens HUB layer, release goes back
|
[HUB] = hold opens HUB layer, release goes back
|
||||||
```
|
```
|
||||||
|
|
||||||
### Layer 1: HUB
|
### Layer 1: QWRT (QWERTY)
|
||||||
```
|
|
||||||
BT_CLR BT0 BT1 BT2 BT3 BT4 | + [ UP ] * =
|
|
||||||
USB/BT _ _ _ _ _ | - LEFT DOWN RIGHT / \
|
|
||||||
LSHFT Z X C V _ | ->CARP ->QWRT ->STEN ->FPS ->L5 RSHFT
|
|
||||||
ESC CTRL GUI | SPC ALT _
|
|
||||||
|
|
||||||
Combo: SPC+ALT = ENTER
|
|
||||||
```
|
|
||||||
|
|
||||||
### Layer 2: QWRT (QWERTY)
|
|
||||||
```
|
```
|
||||||
` Q W E R T | Y U I O P ->HUB
|
` Q W E R T | Y U I O P ->HUB
|
||||||
TAB A S D F G | H J K L ; '
|
TAB A S D F G | H J K L ; '
|
||||||
|
|
@ -96,7 +86,7 @@ Combos: same as CARP (top+home = 1-0, K+L = BSPC, J+K = ENTER, SPC+ALT = ENTER)
|
||||||
[HUB] = hold opens HUB layer, release goes back
|
[HUB] = hold opens HUB layer, release goes back
|
||||||
```
|
```
|
||||||
|
|
||||||
### Layer 3: STEN (Plover keyboard mode)
|
### Layer 2: STEN (Plover keyboard mode)
|
||||||
```
|
```
|
||||||
_ # # # # # | # # # # # ->HUB
|
_ # # # # # | # # # # # ->HUB
|
||||||
_ S T P H * | * F P L T D
|
_ S T P H * | * F P L T D
|
||||||
|
|
@ -104,7 +94,7 @@ _ S K W R * | * R B G S Z
|
||||||
_ A O | E U _
|
_ A O | E U _
|
||||||
```
|
```
|
||||||
|
|
||||||
### Layer 4: FPS (WASD shifted right for ortho)
|
### Layer 3: FPS (WASD shifted right for ortho)
|
||||||
```
|
```
|
||||||
1/ESC 2 Q [W] E/3 R/4 | 5 6 7 8 9 ->HUB
|
1/ESC 2 Q [W] E/3 R/4 | 5 6 7 8 9 ->HUB
|
||||||
TAB SHFT [A] [S] [D] G | _ _ _ _ _ _
|
TAB SHFT [A] [S] [D] G | _ _ _ _ _ _
|
||||||
|
|
@ -116,7 +106,17 @@ Combo: SPC+ALT = ENTER (if ALT held via T)
|
||||||
[HUB] = hold opens HUB layer, release goes back
|
[HUB] = hold opens HUB layer, release goes back
|
||||||
```
|
```
|
||||||
|
|
||||||
### Layer 5: Reserved (ZMK Studio)
|
### Layer 4: Reserved (ZMK Studio)
|
||||||
|
|
||||||
|
### Layer 5: HUB
|
||||||
|
```
|
||||||
|
BT_CLR BT0 BT1 BT2 BT3 BT4 | + [ UP ] * =
|
||||||
|
USB/BT _ _ _ _ _ | - LEFT DOWN RIGHT / \
|
||||||
|
LSHFT Z X C V _ | ->CARP ->QWRT ->STEN ->FPS ->L4 RSHFT
|
||||||
|
ESC CTRL GUI | SPC ALT _
|
||||||
|
|
||||||
|
Combo: SPC+ALT = ENTER
|
||||||
|
```
|
||||||
|
|
||||||
# Related Resources
|
# Related Resources
|
||||||
|
|
||||||
|
|
@ -148,7 +148,7 @@ git clone git@github.com:afiqzudinhadi/zmk-config.git
|
||||||
ZMK Studio is enabled on this keyboard. You can edit the keymap live:
|
ZMK Studio is enabled on this keyboard. You can edit the keymap live:
|
||||||
|
|
||||||
1. Go to [zmk.studio](https://zmk.studio/) in Chrome
|
1. Go to [zmk.studio](https://zmk.studio/) in Chrome
|
||||||
2. Connect to `AfiqZudinCorne42` via USB or BLE
|
2. Connect to `Afiq Zudin Corne42` via USB or BLE
|
||||||
3. Edit layers visually — changes apply instantly
|
3. Edit layers visually — changes apply instantly
|
||||||
4. Changes persist on the keyboard (survives power cycle)
|
4. Changes persist on the keyboard (survives power cycle)
|
||||||
|
|
||||||
|
|
@ -221,7 +221,7 @@ If you changed the keyboard name or did a settings reset:
|
||||||
1. Open **System Settings → Bluetooth** on macOS
|
1. Open **System Settings → Bluetooth** on macOS
|
||||||
2. Remove the old keyboard entry (e.g. `Corne_Oled_RGB`)
|
2. Remove the old keyboard entry (e.g. `Corne_Oled_RGB`)
|
||||||
3. Put the keyboard in pairing mode (it should be discoverable automatically)
|
3. Put the keyboard in pairing mode (it should be discoverable automatically)
|
||||||
4. Pair with `AfiqZudinCorne42`
|
4. Pair with `Afiq Zudin Corne42`
|
||||||
|
|
||||||
# Settings Reset
|
# Settings Reset
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,22 +22,22 @@
|
||||||
combos {
|
combos {
|
||||||
compatible = "zmk,combos";
|
compatible = "zmk,combos";
|
||||||
// Top + home row combos = numbers (like ecosteno)
|
// Top + home row combos = numbers (like ecosteno)
|
||||||
combo_1 { key-positions = <1 13>; bindings = <&kp N1>; layers = <0 2>; };
|
combo_1 { key-positions = <1 13>; bindings = <&kp N1>; layers = <0 1>; };
|
||||||
combo_2 { key-positions = <2 14>; bindings = <&kp N2>; layers = <0 2>; };
|
combo_2 { key-positions = <2 14>; bindings = <&kp N2>; layers = <0 1>; };
|
||||||
combo_3 { key-positions = <3 15>; bindings = <&kp N3>; layers = <0 2>; };
|
combo_3 { key-positions = <3 15>; bindings = <&kp N3>; layers = <0 1>; };
|
||||||
combo_4 { key-positions = <4 16>; bindings = <&kp N4>; layers = <0 2>; };
|
combo_4 { key-positions = <4 16>; bindings = <&kp N4>; layers = <0 1>; };
|
||||||
combo_5 { key-positions = <5 17>; bindings = <&kp N5>; layers = <0 2>; };
|
combo_5 { key-positions = <5 17>; bindings = <&kp N5>; layers = <0 1>; };
|
||||||
combo_6 { key-positions = <6 18>; bindings = <&kp N6>; layers = <0 2>; };
|
combo_6 { key-positions = <6 18>; bindings = <&kp N6>; layers = <0 1>; };
|
||||||
combo_7 { key-positions = <7 19>; bindings = <&kp N7>; layers = <0 2>; };
|
combo_7 { key-positions = <7 19>; bindings = <&kp N7>; layers = <0 1>; };
|
||||||
combo_8 { key-positions = <8 20>; bindings = <&kp N8>; layers = <0 2>; };
|
combo_8 { key-positions = <8 20>; bindings = <&kp N8>; layers = <0 1>; };
|
||||||
combo_9 { key-positions = <9 21>; bindings = <&kp N9>; layers = <0 2>; };
|
combo_9 { key-positions = <9 21>; bindings = <&kp N9>; layers = <0 1>; };
|
||||||
combo_0 { key-positions = <10 22>; bindings = <&kp N0>; layers = <0 2>; };
|
combo_0 { key-positions = <10 22>; bindings = <&kp N0>; layers = <0 1>; };
|
||||||
// K+L (QWRT) / E+O (CARP) = BSPC
|
// K+L (QWRT) / E+O (CARP) = BSPC
|
||||||
combo_bspc { key-positions = <20 21>; bindings = <&kp BSPC>; layers = <0 2>; };
|
combo_bspc { key-positions = <20 21>; bindings = <&kp BSPC>; layers = <0 1>; };
|
||||||
// J+K (QWRT) / A+E (CARP) = ENTER
|
// J+K (QWRT) / A+E (CARP) = ENTER
|
||||||
combo_enter { key-positions = <19 20>; bindings = <&kp RET>; layers = <0 2>; };
|
combo_enter { key-positions = <19 20>; bindings = <&kp RET>; layers = <0 1>; };
|
||||||
// SPC+ALT = ENTER (all layers except steno)
|
// SPC+ALT = ENTER (all layers except steno)
|
||||||
combo_thumb_enter { key-positions = <39 40>; bindings = <&kp RET>; layers = <0 1 2 4>; };
|
combo_thumb_enter { key-positions = <39 40>; bindings = <&kp RET>; layers = <0 5 1 3>; };
|
||||||
};
|
};
|
||||||
|
|
||||||
keymap {
|
keymap {
|
||||||
|
|
@ -46,49 +46,27 @@
|
||||||
carpalx_layer {
|
carpalx_layer {
|
||||||
display-name = "CARP";
|
display-name = "CARP";
|
||||||
bindings = <
|
bindings = <
|
||||||
&kp GRAVE &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &to 1
|
&kp GRAVE &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &to 5
|
||||||
&kp TAB &kp D &kp S &kp T &kp N &kp R &kp I &kp A &kp E &kp O &kp H &kp SQT
|
&kp TAB &kp D &kp S &kp T &kp N &kp R &kp I &kp A &kp E &kp O &kp H &kp SQT
|
||||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp J &kp K &kp P &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp J &kp K &kp P &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
||||||
&kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &mo 1
|
&kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &mo 5
|
||||||
>;
|
|
||||||
};
|
|
||||||
|
|
||||||
hub_layer {
|
|
||||||
display-name = "HUB";
|
|
||||||
// -----------------------------------------------------------------------------------------
|
|
||||||
// | STUDIO| BT_CLR| BT0 | BT1 | BT2 | BT3 | | HOME | UP | END | { | } | DEL |
|
|
||||||
// | ->BAS | CTRL | SHFT | ALT | GUI |->RAI | | LEFT | DOWN | RIGHT| [ | ] |->STN |
|
|
||||||
// | RESET | RGB_T | RGB_E| RGB- | RGB+ | | | ( | ) | \ | ` | ~ | |
|
|
||||||
// | | | | | | | |
|
|
||||||
// Press LSHFT position (->BAS) to go back to base
|
|
||||||
|
|
||||||
bindings = <
|
|
||||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp PLUS &kp LBKT &kp UP &kp RBKT &kp ASTRK &kp EQUAL
|
|
||||||
&out OUT_TOG &none &none &none &none &none &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH
|
|
||||||
&kp LSHFT &kp Z &kp X &kp C &kp V &none &to 0 &to 2 &to 3 &to 4 &to 5 &kp RSHFT
|
|
||||||
&kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &none
|
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qwerty_layer {
|
qwerty_layer {
|
||||||
display-name = "QWRT";
|
display-name = "QWRT";
|
||||||
bindings = <
|
bindings = <
|
||||||
&kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &to 1
|
&kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &to 5
|
||||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT
|
||||||
&kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &mo 1
|
&kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &mo 5
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
steno_layer {
|
steno_layer {
|
||||||
display-name = "STEN";
|
display-name = "STEN";
|
||||||
// Plover keyboard mode layout
|
|
||||||
// # bar: 1 2 3 4 5 | 6 7 8 9 0
|
|
||||||
// Upper steno: S T P H * | * F P L T D
|
|
||||||
// Lower steno: S K W R * | * R B G S Z
|
|
||||||
// Vowels: A O | E U
|
|
||||||
bindings = <
|
bindings = <
|
||||||
&none &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &to 1
|
&none &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &to 5
|
||||||
&none &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT
|
&none &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT
|
||||||
&none &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
&none &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
|
||||||
&none &kp C &kp V &kp N &kp M &none
|
&none &kp C &kp V &kp N &kp M &none
|
||||||
|
|
@ -97,19 +75,26 @@
|
||||||
|
|
||||||
fps_layer {
|
fps_layer {
|
||||||
display-name = "FPS";
|
display-name = "FPS";
|
||||||
// WASD shifted right 1 col for ortho comfort
|
|
||||||
// T, G, B remapped to left edge/thumbs
|
|
||||||
// Right side = macros (empty for now)
|
|
||||||
bindings = <
|
bindings = <
|
||||||
&mt ESC N1 &kp N2 &kp Q &kp W &mt N3 E &mt N4 R &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &to 1
|
&mt ESC N1 &kp N2 &kp Q &kp W &mt N3 E &mt N4 R &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &to 5
|
||||||
&kp TAB &kp LSHFT &kp A &kp S &kp D &kp G &none &none &none &none &none &none
|
&kp TAB &kp LSHFT &kp A &kp S &kp D &kp G &none &none &none &none &none &none
|
||||||
&kp M &kp Z &kp X &kp C &kp V &kp F &none &none &none &none &none &none
|
&kp M &kp Z &kp X &kp C &kp V &kp F &none &none &none &none &none &none
|
||||||
&mt LALT T &kp LCTRL &kp SPACE &none &none &mo 1
|
&mt LALT T &kp LCTRL &kp SPACE &none &none &mo 5
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
extra_1 {
|
extra_1 {
|
||||||
status = "reserved";
|
status = "reserved";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hub_layer {
|
||||||
|
display-name = "HUB";
|
||||||
|
bindings = <
|
||||||
|
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp PLUS &kp LBKT &kp UP &kp RBKT &kp ASTRK &kp EQUAL
|
||||||
|
&out OUT_TOG &none &none &none &none &none &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH
|
||||||
|
&kp LSHFT &kp Z &kp X &kp C &kp V &none &to 0 &to 1 &to 2 &to 3 &to 4 &kp RSHFT
|
||||||
|
&kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &none
|
||||||
|
>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue