diff --git a/app/boards/shields/xmkb/xmkb.keymap b/app/boards/shields/xmkb/xmkb.keymap index e571144d..65d22688 100644 --- a/app/boards/shields/xmkb/xmkb.keymap +++ b/app/boards/shields/xmkb/xmkb.keymap @@ -1,42 +1,99 @@ #include #include +#include +#include #define DEF 0 #define LOW 1 #define HIGH 2 +#define OLD 0 +#define INTU 1 +#define NUM 2 +#define UTIL 3 +#define META 4 +#define HEX 5 + + +// using a keyboard should be like a dance. never off balance. motion always fluid. yet sometimes still. + / { + behaviors { + xlt: xenua_layer_tap { + compatible = "zmk,behavior-hold-tap"; + label = "XENUA_LAYER_TAP"; + flavor = "balanced"; + tapping-term-ms = <125>; + quick-tap-ms = <100>; + #binding-cells = <2>; + bindings = <&mo>, <&kp>; + }; + xt: xenua_tap { + compatible = "zmk,behavior-hold-tap"; + label = "XENUA_TAP"; + flavor = "balanced"; + tapping-term-ms = <125>; + quick-tap-ms = <100>; + #binding-cells = <2>; + bindings = <&kp>, <&kp>; + }; + xhm: xenua_homerow_mods { + compatible = "zmk,behavior-hold-tap"; + label = "XENUA_HOMEROW_MODS"; + flavor = "balanced"; + tapping-term-ms = <200>; + quick-tap-ms = <100>; + #binding-cells = <2>; + bindings = <&kp>, <&kp>; + }; + }; + keymap { compatible = "zmk,keymap"; - default_layer { +//pinky ring middle index inner | inner index middle ring pinky + old { // back to center 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 ENTER -&kp ESC &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT - &kp LCTRL < LOW SPACE &kp LSHIFT &kp LMETA < HIGH BSPC &kp LALT - >; - sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; +&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P +&xhm LCTRL A &xhm LGUI S &xhm LALT D &xhm LSHIFT F &kp G &kp H &xhm RSHIFT J &xhm RALT K &xhm RGUI L &xhm RCTRL ENTER +&kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &none + &mo NUM &kp SPACE &kp TAB &kp CAPSLOCK &kp BSPC &xlt UTIL ESCAPE >; }; - - low_layer { + intu { // upright. breathe. focus. bindings = < -&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 -&trans &trans &kp LBKT &kp RBKT &kp INS &kp PG_UP &kp EQUAL &kp MINUS &kp TAB &trans -&trans &kp GRAVE &kp BSLH &kp FSLH &kp DEL &kp PG_DN &kp SEMI &kp SQT &kp HOME &kp END - &trans &trans &trans &trans &trans &trans - >; - sensor-bindings = <&inc_dec_kp C_AC_SCROLL_UP C_AC_SCROLL_DOWN>; +&kp X &kp V &kp Y &kp M &kp D &kp R &kp U &kp G &kp B &kp J +&xhm LCTRL A &xhm LGUI E &xhm LALT I &xhm LSHIFT O &kp U &kp H &xhm RSHIFT T &xhm RALT N &xhm RGUI S &xhm RCTRL ENTER +&kp Z &kp K &kp P &kp F &kp C &kp L &kp W &kp COMMA &kp DOT &kp Q + &mo NUM &kp SPACE &kp TAB &kp CAPSLOCK &kp BSPC &xlt UTIL ESCAPE >; + sensor-bindings = <&inc_dec_kp K_VOL_UP K_VOL_DN>; }; - - high_layer { + num { // quick step to the right + bindings = < +&none &none &kp SEMICOLON &kp APOSTROPHE &kp GRAVE &none &kp LBKT &kp RBKT &none &none +&xhm LCTRL N1 &xhm LGUI N2 &xhm LALT N3 &xhm LSHIFT N4 &kp N5 &kp N6 &xhm RSHIFT N7 &xhm RALT N8 &xhm RGUI N9 &xhm LCTRL N0 +&none &none &kp MINUS &kp EQUAL &none &none &kp SLASH &kp BACKSLASH &none &none + &trans &none &none &none &none &tog META >; + }; + util { // quick step to the left + bindings = < +&none &kp HOME &kp UP &kp END &kp PG_UP &kp F1 &kp F2 &kp F3 &kp F4 &none +&none &kp LEFT &kp DOWN &kp RIGHT &kp PG_DN &kp F5 &kp F6 &kp F7 &kp F8 &none +&none &kp PSCRN &none &kp DELETE &kp INSERT &kp F9 &kp F10 &kp F11 &kp F12 &none + &tog META &none &none &none &none &trans >; + }; + meta { // turn around + bindings = < +&reset &none &none &none &out OUT_USB &none &none &none &none &reset +&bootloader &none &none &none &out OUT_BLE &none &tog INTU &none &none &bootloader +&bt BT_CLR &bt BT_PRV &bt BT_NXT &none &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 + &none &none &tog META &none &none &tog META >; + }; + hex { // step forward bindings = < -&trans &kp UP &kp K_PREV &kp K_PP &kp K_NEXT &kp F1 &kp F2 &kp F3 &kp F4 &trans -&kp LEFT &kp DOWN &kp RIGHT &trans &trans &kp F5 &kp F6 &kp F7 &kp F8 &trans -&trans &trans &kp PSCRN &kp SLCK &kp PAUSE_BREAK &kp F9 &kp F10 &kp F11 &kp F12 &trans - &trans &trans &trans &trans &trans &trans - >; - sensor-bindings = <&inc_dec_kp C_BRI_INC C_BRI_DEC>; +&kp N0 &kp N1 &kp N2 &kp N3 &none &none &kp N4 &kp N5 &kp N6 &kp N7 +&kp N8 &kp N9 &kp A &kp B &none &none &kp C &kp D &kp E &kp F +&none &none &none &kp X &none &none &none &kp COMMA &kp DOT &none + &none &kp LSHIFT &tog HEX &none &kp SPACE &tog HEX >; }; }; -}; \ No newline at end of file +}; diff --git a/app/boards/shields/xmkb/xmkb_left.conf b/app/boards/shields/xmkb/xmkb_left.conf index 1aff2c20..1e8e8c2b 100644 --- a/app/boards/shields/xmkb/xmkb_left.conf +++ b/app/boards/shields/xmkb/xmkb_left.conf @@ -1,3 +1,3 @@ # Uncomment to enable encoder -# CONFIG_EC11=y -# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file +CONFIG_EC11=y +CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file