From 7041dbccd5beb7bfa40be1b69b755f50bf8b76ac Mon Sep 17 00:00:00 2001 From: afiqzudinhadi Date: Mon, 22 Jun 2026 15:34:10 +0800 Subject: [PATCH] Add RGB, media, and output controls to HUB layer and thumbs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - HUB layer: RGB hue/sat/brightness, volume, screen brightness, OUT_TOG - Tap-dance td_rgb on thumb: 1×=toggle, 2×=effect fwd, 3×=effect rev - Tap-dance td_colors on HUB pos 34: 5 color presets (purple/white/red/blue/green) - Hold-tap mute/play-pause on right outer thumb (CARP/QWRT/STEN/HUB) - Update README with new layer diagrams and legends Co-Authored-By: Claude Opus 4.6 (1M context) --- README.md | 27 +++++++++++++++++++-------- config/corne.keymap | 37 +++++++++++++++++++++++++++++++------ 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 5b0b588..698b106 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Key positions reference: ` Q G M L W | Y F U B ; ->HUB [HUB] D S T N R | I A E O H ' LSHFT Z X C V J | K P , . / RSHFT - _ CTRL GUI | SPC ALT _ + [RGB] CTRL GUI | SPC ALT MUTE/PP Combos (layers 0+1): top+home row same col = 1-0, shift+combo = ! @ # $ % ^ & * ( ) @@ -74,6 +74,8 @@ Combos (layers 0+1): U+B (I+O on QWRT) = BSPC E+O (K+L on QWRT) = ENTER [HUB] = hold opens HUB layer, release goes back +[RGB] = tap-dance: 1×=toggle, 2×=effect fwd, 3×=effect rev +MUTE/PP = tap mute, hold play/pause ``` ### Layer 1: QWRT (QWERTY) @@ -81,10 +83,12 @@ Combos (layers 0+1): ` Q W E R T | Y U I O P ->HUB [HUB] A S D F G | H J K L ; ' LSHFT Z X C V B | N M , . / RSHFT - _ CTRL GUI | SPC ALT _ + [RGB] CTRL GUI | SPC ALT MUTE/PP Combos: same as CARP (top+home = 1-0, W+E = ESC, S+D = TAB, I+O = BSPC, K+L = ENTER) [HUB] = hold opens HUB layer, release goes back +[RGB] = tap-dance: 1×=toggle, 2×=effect fwd, 3×=effect rev +MUTE/PP = tap mute, hold play/pause ``` ### Layer 2: STEN (Plover keyboard mode) @@ -92,7 +96,7 @@ Combos: same as CARP (top+home = 1-0, W+E = ESC, S+D = TAB, I+O = BSPC, K+L = EN _ # # # # # | # # # # # ->HUB [HUB] S T P H * | * F P L T D _ S K W R * | * R B G S Z - _ A O | E U _ + [RGB] A O | E U MUTE/PP ``` ### Layer 3: FPS (WASD shifted right for ortho) @@ -105,13 +109,20 @@ M/ALT Z X C V G | _ _ _ _ _ _ Hold-taps: 1=tap/ESC=hold, E=tap/3=hold, R=tap/4=hold, M=tap/ALT=hold ``` -### Layer 4: HUB +### Layer 4: HUB (Utility — BT, RGB, Media, Nav) ``` -BT_CLR BT0 BT1 BT2 BT3 BT4 | + [ UP ] * = -_ _ _ _ _ _ | - LEFT DOWN RIGHT / \ -LSHFT Z X C V _ | ->CARP ->QWRT ->STEN ->FPS _ RSHFT - ESC CTRL GUI | SPC ALT _ +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 +OUT_TOG = toggle USB/BLE output +HUE/SAT/BRT = RGB underglow hue, saturation, brightness +SCRN = display brightness (C_BRI_UP/DN) +VOL = volume up/down +[RGB] = tap-dance: 1×=toggle, 2×=effect fwd, 3×=effect rev +[CLR] = tap-dance color presets: 1×=purple, 2×=white, 3×=red, 4×=blue, 5×=green +MUTE/PP = tap mute, hold play/pause ``` # Related Resources diff --git a/config/corne.keymap b/config/corne.keymap index d8774d6..973f0c2 100644 --- a/config/corne.keymap +++ b/config/corne.keymap @@ -19,6 +19,31 @@ }; / { + behaviors { + ht_mute_pp: ht_mute_pp { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + tapping-term-ms = <200>; + bindings = <&kp>, <&kp>; + }; + td_rgb: td_rgb { + compatible = "zmk,behavior-tap-dance"; + #binding-cells = <0>; + tapping-term-ms = <300>; + bindings = <&rgb_ug RGB_TOG>, <&rgb_ug RGB_EFF>, <&rgb_ug RGB_EFR>; + }; + td_colors: td_colors { + compatible = "zmk,behavior-tap-dance"; + #binding-cells = <0>; + tapping-term-ms = <400>; + bindings = <&rgb_ug RGB_COLOR_HSB(270,89,90)>, + <&rgb_ug RGB_COLOR_HSB(0,0,100)>, + <&rgb_ug RGB_COLOR_HSB(0,100,100)>, + <&rgb_ug RGB_COLOR_HSB(240,100,100)>, + <&rgb_ug RGB_COLOR_HSB(120,100,100)>; + }; + }; + combos { compatible = "zmk,combos"; // Top + home row combos = numbers (like ecosteno) @@ -51,7 +76,7 @@ &kp GRAVE &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &to 4 &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 - &none &kp LCTRL &kp LGUI &kp SPACE &kp RALT &none + &td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE >; }; @@ -61,7 +86,7 @@ &kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &to 4 &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 - &none &kp LCTRL &kp LGUI &kp SPACE &kp RALT &none + &td_rgb &kp LCTRL &kp LGUI &kp SPACE &kp RALT &ht_mute_pp C_PLAY_PAUSE C_MUTE >; }; @@ -71,7 +96,7 @@ &none &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &to 4 &mo 4 &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 C &kp V &kp N &kp M &none + &td_rgb &kp C &kp V &kp N &kp M &ht_mute_pp C_PLAY_PAUSE C_MUTE >; }; @@ -89,9 +114,9 @@ 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 -&none &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 &none &kp RSHFT - &kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &none +&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 >; };