diff --git a/config/swweeep.keymap b/config/swweeep.keymap new file mode 100644 index 0000000..bdcd0d3 --- /dev/null +++ b/config/swweeep.keymap @@ -0,0 +1,142 @@ +#include +#include +#include +#include + +#define DEFAULT 0 +#define NAV 1 +#define SYM 2 +#define FUNC 3 +#define MEDIA 4 +#define MOUSE 5 +#define WINNAV 6 + +&caps_word { + continue-list = ; +}; + +/ { + combos { + compatible = "zmk,combos"; + combo_undo { + timeout-ms = <50>; + key-positions = <20 21>; + bindings = <&kp LC(Z)>; + }; + combo_q { + timeout-ms = <50>; + key-positions = <21 22>; + bindings = <&kp Q>; + }; + combo_semicolon { + timeout-ms = <50>; + key-positions = <27 28>; + bindings = <&kp SEMI>; + }; + }; +}; + +/ { + + behaviors { + hm: homerow_mods { + compatible = "zmk,behavior-hold-tap"; + label = "HOMEROW_MODS"; + #binding-cells = <2>; + tapping-term-ms = <200>; + quick_tap_ms = <0>; + flavor = "balanced"; + bindings = <&kp>, <&kp>; + }; + hs: homerow_shift { + compatible = "zmk,behavior-hold-tap"; + label = "HOMEROW_SHIFT"; + #binding-cells = <2>; + tapping-term-ms = <175>; + quick_tap_ms = <0>; + flavor = "balanced"; + bindings = <&kp>, <&kp>; + }; + }; + + keymap { + compatible = "zmk,keymap"; + + default_layer { + label = "Default"; + + bindings = < + &kp Q &kp W &kp F &kp P &kp B &kp J &kp L < WINNAV U &kp Y &kp SEMI + &hm LCTL A &hm LGUI R &hm LALT S &hs LSHIFT T &kp G < MOUSE M &hs RSHIFT N &hm RALT E &hm RGUI I &hm RCTL O + &kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH + &kp DEL < NAV RET < FUNC TAB < MEDIA BSPC < SYM SPACE &kp SQT + >; + }; + + nav_layer { + label = "Navigation"; + + bindings = < + &kp ESC &kp PG_UP &kp UP &kp PG_DN &trans &kp ASTRK &kp N7 &kp N8 &kp N9 &kp MINUS + &kp HOME &kp LEFT &kp DOWN &kp RIGHT &kp END &kp FSLH &kp N4 &kp N5 &kp N6 &kp PLUS + &trans &trans &trans &trans &trans &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N0 + &trans &trans &kp TAB &kp BSPC &kp SPACE &kp DOT + >; + }; + + sym_layer { + label = "Symbols"; + + bindings = < + &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp ASTRK &kp UNDER &kp EQUAL + &kp MINUS &kp LBKT &kp LBRC &kp LPAR &kp LT &kp GT &kp RPAR &kp RBRC &kp RBKT &kp PLUS + &kp CAPS &kp GRAVE &kp LC(LS(TAB)) &kp LC(LG(LEFT)) &caps_word &trans &kp LC(LG(RIGHT)) &kp LC(TAB) &trans &kp BSLH + &trans &kp RET &kp DEL &kp BSPC &trans &trans + >; + }; + + func_layer { + label = "Function"; + + bindings = < + &bootloader &kp LS(PG_UP) &kp LS(UP) &kp LS(PG_DN) &trans &kp C_MUTE &kp F7 &kp F8 &kp F9 &kp F10 + &kp LS(HOME) &kp LS(LEFT) &kp LS(DOWN) &kp LS(RIGHT) &kp LS(END) &kp K_VOL_UP &kp F4 &kp F5 &kp F6 &kp F11 + &bt BT_SEL 3 &bt BT_SEL 2 &bt BT_SEL 1 &bt BT_SEL 0 &bt BT_CLR &kp K_VOL_DN &kp F1 &kp F2 &kp F3 &kp F12 + &out OUT_USB &out OUT_BLE &trans &kp C_PLAY_PAUSE &trans &kp SPACE + >; + }; + + media_layer { + label = "Media"; + + bindings = < + &trans &trans &trans &trans &trans &trans &bt BT_PRV &bt BT_NXT &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 + &trans &trans &trans &trans &out OUT_BLE &out OUT_USB + >; + }; + + mouse_layer { + label = "Mouse"; + + bindings = < + &bootloader &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 + >; + }; + + winnav_layer { + label = "Win Navigation"; + + bindings = < + &trans &trans &kp LG(UP) &trans &trans &trans &trans &trans &trans &trans + &trans &kp LG(LEFT) &kp LG(DOWN) &kp LG(RIGHT) &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans + >; + }; + }; +};