diff --git a/config/cradio.conf b/config/cradio.conf index 90b5328..0a194ca 100644 --- a/config/cradio.conf +++ b/config/cradio.conf @@ -1 +1,3 @@ -CONFIG_ZMK_KEYBOARD_NAME="Kabbone Sweep" +CONFIG_BT_CTLR_TX_PWR_PLUS_8=y +CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y +CONFIG_ZMK_KEYBOARD_NAME="Kab Ferris" diff --git a/config/cradio.keymap b/config/cradio.keymap index f2815de..bf8d6fe 100644 --- a/config/cradio.keymap +++ b/config/cradio.keymap @@ -12,132 +12,65 @@ &mt { flavor = "tap-preferred"; tapping_term_ms = <200>; -}; + }; +&sk { + quick-release; + release-after-ms = <2000>; + }; -/ { + /* Layers */ + #define ALPH 0 + #define SYM 1 + #define NUM 2 + #define SYS 3 + #define BT 4 + #define GAME 5 + / { combos { compatible = "zmk,combos"; - combo_esc { + + combo_game { + timeout-ms = <30>; + key-positions = <0 1 2 3>; + bindings = <&to GAME>; + }; + + combo_sys { + timeout-ms = <30>; + key-positions = <6 7 8>; + bindings = <&to SYS>; + }; + + combo_bt { + timeout-ms = <10>; + key-positions = <13 14>; + bindings = <&to BT>; + layers = ; + }; + + combo_term { timeout-ms = <50>; - key-positions = <21 22>; - bindings = <&kp ESC>; + key-positions = <30 33>; + bindings = <&kp LG(ENTER)>; }; - combo_3 { + + combo_lenter { timeout-ms = <50>; - key-positions = <7 8>; - bindings = <&to 3>; + key-positions = <30 19>; + bindings = <&kp ENTER>; }; - combo_ent { + + combo_renter { timeout-ms = <50>; - key-positions = <27 28>; - bindings = <&kp RET>; + key-positions = <33 19>; + bindings = <&kp ENTER>; }; - combo_1 { + + combo_layer0 { timeout-ms = <50>; - key-positions = <30 33>; - bindings = <&to 1>; - }; - combo_1_high { - timeout-ms = <50>; - key-positions = <24 25>; - bindings = <&to 1>; - }; - combo_g { - timeout-ms = <15>; - key-positions = <12 13>; - bindings = <&kp G>; - layers = <0>; - }; - combo_j { - timeout-ms = <50>; - key-positions = <22 23>; - bindings = <&kp J>; - layers = <0>; - }; - combo_p { - timeout-ms = <15>; - key-positions = <16 17>; - bindings = <&kp P>; - layers = <0>; - }; - combo_b { - timeout-ms = <50>; - key-positions = <26 27>; - bindings = <&kp B>; - layers = <0>; - }; - combo_scol { - timeout-ms = <50>; - key-positions = <8 9>; - bindings = <&kp SEMI>; - layers = <0>; - }; - combo_com { - timeout-ms = <50>; - key-positions = <20 21>; - bindings = <&kp COMMA>; - layers = <0>; - }; - combo_minus { - timeout-ms = <50>; - key-positions = <0 1>; - bindings = <&kp MINUS>; - layers = <0>; - }; - combo_slsh { - timeout-ms = <50>; - key-positions = <28 29>; - bindings = <&kp SLASH>; - layers = <0>; - }; - combo_sqt { - timeout-ms = <50>; - key-positions = <12 13>; - bindings = <&kp SQT>; - layers = <1>; - }; - combo_dqt { - timeout-ms = <50>; - key-positions = <22 23>; - bindings = <&kp DQT>; - layers = <1>; - }; - combo_bslh { - timeout-ms = <50>; - key-positions = <16 17>; - bindings = <&kp BSLH>; - layers = <1>; - }; - combo_lbkt { - timeout-ms = <50>; - key-positions = <26 27>; - bindings = <&kp LBKT>; - layers = <1>; - }; - combo_n0 { - timeout-ms = <50>; - key-positions = <26 27>; - bindings = <&kp N0>; - layers = <2>; - }; - combo_lalt { - timeout-ms = <50>; - key-positions = <12 13>; - bindings = <&kp LALT>; - layers = <3>; - }; - combo_del { - timeout-ms = <50>; - key-positions = <22 23>; - bindings = <&kp DEL>; - layers = <3>; - }; - combo_left { - timeout-ms = <50>; - key-positions = <16 17>; - bindings = <&kp LEFT>; - layers = <3>; + key-positions = <31 32>; + bindings = <&to 0>; }; }; @@ -151,90 +84,84 @@ flavor = "tap-preferred"; bindings = <&kp>, <&kp>; }; - hs: homerow_shifts { + hl: homerow_layers { compatible = "zmk,behavior-hold-tap"; - label = "HOMEROW_SHIFTS"; + label = "HOMEROW_LAYERS"; #binding-cells = <2>; - tapping-term-ms = <150>; - quick_tap_ms = <0>; - flavor = "balanced"; - bindings = <&kp>, <&kp>; - }; - hsl: homerow_shifts_layer { - compatible = "zmk,behavior-hold-tap"; - label = "HOMEROW_SHIFTS_LAYER"; - #binding-cells = <2>; - tapping-term-ms = <150>; - quick_tap_ms = <0>; - flavor = "balanced"; - bindings = <&kp>, <&to>; - }; - td: tapdance { - compatible = "zmk,behavior-hold-tap"; - label = "TAPDANCE"; - #binding-cells = <2>; - tapping-term-ms = <150>; + tapping-term-ms = <220>; quick_tap_ms = <0>; flavor = "tap-preferred"; - bindings = <&kp>, <&kp>; + bindings = <&sl>, <&kp>; }; - tl: layertap { - compatible = "zmk,behavior-hold-tap"; - label = "LAYERTAP"; - #binding-cells = <2>; - tapping-term-ms = <150>; - quick_tap_ms = <0>; - flavor = "tap-preferred"; - bindings = <&to>, <&kp>; + sr: shift_layer { + compatible = "zmk,behavior-hold-tap"; + label = "SHIFT_LAYER"; + #binding-cells = <2>; + tapping-term-ms = <300>; + quick_tap_ms = <0>; + flavor = "tap-preferred"; + bindings = <&kp>, <&to>; + retro-tap; }; + }; keymap { compatible = "zmk,keymap"; - default_layer { + alpha1 { bindings = < - &kp TAB &kp C &kp L &kp M &trans &trans &kp F &kp U &kp Z &kp BKSP - &kp I &hm LCTL S &hm LALT R &hm LGUI T &trans &trans &hm RGUI N &hm RALT K &hm RCTL A &kp O - &hs LSHIFT Q &kp V &kp W &kp D &mt LC(LS(LALT)) SPC &kp E &kp H &kp Y &td EXCL DOT &hs RSHIFT X - &mt LC(LS(LALT)) SPC &trans &trans &kp E + &hm ESC Q &kp W &kp F &kp P &kp G &kp J &kp L &kp U &kp Y &kp BSPC + &hl NUM A &kp R &kp S &kp T &kp D &kp H &kp N &kp E &kp I &hm ENTER O + &hl SYS Z &kp X &kp C &kp V &kp B &kp K &hm COLON M &hm MINUS COMMA &hm EXCL DOT &hm UNDER SLASH + &hl SYM SPACE &sk LSHIFT &to SYM &hm RCTRL SPACE >; }; - left_layer { + sym1 { bindings = < - &trans &kp ATSN &td LC(LG(LS(N4))) LS(N3) &kp DLLR &trans &trans &kp LS(COMMA) &kp LS(DOT) &kp CARET &trans - &kp TAB &hm LCTL EQUAL &hm LALT LA(RBKT) &hm LGUI LA(LS(RBKT)) &trans &trans &hm RGUI LBRC &hm RALT RBRC &hm RCTL PIPE &kp AMPS - &hs LSHIFT TILDE &kp GRAVE &kp LA(LBKT) &kp LA(LS(LBKT)) &to 0 &to 2 &kp LPRN &kp RPRN &kp RBKT &kp RSHIFT - &to 0 &trans &trans &to 2 + &kp ESC &kp AT &kp HASH &kp DOLLAR &kp PERCENT &kp CARET &kp AMPS &kp STAR &hm COLON SEMI &trans + &kp TAB &hm PLUS EQUAL &kp QMARK &kp PIPE2 &kp SQT &hm HOME BSLH &kp LBRC &kp RBRC &hm END PIPE &kp ENTER + &kp TILDE &kp SLASH &kp LT &kp GT &kp DQT &kp LBKT &kp LPAR &kp RPAR &kp RBKT &to NUM + &kp LSHIFT &to ALPH &to SYS &kp RGUI >; }; - right_layer { + num1 { bindings = < - &trans &kp C_PP &kp C_PREV &kp C_NEXT &trans &trans &kp N7 &kp N8 &kp N9 &trans - &kp TAB &trans &hm LALT C_VOL_DN &hm LGUI C_VOL_UP &trans &trans &hm RGUI N4 &kp N5 &kp N6 &kp EQUAL - &hsl LSHIFT 4 &kp PRCNT &kp SLASH &kp STAR &to 0 &trans &kp N1 &kp N2 &td DOT N3 &kp MINUS - &to 0 &trans &trans &trans + &kp ESC &kp C_PLAY_PAUSE &kp C_PREV &kp C_NEXT &kp UNDER &kp MINUS &kp NUM_7 &kp NUM_8 &kp NUM_9 &trans + &kp TAB &kp C_VOL_UP &kp C_VOL_DN &kp STAR &kp SLASH &kp PLUS &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp ENTER + &bt BT_CLR &bt BT_NXT &bt BT_PRV &bt BT_SEL 0 &kp DOT &kp EQUAL &kp NUM_1 &kp NUM_2 &kp NUM_3 &to SYS + &trans &to ALPH &to SYM &kp NUM_0 >; }; - - tri_layer { - bindings = < - &trans &kp NUM_1 &kp NUM_2 &kp NUM_3 &trans &trans &kp LC(LS(TAB)) &kp RC(TAB) &kp LG(LBKT) &trans - &kp TAB &kp F2 &kp F3 &kp F4 &trans &trans &kp DOWN &hm RALT UP &hm RCTL RIGHT &kp LG(RBKT) - &kp LSHIFT &bt BT_NXT &bt BT_PRV &kp F6 &to 0 &kp RGUI &td HOME PG_DN &td END PG_UP &trans &kp RSHIFT - &to 0 &trans &trans &kp RGUI - >; - }; - bt { - bindings = < - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &bootloader &trans &trans &trans &trans &trans &trans &trans &trans &trans - &bt BT_PRV &bt BT_NXT &bt BT_CLR &trans &to 0 &to 1 &trans &trans &trans &trans - &to 0 &trans &trans &to 1 - >; - }; + + sys { + bindings = < + &kp ESC &kp LG(NUM_1) &kp LG(NUM_2) &kp LG(NUM_3) &kp LG(NUM_4) &kp LG(NUM_5) &hm LC(V) LC(C) &kp UP &kp Q &hm DEL BSPC + &kp TAB &kp LG(Q) &hm LG(E) LG(W) &kp LG(F) &kp DEL &kp RC(TAB) &kp LEFT &kp DOWN &kp RIGHT &kp ENTER + &kp LALT &hm HOME DEL &kp END &kp LG(D) &kp LG(ENTER) &none &kp PG_UP &kp PG_DN &none &none + &trans &to ALPH &to SYM &kp RALT + >; + }; + + bluetooth { + bindings = < + &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none + &bt BT_CLR &bt BT_NXT &bt BT_PRV &bt BT_SEL 0 &none &none &none &none &none &none + &none &to ALPH &to SYM &none + >; + }; + + gaming { + bindings = < + &kp Q &kp W &kp E &kp R &kp NUM_1 &none &none &none &none &none + &kp A &kp S &kp D &kp F &kp NUM_2 &none &none &none &none &none + &kp Z &kp X &kp C &kp V &kp NUM_3 &none &none &none &none &none + &none &to ALPH &to SYM &none + >; + }; }; };