mirror of
https://github.com/zoriya/abyss.git
synced 2026-08-15 18:44:47 +00:00
95 lines
4.7 KiB
Plaintext
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
|