|
|
|
#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 >;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|