diff --git a/app/boards/shields/cradio/cradio.keymap b/app/boards/shields/cradio/cradio.keymap index ec5e0e7a5dd..587bc7aa450 100644 --- a/app/boards/shields/cradio/cradio.keymap +++ b/app/boards/shields/cradio/cradio.keymap @@ -1,102 +1,104 @@ -/* - * Copyright (c) 2020 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ +// Copyright (c) 2022 The ZMK Contributors +// SPDX-License-Identifier: MIT #include #include #include +// Home row mods macro +#define HRML(k1,k2,k3,k4) &ht LSHFT k1 &ht LALT k2 &ht LCTRL k3 &ht LGUI k4 +#define HRMR(k1,k2,k3,k4) &ht RGUI k1 &ht RCTRL k2 &ht RALT k3 &ht RSHFT k4 -&mt { - // flavor = "tap-preferred"; - // tapping_term_ms = <200>; -}; - -/ { - - combos { - compatible = "zmk,combos"; - combo_esc { - timeout-ms = <50>; - key-positions = <0 1>; - bindings = <&kp ESC>; - }; - - combo_tab { - timeout-ms = <50>; - key-positions = <10 11>; - bindings = <&kp TAB>; +/ { + behaviors { + ht: hold_tap { + label = "hold_tap"; + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + flavor = "tap-preferred"; + tapping-term-ms = <220>; + quick-tap-ms = <150>; + global-quick-tap; + bindings = <&kp>, <&kp>; }; - - combo_ralt { - timeout-ms = <50>; - key-positions = <17 16>; - bindings = <&kp RALT>; + }; + + conditional_layers { + compatible = "zmk,conditional-layers"; + tri_layer { + if-layers = <1 2>; + then-layer = <3>; }; - - combo_lalt { - timeout-ms = <50>; - key-positions = <11 12>; - bindings = <&kp LALT>; + }; + + keymap { + compatible = "zmk,keymap"; + default_layer { + bindings = < + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ + //│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ' " │ + HRML(A, S, D, F) &kp G &kp H HRMR(J, K, L, SQT) + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ Z │ X │ C │ V │ B │ │ N │ M │ , < │ . > │ / ? │ + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ + < 2 TAB &kp ENTER &kp SPACE < 1 BSPC + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ + >; }; - - combo_lgui { - timeout-ms = <50>; - key-positions = <12 13>; - bindings = <&kp LGUI>; + + right_layer { + bindings = < + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ + //│ INSERT │ 1 │ 2 │ 3 │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ : │ + &kp INS &kp N1 &kp N2 &kp N3 &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &kp COLON + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ DELETE │ 4 │ 5 │ 6 │ │ │ LEFT │ DOWN │ UP │ RIGHT │ ; │ + &kp DEL &kp N4 &kp N5 &kp N6 &trans &kp LARW &kp DARW &kp UARW &kp RARW &kp SEMI + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ CAPS │ 7 │ 8 │ 9 │ 0 │ │ │ │ │ │ │ + &caps_word &kp N7 &kp N8 &kp N9 &kp N0 &trans &trans &trans &trans &trans + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ + &trans &kp ESC &trans &trans + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ + >; }; - - - combo_rgui { - timeout-ms = <50>; - key-positions = <17 18>; - bindings = <&kp RGUI>; + + left_layer { + bindings = < + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ + //│ │ [ │ { │ } │ │ │ ^ │ ( │ ) │ ] │ ~ │ + &trans &kp LBKT &kp LBRC &kp RBRC &trans &kp CARET &kp LPAR &kp RPAR &kp RBKT &kp TILDE + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ ! │ @ │ # │ $ │ % │ │ * │ - │ = │ \ │ ` │ + &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp ASTRK &kp MINUS &kp EQUAL &kp BSLH &kp GRAVE + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ │ │ │ │ │ │ & │ _ │ + │ │ │ │ + &trans &trans &trans &trans &trans &kp AMPS &kp UNDER &kp PLUS &kp PIPE &trans + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ + &trans &trans &trans &trans + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ + >; }; - - + tri_layer { + bindings = < + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ + //│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │ + &reset &trans &trans &trans &bt BT_SEL 0 &trans &trans &trans &trans &reset + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│BOOTLOADER│ │ │ │PROFILE 1 │ │ │ │ │ │BOOTLOADER│ + &bootloader &trans &trans &trans &bt BT_SEL 1 &trans &trans &trans &trans &bootloader + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ │ │ │ CLEAR BT │PROFILE 2 │ │ │ │ │ │ │ + &trans &trans &trans &bt BT_CLR &bt BT_SEL 2 &trans &trans &trans &trans &trans + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ + &trans &trans &trans &trans + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ + >; + }; }; - - keymap { - compatible = "zmk,keymap"; - - default_layer { - bindings = < - &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P - &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp QUOT - &mt LSFT Z &kp X &kp C &kp V &kp B &kp N &kp M &kp CMMA &kp DOT &mt LSFT RET - &mo 1 &kp LCTL &kp SPC &mo 2 - >; - }; - - left_layer { - bindings = < - &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp NUM_7 &kp NUM_8 &kp NUM_9 &kp NUM_0 - &kp TAB &kp LC(S) &kp DQT &kp PIPE2 &kp HASH &kp MINUS &kp EQL &kp LBKT &kp RBKT &kp DEL - &kp ESC &kp TILDE &kp NON_US_BSLH &kp NON_US_HASH &kp TILDE2 &kp MINUS &kp GRAVE &kp LBKT &kp RBKT &kp DEL - &mo 1 &kp LGUI &kp RGUI &mo 2 - >; - }; - - right_layer { - bindings = < - &kp BANG &kp ATSN &kp HASH &kp DLLR &kp PRCT &kp CRRT &kp AMPS &kp KMLT &kp LPRN &kp RPRN - &kp HASH &kp QMARK &kp FSLH &kp COLN &kp SCLN &kp MINUS &kp KP_EQUAL &kp LBRC &kp RBRC &kp BKSP - &kp LSFT &kp KPLS &kp LBKT &kp RBKT &kp BSLH &kp UNDER &kp LEFT &kp DOWN &kp UP &kp RIGHT - &mo 3 &kp LCTL &kp SPC &mo 2 - >; - }; - - tri_layer { - bindings = < - &kp NUM_1 &kp NUM_2 &kp NUM_3 &kp NUM_4 &kp NUM_5 &trans &trans &trans &trans &trans - &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &trans &kp PG_UP &kp K_VOL_UP &kp K_MUTE &trans - &bt BT_CLR &bt BT_NXT &bt BT_PRV &kp F6 &kp F7 &trans &kp PG_DN &kp K_VOL_DN &trans &trans - &trans &trans &trans &trans - >; - }; - - }; };