diff --git a/.gitignore b/.gitignore index 205598eb10..6cd2c5200a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -/firmware/*.uf2 +firmware/ +.DS_Store +.idea/ \ No newline at end of file diff --git a/config/adv360.keymap b/config/adv360.keymap index a7521d9488..3c15953d2b 100644 --- a/config/adv360.keymap +++ b/config/adv360.keymap @@ -11,6 +11,21 @@ * This file was generated automatically. You may or may not want to * edit it directly. */ +#define BASE 0 +#define QWERTY 1 +#define KEYPAD 2 +#define FN 3 +#define APPS 4 +#define MOD 5 + + +#define MO_TOG(layer) &mo_tog layer layer // Macro to apply momentary-layer-on-hold/toggle-layer-on-tap to a specific layer +#define NAV_E &tog_key KEYPAD E + +#define MEH(key) LS(LC(LA(key))) + +#define HYP(key) LS(LC(LA(LG(key)))) +#define HYPER LS(LC(LA(LGUI))) #include #include @@ -18,10 +33,44 @@ #include #include +&mt { + tapping-term-ms = <210>; + flavor = "tap-preferred"; + quick_tap_ms = <200>; +}; + +< { + quick_tap_ms = <200>; +}; + / { behaviors { #include "macros.dtsi" + pd3: prog_dvorak_rcurly_three_def { + compatible = "zmk,behavior-mod-morph"; + label = "pd3"; + mods = <(MOD_LGUI|MOD_LSFT|MOD_RGUI|MOD_RSFT)>; + #binding-cells = <0>; + bindings = <&kp RBRC>, <&kp KP_N3>; + }; + + comma_inner_morph: comma_inner_morph { + compatible = "zmk,behavior-mod-morph"; + label = "cim"; + #binding-cells = <0>; + bindings = <&kp SEMICOLON>, <&kp LESS_THAN>; + mods = <(MOD_LCTL|MOD_RCTL)>; + }; + + comma_morph: comma_morph_def { + compatible = "zmk,behavior-mod-morph"; + label = "cm"; + mods = <(MOD_LSFT|MOD_RSFT)>; + #binding-cells = <0>; + bindings = <&kp COMMA>, <&comma_inner_morph>; + }; + hm: homerow_mods { compatible = "zmk,behavior-hold-tap"; label = "HOMEROW_MODS"; @@ -31,39 +80,116 @@ flavor = "tap-preferred"; bindings = <&kp>, <&kp>; }; - }; - keymap { - compatible = "zmk,keymap"; + mo_tog: behavior_mo_tog { + compatible = "zmk,behavior-hold-tap"; + label = "mo_tog"; + #binding-cells = <2>; + flavor = "hold-preferred"; + tapping-term-ms = <200>; + bindings = <&mo>, <&tog>; + }; + tog_key: behavior_tog_key { + compatible = "zmk,behavior-hold-tap"; + label = "tog_key"; + #binding-cells = <2>; + flavor = "hold-preferred"; + tapping-term-ms = <200>; + bindings = <&tog>, <&kp>; + }; - default_layer { - bindings = < - &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &tog 1 &mo 3 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS - &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp U &kp I &kp O &kp P &kp BSLH - &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &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 HOME &kp PG_UP &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT - &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &mo 2 - >; + td_vimac_help: td_vimac_help { + compatible = "zmk,behavior-tap-dance"; + label = "TAP_DANCE_VIMMAC_HELP"; + #binding-cells = <0>; + tapping-term-ms = <200>; + bindings = <&mt HYPER LG(LC(SLASH))>, <&kp LG(LS(SLASH))>; + }; + + td_rider_basics: td_rider_basics { + compatible = "zmk,behavior-tap-dance"; + label = "TAP_DANCE_RIDER_BASICS"; + #binding-cells = <0>; + tapping-term-ms = <250>; + bindings = <&kp LG(LS(A))>, <&kp LG(LS(N))>, <&kp LG(LS(F))>; + }; + }; + +keymap { + compatible = "zmk,keymap"; + + default_layer { +// DEFAULT +// ----------------------------------------------------------------------- --------------------------------------------------------------------- +// | +/= | 1 | 2 | 3 | 4 | 5 | None | | None | 6 | 7 | 8 | 9 | 0 | -/_ | +// | TAB | Q | W | E | R | T | None | | None | Y | U | I | O | P | :/\ | +// | LCTRL | A | S | D | F | G | None | | None | H | J | K | L | ; | '/" | +// | LSHIFT | Z | X | C | V | B |--------- -------| N | M | , | . | / | RSHIFT | +// | ESC | ~ | :/\ | LA | RA |---------- ----------| UA | DA | [ | ] | | +// ---------------------------------------------------- ---------------------------------------------------- +// +// Thumb Cluster +// ----------------- ------------------ +// | LOWER | LALT | | LGUI | UPPER | +// ------------------------- --------------------------- +// | | | HOME | | PG UP | | | +// | LGUI | SPACE |-------- --------| ENTER | BSPC | +// | | | END | | PG DN | | | +// ------------------------- --------------------------- + bindings = < + &mt HYPER EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &tog KEYPAD &mo MOD &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &mt HYPER MINUS + &kp TAB &kp SQT &kp COMMA &kp PERIOD &kp P &kp Y &td_rider_basics &none &kp F &kp G &kp C &kp R &kp L &kp SLASH + &kp ESC &hm LALT A &hm LCTRL O &hm LGUI E &hm LSHFT U &kp I &to QWERTY &kp LGUI &kp LALT &kp RCTRL &kp RSHFT &td_vimac_help &kp D &hm RSHFT H &hm RGUI T &hm RCTRL N &hm RALT S &kp BACKSLASH + &kp LSHFT &kp SEMI &kp Q &kp J &kp K &kp X &kp HOME &kp RGUI &kp B &kp M &kp W &kp V &kp Z &kp PG_UP + MO_TOG(FN) &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT < FN BSPC < APPS DEL &kp END &kp RALT < APPS ENTER < FN SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &kp PG_DN + + + + >; }; + qwerty { + bindings = < + &mt HYPER EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &tog KEYPAD &mo MOD &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &mt HYPER MINUS + &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp TAB &none &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH + &kp ESC &hm LALT A &hm LCTRL S &hm LGUI D &hm LSHFT F &kp G &to BASE &trans &trans &trans &trans &td_vimac_help &kp H &hm RSHFT J &hm RGUI K &hm RCTRL L &hm RALT SEMICOLON &kp SINGLE_QUOTE + &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &trans &trans &kp N &kp M &kp COMMA &kp PERIOD &kp SLASH &trans + MO_TOG(FN) &kp GRAV &none &kp LEFT &kp RIGHT &trans &trans &trans &trans &trans &trans &kp UP &kp DOWN &kp LBKT &kp RBKT &trans + + + + >; + }; + layer_keypad { bindings = < - &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &trans &mo 3 &kp N6 &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp MINUS - &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp Y &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp BSLH - &kp ESC &kp A &kp S &kp KP_MULTIPLY &kp KP_DIVIDE &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &kp KP_DOT &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp SQT - &kp LSHFT &kp Z &kp X &kp KP_PLUS &kp KP_MINUS &kp B &kp HOME &kp PG_UP &kp KP_EQUAL &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &kp RSHFT - &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp KP_N0 &kp UP &kp DOWN &kp KP_DOT &kp RBKT &mo 2 + &kp EQUAL &kp N1 &kp N2 &pd3 &kp N4 &kp N5 &trans &mo MOD &kp N6 &kp KP_NUM &kp KP_EQUAL &none &none &kp MINUS + &kp TAB &kp Q &kp W &kp E &kp R &kp T &none &none &kp KP_DOT &kp KP_N7 &kp KP_N8 &kp KP_N9 &none &kp BSLH + &kp ESC &kp A &kp S &kp KP_MULTIPLY &kp KP_DIVIDE &kp G &none &trans &trans &trans &trans &none &kp KP_EQUAL &kp KP_N4 &kp KP_N5 &kp KP_N6 &none &kp SQT + &trans &kp Z &none &kp KP_PLUS &kp KP_MINUS &none &trans &trans &kp N &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &trans + &trans &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &trans &trans &trans &trans &trans &trans &kp UP &kp DOWN &kp KP_DOT &kp RBKT &trans >; }; layer_fn { bindings = < - &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &tog 1 &mo 3 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 - &trans &trans &trans &trans &trans &trans &none &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &tog KEYPAD &mo MOD &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 + &kp TAB &kp LC(F2) &kp LC(F3) &kp LC(F4) &kp LC(F5) &kp LC(F6) &trans &trans &kp LC(F7) &kp LC(F8) &kp F9 &kp LC(F10) &kp LC(F11) &kp LC(F12) + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp F5 &kp F10 &kp F11 &kp F12 &trans &trans + &trans &trans &trans &kp LG(W) &kp V &kp B &trans &trans &trans &trans &trans &trans &kp LG(LA(Z)) &trans + &trans &trans &trans &trans &kp LSHFT &kp LCTRL &trans &trans &trans &trans &kp RCTRL &kp RSHFT &trans &trans &trans &trans + + >; + }; + + layer_apps { + bindings = < + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &tog KEYPAD &mo MOD &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 + &trans &kp HYP(DOWN) &kp HOME &kp UP &kp END &kp PG_UP &none &none &trans &trans &kp C &trans &trans &kp LG(LC(NUMBER_9)) + &kp CAPS &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp PG_DN &none &kp RC(F3) &trans &trans &trans &none &none &sk RSHFT &sk RCTRL &sk RGUI &sk LALT &kp LG(NUMBER_9) + &trans &kp RG(Z) &kp RG(X) &kp RG(C) &kp RG(V) &kp TAB &trans &trans &trans &sk HYPER &trans &trans &kp LG(LA(Z)) &trans + &trans &none &none &kp LC(LS(TAB)) &kp LC(TAB) &kp LG(W) &kp LG(Q) &trans &trans &trans &trans &kp HYP(LEFT) &kp HYP(RIGHT) &trans &trans &trans >; }; @@ -76,6 +202,5 @@ &none &none &none &none &none &none &none &none &none &bl BL_TOG &rgb_ug RGB_TOG &bl BL_INC &bl BL_DEC &none &none &none >; }; - }; };