Files
abyss/config/abyss.keymap
T
2024-04-10 13:41:51 +02:00

95 lines
4.7 KiB
Plaintext

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
/ {
behaviors {
hml: homerow_mods_left {
compatible = "zmk,behavior-hold-tap";
flavor = "balanced";
tapping-term-ms = <280>;
quick-tap-ms = <150>;
require-prior-idle-ms = <150>;
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
// all keys on the right hands and thumbs
hold-trigger-key-positions = <
4 5 6 7
13 14 15 16 17
22 23 24 25
26 27 28 29 30 31
>;
hold-trigger-on-release;
};
hmr: homerow_mods_right {
compatible = "zmk,behavior-hold-tap";
flavor = "balanced";
tapping-term-ms = <280>;
quick-tap-ms = <150>;
require-prior-idle-ms = <150>;
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
// all keys on the left hands and thumbs
hold-trigger-key-positions = <
0 1 2 3
8 9 10 11 12
18 19 20 21
26 27 28 29 30 31
>;
hold-trigger-on-release;
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
bindings = <
// ╭─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────╮
&kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R
//╭─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤ ├─────────────┼─────────────┼─────────────┼─────────────┼─────────────╮
&hml LALT A &hml LGUI O &hml LSFT E &hml LCTL U &kp I &kp D &hmr LCTL H &hmr LSFT T &hmr LGUI N &hmr LALT S
//├─────────────┼─────────────┼─────────────┼─────────────┼─────────────╯ ╰─────────────┼─────────────┼─────────────┼─────────────┼─────────────┤
&kp SQT &kp Q &kp J &kp K &kp M &kp W &kp V &kp L
//╰───────────────────────────┼─────────────┼─────────────┼─────────────╮ ╭─────────────┼─────────────┼─────────────┼───────────────────────────╯
&kp TAB &kp SPACE &kp ESC &kp RET &kp BSPC &kp DEL
// ╰─────────────┴─────────────┴─────────────╯ ╰─────────────┴─────────────┴─────────────╯
>;
};
};
combos {
compatible = "zmk,combos";
combo_semi {
// pressing both , and . does ;
key-positions = <0 1>;
bindings = <&kp SEMI>;
timeout-ms = <20>;
require-prior-idle-ms = <150>;
};
combo_x {
// pressing both . and p does x
key-positions = <1 2>;
bindings = <&kp X>;
timeout-ms = <20>;
require-prior-idle-ms = <150>;
};
combo_z {
// pressing both g and c does z
key-positions = <5 6>;
bindings = <&kp Z>;
timeout-ms = <20>;
require-prior-idle-ms = <150>;
};
combo_b {
// pressing both c and r does b
key-positions = <6 7>;
bindings = <&kp B>;
timeout-ms = <20>;
require-prior-idle-ms = <150>;
};
};
};
// vim: ft=dts