You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
5.5 KiB

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/bt.h>
#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";
//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
&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 >;
};
intu { // upright. breathe. focus.
bindings = <
&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>;
};
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 = <
&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 >;
};
};
};