diff --git a/README.md b/README.md index 5598d3c..92e6415 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ git clone git@github.com:afiqzudinhadi/zmk-config.git ### Edit Config Files -For full customization (combos, steno layer, behaviors): +For full customization (layers, behaviors): ``` config/ @@ -188,7 +188,7 @@ The BLE name is cached in device settings. Do a [Settings Reset](#settings-reset ### Hardware -54 WS2812 LEDs total — 6 underglow + 21 per-key per half. `chain-length = <27>` set in both `config/nice_nano_v2.overlay` and `corne.keymap` (the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-layer)'s shield overlay defaults to 10, so keymap override is required). +54 WS2812 LEDs total — 6 underglow + 21 per-key per half. `chain-length = <27>` set in both `config/nice_nano_v2.overlay` and `corne.keymap` (the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-modular-v1.1)'s shield overlay defaults to 10, so keymap override is required). ### LED Chain Order (Foostan Corne v1.1) @@ -211,13 +211,13 @@ RGB settings are in `config/corne.conf`: | Setting | Value | Description | |---------|-------|-------------| | `CONFIG_ZMK_RGB_UNDERGLOW` | `y` | Enable RGB | -| `CONFIG_ZMK_RGB_UNDERGLOW_ON_START` | `y` | On at boot | +| `CONFIG_ZMK_RGB_UNDERGLOW_ON_START` | `n` | Off at boot (toggle on via HUB layer) | | `CONFIG_WS2812_STRIP` | `y` | WS2812 LED driver | | `CONFIG_ZMK_RGB_UNDERGLOW_EFF_START` | `4` | Default effect (see effects table) | | `CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP` | `1` | Brightness step (%) | | `CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE` | `n` | Stay on when idle | | `CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER` | `n` | Don't toggle external power with RGB | -| `CONFIG_EXPERIMENTAL_RGB_LAYER` | `y` | Enable per-key layer indicators | +| `CONFIG_ZMK_RGB_EFFECT_LAYER` | `y` | Enable per-key layer indicators ([zmk-rgb-effects](https://github.com/afiqzudinhadi/zmk-rgb-effects) module) | Optional tuning (commented out in config): - `HUE_STEP` / `SAT_STEP` — hue and saturation adjustment step @@ -237,7 +237,7 @@ Cycle at runtime with `RGB_EFF` (next) / `RGB_EFR` (previous). ### Per-Key Layer Indicators (Effect #4) -Uses [darknao's per-key RGB patches](https://github.com/darknao/zmk) cherry-picked onto ZMK v0.3.0 at [afiqzudinhadi/zmk@rgb-layer](https://github.com/afiqzudinhadi/zmk/tree/rgb-layer). +Provided by the [zmk-rgb-effects](https://github.com/afiqzudinhadi/zmk-rgb-effects) module, using the modular effect API in the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-modular-v1.1). Based on [darknao's per-key RGB patches](https://github.com/darknao/zmk), refactored into a standalone ZMK module. Shows different per-key colors based on active keymap layer. Colors are defined as hex RGB values in `corne.keymap` under the `underglow-layer` node. @@ -257,7 +257,8 @@ Custom colors: `#define CYAN 0x00ffff` then `&ug CYAN` **Notes:** - Underglow LEDs turn off on effect #4 (mapped to `255` in pixel-lookup). To give them layer colors, map to key positions instead of `255`. - Brightness/hue/saturation controls don't affect layer indicator colors ([#1](https://github.com/afiqzudinhadi/zmk/issues/1), [#4](https://github.com/afiqzudinhadi/zmk/issues/4)). -- Custom RGB effects can be added in the [ZMK fork](https://github.com/afiqzudinhadi/zmk/tree/rgb-layer) (`app/src/rgb_underglow.c`). +- **Right half** uses the same pixel-lookup as left half — colors are mirrored, not independently mapped. Looks correct on symmetric layers (CARP/QWRT) but shows wrong colors on asymmetric layers (HUB). Per-half pixel-lookup not yet implemented. +- Custom RGB effects can be added as ZMK modules using `ZMK_RGB_EFFECT_DEFINE` — see [zmk-rgb-effects README](https://github.com/afiqzudinhadi/zmk-rgb-effects#adding-custom-effects). ### Keycodes @@ -276,9 +277,12 @@ Docs: [zmk.dev/docs/keymaps/behaviors/underglow](https://zmk.dev/docs/keymaps/be ### Runtime Controls (HUB Layer) +Access: hold NAVI key (pos 12) → press HUB (pos 0), or from FPS layer (pos 11). + | Key | Action | |-----|--------| -| `[RGB]` | Tap-dance: 1×=toggle, 2×=effect fwd, 3×=effect rev | +| `TOG` | RGB on/off toggle | +| `EFF` / `EFR` | Next/previous effect | | `[CLR]` | Tap-dance color presets: purple → white → red → blue → green | | `HUE+` / `HUE-` | Adjust hue | | `SAT+` / `SAT-` | Adjust saturation | diff --git a/build.yaml b/build.yaml index 8da0aa2..ff9965c 100644 --- a/build.yaml +++ b/build.yaml @@ -4,10 +4,11 @@ include: ### CORNE START ### - board: nice_nano_v2 shield: corne_left nice_oled + cmake-args: -DCONFIG_NICE_OLED_WIDGET_WPM_BONGO_CAT=n artifact-name: nice_corne_left_oled_rgb - board: nice_nano_v2 shield: corne_right nice_oled - cmake-args: -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_CAT=n -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_KM=y + cmake-args: -DCONFIG_NICE_OLED_WIDGET_WPM_BONGO_CAT=n -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_CAT=n -DCONFIG_NICE_OLED_WIDGET_ANIMATION_PERIPHERAL_SPACEMAN=y artifact-name: nice_corne_right_oled_rgb ### CORNE END ### diff --git a/config/config_keymap-drawer.yaml b/config/config_keymap-drawer.yaml index a3b562f..68e738f 100644 --- a/config/config_keymap-drawer.yaml +++ b/config/config_keymap-drawer.yaml @@ -143,6 +143,17 @@ parse_config: '&out OUT_USB': Out USB '&out OUT_BLE': Out BLE + '&out OUT_TOG': Out Tog + + '&td_esc_grave': {t: '`', s: Esc, type: tap_dance} + '&kp C_MUTE': Mute + '&kp C_PP': ⏯ + '&kp C_PREV': ⏮ + '&kp C_NEXT': ⏭ + '&kp C_BRI_UP': Scrn+ + '&kp C_BRI_DN': Scrn- + '&kp C_VOL_UP': Vol+ + '&kp C_VOL_DN': Vol- '&bt BT_SEL 0': BT 1 '&bt BT_SEL 1': BT 2 @@ -317,10 +328,6 @@ parse_config: combo_rpar: {draw_separate: true} combo_lbkt: {draw_separate: true} combo_rbkt: {draw_separate: true} - combo_tab: {draw_separate: true} - combo_del: {draw_separate: true} - combo_esc: {draw_separate: true} - combo_ret: {draw_separate: true} combo_lock: {draw_separate: true} combo_bslh: {draw_separate: true} combo_slsh: {draw_separate: true} diff --git a/config/corne.conf b/config/corne.conf index 756099e..97f139d 100644 --- a/config/corne.conf +++ b/config/corne.conf @@ -33,7 +33,7 @@ CONFIG_ZMK_BLE_EXPERIMENTAL_SEC=n CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=n ### Keyboard name -CONFIG_ZMK_KEYBOARD_NAME="Afiq Zudin Corne42" +CONFIG_ZMK_KEYBOARD_NAME="Afiq Zudin Hadi Corne 42 MX" CONFIG_BT_DEVICE_NAME_MAX=28 ### Boost Bluetooth TX power, also make Bluetooth stronger @@ -72,7 +72,7 @@ CONFIG_ZMK_EXT_POWER=y ### RGB UNDERGLOW CONFIG_ZMK_RGB_UNDERGLOW=y -CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y +CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n CONFIG_WS2812_STRIP=y # 0=Solid 1=Breathe 2=Spectrum 3=Swirl CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=4 @@ -80,8 +80,8 @@ CONFIG_ZMK_RGB_UNDERGLOW_BRT_STEP=1 CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=n CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n -### PER-KEY RGB LAYER (darknao fork) -CONFIG_EXPERIMENTAL_RGB_LAYER=y +### PER-KEY RGB LAYER (zmk-rgb-effects module) +CONFIG_ZMK_RGB_EFFECT_LAYER=y CONFIG_ZMK_HID_INDICATORS=y CONFIG_ZMK_SPLIT_PERIPHERAL_HID_INDICATORS=y # CONFIG_ZMK_RGB_UNDERGLOW_HUE_STEP=30 @@ -98,13 +98,8 @@ CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM=y # CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y ### WIDGET SETTINGS -# No Widget configurations added since nice!view has its own custom widgets -# activar solo estos dos widgets -# CONFIG_ZMK_WIDGET_WPM_STATUS=n -# CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y -# CONFIG_ZMK_WIDGET_LAYER_STATUS=y -# CONFIG_ZMK_WIDGET_BATTERY_STATUS=y -# CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y +CONFIG_NICE_OLED_WIDGET_WPM=y +CONFIG_NICE_OLED_WIDGET_WPM_LUNA=y ### HID para nice!view ePaperDisplay # Enable eager debouncing diff --git a/config/corne.keymap b/config/corne.keymap index 8da5a66..4844759 100644 --- a/config/corne.keymap +++ b/config/corne.keymap @@ -27,6 +27,12 @@ tapping-term-ms = <200>; bindings = <&kp>, <&kp>; }; + td_esc_grave: td_esc_grave { + compatible = "zmk,behavior-tap-dance"; + #binding-cells = <0>; + tapping-term-ms = <200>; + bindings = <&kp GRAVE>, <&kp ESC>; + }; td_rgb: td_rgb { compatible = "zmk,behavior-tap-dance"; #binding-cells = <0>; @@ -58,14 +64,6 @@ combo_8 { key-positions = <8 20>; bindings = <&kp N8>; layers = <0 1>; }; combo_9 { key-positions = <9 21>; bindings = <&kp N9>; layers = <0 1>; }; combo_0 { key-positions = <10 22>; bindings = <&kp N0>; layers = <0 1>; }; - // I+O (QWRT) / U+B (CARP) = BSPC - combo_bspc { key-positions = <8 9>; bindings = <&kp BSPC>; layers = <0 1>; }; - // K+L (QWRT) / E+O (CARP) = ENTER - combo_enter { key-positions = <20 21>; bindings = <&kp RET>; layers = <0 1>; }; - // W+E (QWRT) / G+M (CARP) = ESC - combo_esc { key-positions = <2 3>; bindings = <&kp ESC>; layers = <0 1>; }; - // S+D (QWRT) / S+T (CARP) = TAB - combo_tab { key-positions = <14 15>; bindings = <&kp TAB>; layers = <0 1>; }; }; /* @@ -157,17 +155,31 @@ >; }; - hub_rgb { + navi_rgb { layer-id = <4>; bindings = < - &ug RED &ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE - &ug BLUE &ug YELLOW &ug YELLOW &ug YELLOW &ug BLUE &ug BLUE - &ug ORANGE &ug ORANGE &ug ORANGE &ug ORANGE &ug TEAL &ug TEAL - &ug BLUE &ug YELLOW &ug YELLOW &ug YELLOW &ug BLUE &ug BLUE - &ug WHITE &ug ORANGE &ug ORANGE &ug ORANGE &ug TEAL &ug TEAL - &ug GREEN &ug GREEN &ug GREEN &ug GREEN &ug GOLD &ug WHITE - &ug PURPLE &ug WHITE &ug WHITE - &ug WHITE &ug WHITE &ug PURPLE + &ug PURPLE &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW + &ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE + &ug ___ &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW &ug YELLOW + &ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE &ug BLUE + &ug WHITE &ug ___ &ug ___ &ug ___ &ug ___ &ug ___ + &ug ___ &ug ___ &ug ___ &ug ___ &ug ___ &ug WHITE + &ug WHITE &ug WHITE &ug WHITE + &ug WHITE &ug WHITE &ug WHITE + >; + }; + + hub_rgb { + layer-id = <5>; + bindings = < + &ug GREEN &ug GREEN &ug GREEN &ug GREEN &ug ___ &ug ORANGE + &ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE &ug PURPLE &ug RED + &ug ___ &ug ___ &ug ___ &ug ___ &ug TEAL &ug TEAL + &ug PURPLE &ug PURPLE &ug PURPLE &ug ORANGE &ug ___ &ug WHITE + &ug ___ &ug ___ &ug ___ &ug ___ &ug TEAL &ug TEAL + &ug PURPLE &ug PURPLE &ug PURPLE &ug ___ &ug ___ &ug ___ + &ug ORANGE &ug ORANGE &ug ORANGE + &ug BLUE &ug BLUE &ug BLUE >; fade-delay = <15>; }; @@ -179,27 +191,27 @@ carpalx_layer { display-name = "CARP"; bindings = < -&kp GRAVE &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &to 4 +&td_esc_grave &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &kp TAB &mo 4 &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 - &td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE + &kp LCTRL &kp RET &kp LGUI &kp SPACE &kp BSPC &kp RALT >; }; qwerty_layer { display-name = "QWRT"; bindings = < -&kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &to 4 +&td_esc_grave &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp TAB &mo 4 &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 - &td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE + &kp LCTRL &kp RET &kp LGUI &kp SPACE &kp BSPC &kp RALT >; }; steno_layer { display-name = "STEN"; bindings = < -&none &none &none &none &none &none &none &none &none &none &none &to 4 +&none &none &none &none &none &none &none &none &none &none &none &none &mo 4 &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none @@ -209,20 +221,30 @@ fps_layer { display-name = "FPS"; 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 4 +&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 F &none &none &none &none &none &none &mt LALT M &kp Z &kp X &kp C &kp V &kp G &none &none &none &none &none &none &kp T &kp LCTRL &kp SPACE &none &none &none >; }; + navi_layer { + display-name = "NAVI"; + bindings = < +&to 5 &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp PLUS &kp LBKT &kp UP &kp RBKT &kp ASTRK &kp EQUAL +&none &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH +&kp LSHFT &none &none &none &none &none &none &none &none &none &none &kp RSHFT + &kp LCTRL &kp RET &kp LGUI &kp SPACE &kp BSPC &kp RALT + >; + }; + 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 &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_BRI &kp C_BRI_UP &kp C_VOL_UP &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH -&kp LSHFT &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_BRD &kp C_BRI_DN &kp C_VOL_DN &to 0 &to 1 &to 2 &to 3 &td_colors &kp RSHFT - &td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE +&to 0 &to 1 &to 2 &to 3 &none &kp C_PP &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &bt BT_CLR +&none &none &none &none &kp C_BRI_UP &kp C_VOL_UP &rgb_ug RGB_HUI &rgb_ug RGB_SAI &rgb_ug RGB_BRD &td_colors &none &out OUT_TOG +&none &none &none &none &kp C_BRI_DN &kp C_VOL_DN &rgb_ug RGB_HUD &rgb_ug RGB_SAD &rgb_ug RGB_BRI &none &none &none + &kp C_PREV &kp C_NEXT &kp C_MUTE &rgb_ug RGB_TOG &rgb_ug RGB_EFR &rgb_ug RGB_EFF >; }; diff --git a/config/west.yml b/config/west.yml index 6f1aeb3..8fb66e8 100644 --- a/config/west.yml +++ b/config/west.yml @@ -5,36 +5,21 @@ manifest: # ZMK fork with per-key RGB layer support (darknao's patches on v0.3.0) - name: afiqzudinhadi-zmk url-base: https://github.com/afiqzudinhadi - # dongle_display - - name: englmaxi - url-base: https://github.com/englmaxi - # nice_oled - nice_epaper - dongle_display!view - oled Adapter + # nice_oled widgets (battery, luna, animations) - name: mctechnology17 url-base: https://github.com/mctechnology17 - # fork of zmk-nice-oled with custom KM medal animation - - name: KeebMaker - url-base: https://github.com/KeebMaker projects: - # Personal fork of ZMK v0.3.0 + darknao's per-key RGB layer patches. - # Base is v0.3.0 (not main) — see commit history for patch attribution. + # Personal fork of ZMK v0.3.0 + modular RGB effect API. - name: zmk remote: afiqzudinhadi-zmk - revision: rgb-layer + revision: rgb-modular-v1.1 import: app/west.yml - # dongle_display - - name: zmk-dongle-display - remote: englmaxi - revision: v0.3 - # nice_oled - nice_epaper (fork with custom KM medal animation) + # Modular RGB effects module (per-key layer, behaviors, DTS bindings) + - name: zmk-rgb-effects + remote: afiqzudinhadi-zmk + revision: v1.1.1 + # nice_oled widgets (battery, luna, animations) - name: zmk-nice-oled - remote: KeebMaker - revision: km-medal-animation - # dongle_display!view - - name: zmk-dongle-display-view - remote: mctechnology17 - revision: main - # oled Adapter - - name: zmk-oled-adapter remote: mctechnology17 revision: main self: diff --git a/keymap-drawer/README.md b/keymap-drawer/README.md index 545bbde..92a5810 100644 --- a/keymap-drawer/README.md +++ b/keymap-drawer/README.md @@ -12,35 +12,30 @@ ## Layer 0: CARP (Carpalx QGMLWY) ``` -` Q G M L W | Y F U B ; ->HUB -[HUB] D S T N R | I A E O H ' +`/ESC Q G M L W | Y F U B ; TAB +[NAVI] D S T N R | I A E O H ' LSHFT Z X C V J | K P , . / RSHFT - [RGB] CTRL GUI | SPC ALT MUTE/PP + CTRL RET GUI | SPC BSPC ALT ``` **Combos (layers 0+1):** - Top+home row same col = `1`-`0`, shift+combo = `!` `@` `#` `$` `%` `^` `&` `*` `(` `)` -- G+M (W+E on QWRT) = ESC -- S+T (S+D on QWRT) = TAB -- U+B (I+O on QWRT) = BSPC -- E+O (K+L on QWRT) = ENTER | Key | Behavior | |-----|----------| -| `[HUB]` | Hold opens HUB layer, release goes back | -| `[RGB]` | Tap-dance: 1x=toggle, 2x=effect fwd, 3x=effect rev | -| `MUTE/PP` | Tap mute, hold play/pause | +| `` ` ``/ESC | Tap = grave, hold = ESC | +| `[NAVI]` | Hold opens NAVI layer, release goes back | ## Layer 1: QWRT (QWERTY) ``` -` Q W E R T | Y U I O P ->HUB -[HUB] A S D F G | H J K L ; ' +`/ESC Q W E R T | Y U I O P TAB +[NAVI] A S D F G | H J K L ; ' LSHFT Z X C V B | N M , . / RSHFT - [RGB] CTRL GUI | SPC ALT MUTE/PP + CTRL RET GUI | SPC BSPC ALT ``` -Combos: same as CARP (top+home = 1-0, W+E = ESC, S+D = TAB, I+O = BSPC, K+L = ENTER) +Combos: same as CARP (top+home = 1-0) ## Layer 2: STEN (Placeholder) @@ -61,14 +56,28 @@ M/ALT Z X C V G | _ _ _ _ _ _ | `E` | Tap = E, hold = 3 | | `R` | Tap = R, hold = 4 | | `M` | Tap = M, hold = ALT | +| `->HUB` | Press to go to HUB layer | -## Layer 4: HUB (Utility — BT, RGB, Media, Nav) +## Layer 4: NAVI (Numbers, Nav, Symbols) ``` -BT_CLR BT0 BT1 BT2 BT3 BT4 | + [ UP ] * = -OUT_TOG HUE+ SAT+ BRT+ SCRN+ VOL+ | - LEFT DOWN RIGHT / \ -LSHFT HUE- SAT- BRT- SCRN- VOL- | ->CARP ->QWRT ->STEN ->FPS [CLR] RSHFT - [RGB] CTRL GUI | SPC ALT MUTE/PP +->HUB 1 2 3 4 5 | + [ UP ] * = + _ 6 7 8 9 0 | - LEFT DOWN RIGHT / \ +LSHFT _ _ _ _ _ | _ _ _ _ _ RSHFT + CTRL RET GUI | SPC BSPC ALT +``` + +| Key | Action | +|-----|--------| +| `->HUB` | Press to go to HUB layer | + +## Layer 5: HUB (Media, BT, RGB, Layer Switch) + +``` +->CARP ->QWRT ->STEN ->FPS _ PP | BT0 BT1 BT2 BT3 BT4 BT_CLR + _ _ _ _ SCRN+ VOL+ | HUE+ SAT+ BRT- [CLR] _ OUT_TOG + _ _ _ _ SCRN- VOL- | HUE- SAT- BRT+ _ _ _ + PREV NEXT MUTE | TOG EFR EFF ``` | Key | Action | @@ -77,6 +86,9 @@ LSHFT HUE- SAT- BRT- SCRN- VOL- | ->CARP ->QWRT ->STEN ->FPS [CLR] R | `HUE/SAT/BRT` | RGB underglow hue, saturation, brightness | | `SCRN` | Display brightness (C_BRI_UP/DN) | | `VOL` | Volume up/down | -| `[RGB]` | Tap-dance: 1x=toggle, 2x=effect fwd, 3x=effect rev | +| `PREV/NEXT` | Track previous/next | +| `PP` | Play/pause | +| `MUTE` | Mute toggle | +| `TOG` | RGB on/off | +| `EFF/EFR` | RGB effect next/previous | | `[CLR]` | Tap-dance color presets: 1x=purple, 2x=white, 3x=red, 4x=blue, 5x=green | -| `MUTE/PP` | Tap mute, hold play/pause | diff --git a/keymap-drawer/corne.svg b/keymap-drawer/corne.svg index 887c9d8..5565996 100644 --- a/keymap-drawer/corne.svg +++ b/keymap-drawer/corne.svg @@ -1,4 +1,4 @@ - + /* start glyphs */ @@ -24,9 +24,18 @@ + + + + + + + + + CARP: - - -` + + +` +Esc @@ -343,14 +353,12 @@ rect.held, rect.combo.held { - -HUB -toggle + - -HUB + +NAVI @@ -446,11 +454,11 @@ rect.held, rect.combo.held { -&td_rgb + - + @@ -462,12 +470,11 @@ rect.held, rect.combo.held { - + -MUTE -PLAY PAUSE + @@ -509,22 +516,15 @@ rect.held, rect.combo.held { 0 - - - - - - - - QWRT: - - -` + + +` +Esc @@ -568,14 +568,12 @@ rect.held, rect.combo.held { - -HUB -toggle + - -HUB + +NAVI @@ -671,11 +669,11 @@ rect.held, rect.combo.held { -&td_rgb + - + @@ -687,12 +685,11 @@ rect.held, rect.combo.held { - + -MUTE -PLAY PAUSE + @@ -734,14 +731,6 @@ rect.held, rect.combo.held { 0 - - - - - - - - @@ -782,14 +771,11 @@ rect.held, rect.combo.held { - -HUB -toggle - -HUB + +NAVI @@ -1044,44 +1030,34 @@ rect.held, rect.combo.held { - -HUB: + +NAVI: - -BTCLR - + +HUB +toggle - -BT1 - +1 - -BT2 - +2 - -BT3 - +3 - -BT4 - +4 - -BT5 - +5 @@ -1109,36 +1085,26 @@ rect.held, rect.combo.held { - -OUTTOG - - - - - + + +6 - - - - + + +7 - - - - + + +8 - -BRIUP - +9 - -VolUp - +0 @@ -1168,60 +1134,35 @@ rect.held, rect.combo.held { - - - - + + - - - - + + - - - - + + - -BRIDN - - -VolDown - - -CARP -toggle - -QWRT -toggle - -STEN -toggle - -FPS -toggle -&td_colors @@ -1229,11 +1170,11 @@ rect.held, rect.combo.held { -&td_rgb + - + @@ -1245,282 +1186,204 @@ rect.held, rect.combo.held { - + -MUTE -PLAY PAUSE + -Combos: - + +HUB: - - -Esc + + + +CARP +toggle + + + + +QWRT +toggle + + + + +STEN +toggle + + + + +FPS +toggle + + + + + + + + + + + +BT1 + + + + + +BT2 + + + + + +BT3 + + + + + +BT4 + + + + + +BT5 + + + + + +BTCLR + + + + + + + + + + + + + + + + +Scrn+ + + + +Vol+ + + + + + + + + + + + + + + + + + + +&td_colors + + + + + + + +OutTog + + + + + + + + + + - - + + + + + +Scrn- + + + +Vol- + + + + + - - + + + + - - + + + + - - + + - - + + - - + + - - + + + - - + + + - - + + +Mute - - + + + + + - - + + + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Keymap View: keymap-drawer +Keymap View: keymap-drawer diff --git a/keymap-drawer/corne.yaml b/keymap-drawer/corne.yaml index 9dffbde..adc7932 100644 --- a/keymap-drawer/corne.yaml +++ b/keymap-drawer/corne.yaml @@ -1,7 +1,7 @@ layout: {zmk_keyboard: corne} layers: CARP: - - '`' + - {t: '`', s: Esc, type: tap_dance} - Q - G - M @@ -12,8 +12,8 @@ layers: - U - B - ; - - {t: HUB, h: toggle} - - HUB + - ↹ + - NAVI - D - S - T @@ -37,14 +37,14 @@ layers: - . - / - $$mdi:apple-keyboard-shift$$ - - '&td_rgb' - $$mdi:apple-keyboard-control$$ + - ⏎ - $$mdi:apple-keyboard-command$$ - ␣ + - $$mdi:backspace-outline$$ - $$mdi:apple-keyboard-option$$ - - {t: MUTE, h: PLAY PAUSE} QWRT: - - '`' + - {t: '`', s: Esc, type: tap_dance} - Q - W - E @@ -55,8 +55,8 @@ layers: - I - O - P - - {t: HUB, h: toggle} - - HUB + - ↹ + - NAVI - A - S - D @@ -80,55 +80,14 @@ layers: - . - / - $$mdi:apple-keyboard-shift$$ - - '&td_rgb' - $$mdi:apple-keyboard-control$$ + - ⏎ - $$mdi:apple-keyboard-command$$ - ␣ + - $$mdi:backspace-outline$$ - $$mdi:apple-keyboard-option$$ - - {t: MUTE, h: PLAY PAUSE} - STEN: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - {t: HUB, h: toggle} - - HUB - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' + STEN: ['', '', '', '', '', '', '', '', '', '', '', '', NAVI, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', + '', '', '', ''] FPS: - {t: '1', h: Esc} - '2' @@ -172,25 +131,25 @@ layers: - '' - '' - '' - HUB: - - BT CLR - - BT 1 - - BT 2 - - BT 3 - - BT 4 - - BT 5 + NAVI: + - {t: HUB, h: toggle} + - '1' + - '2' + - '3' + - '4' + - '5' - + - '[' - ↑ - ']' - '*' - '=' - - {t: OUT TOG, type: held} - - {t: '$$mdi:led-on$$', s: '$$mdi:palette$$', type: sym_by_sym} - - {t: '$$mdi:led-outline$$', s: '$$mdi:eyedropper$$', type: sym_by_sym} - - {t: '$$mdi:led-outline$$', s: '$$tabler:brightness-down$$', type: sym_by_sym} - - BRI UP - - Vol Up + - {type: held} + - '6' + - '7' + - '8' + - '9' + - '0' - '-' - ← - ↓ @@ -198,23 +157,66 @@ layers: - / - \ - $$mdi:apple-keyboard-shift$$ - - {t: '$$mdi:led-outline$$', s: '$$mdi:palette$$', type: sym_by_sym} - - {t: '$$mdi:led-on$$', s: '$$mdi:eyedropper$$', type: sym_by_sym} - - {t: '$$mdi:led-on$$', s: '$$tabler:brightness-up$$', type: sym_by_sym} - - BRI DN - - Vol Down + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - $$mdi:apple-keyboard-shift$$ + - $$mdi:apple-keyboard-control$$ + - ⏎ + - $$mdi:apple-keyboard-command$$ + - ␣ + - $$mdi:backspace-outline$$ + - $$mdi:apple-keyboard-option$$ + HUB: - {t: CARP, h: toggle} - {t: QWRT, h: toggle} - {t: STEN, h: toggle} - {t: FPS, h: toggle} + - '' + - ⏯ + - BT 1 + - BT 2 + - BT 3 + - BT 4 + - BT 5 + - BT CLR + - '' + - '' + - '' + - '' + - Scrn+ + - Vol+ + - {t: '$$mdi:led-on$$', s: '$$mdi:palette$$', type: sym_by_sym} + - {t: '$$mdi:led-outline$$', s: '$$mdi:eyedropper$$', type: sym_by_sym} + - {t: '$$mdi:led-on$$', s: '$$tabler:brightness-up$$', type: sym_by_sym} - '&td_colors' - - $$mdi:apple-keyboard-shift$$ - - '&td_rgb' - - $$mdi:apple-keyboard-control$$ - - $$mdi:apple-keyboard-command$$ - - ␣ - - $$mdi:apple-keyboard-option$$ - - {t: MUTE, h: PLAY PAUSE} + - '' + - Out Tog + - '' + - '' + - '' + - '' + - Scrn- + - Vol- + - {t: '$$mdi:led-outline$$', s: '$$mdi:palette$$', type: sym_by_sym} + - {t: '$$mdi:led-on$$', s: '$$mdi:eyedropper$$', type: sym_by_sym} + - {t: '$$mdi:led-outline$$', s: '$$tabler:brightness-down$$', type: sym_by_sym} + - '' + - '' + - '' + - ⏮ + - ⏭ + - Mute + - {t: '$$mdi:led-on$$', h: '$$mdi:toggle-switch$$', s: '$$mdi:led-outline$$', type: toggle} + - {t: '$$mdi:led-on$$', h: '$$mdi:page-next-outline$$', type: tap_dance} + - {t: '$$mdi:led-on$$', h: '$$mdi:page-previous-outline$$', type: tap_dance} combos: - p: [1, 13] k: '1' @@ -246,17 +248,3 @@ combos: - p: [10, 22] k: '0' l: [CARP, QWRT] -- p: [8, 9] - k: $$mdi:backspace-outline$$ - l: [CARP, QWRT] -- p: [20, 21] - k: ⏎ - l: [CARP, QWRT] -- p: [2, 3] - k: Esc - l: [CARP, QWRT] - draw_separate: true -- p: [14, 15] - k: ↹ - l: [CARP, QWRT] - draw_separate: true