// Copyright (c) 2022 The ZMK Contributors // SPDX-License-Identifier: MIT #include #include #include // Layer definitions #define BASE 0 #define SYM 1 #define NUM 2 #define NAV 3 #define SETTINGS 4 // Home row mods macro #define HRML(k1,k2,k3) &lht LALT k1 &lht LCTRL k2 &lht LGUI k3 #define HRMR(k1,k2,k3) &rht RGUI k1 &rht RCTRL k2 &rht LALT k3 // Hold to shift, tap to go to BASE layer #define SHIFT &hl LSHIFT BASE // (Alphas) Cluster definitions #define RHS 5 6 7 8 9 \ 15 16 17 18 19 \ 25 26 27 28 29 #define LHS 0 1 2 3 4 \ 10 11 12 13 14 \ 20 21 22 23 24 / { behaviors { // left-hold-tap lht: left_hold_tap { compatible = "zmk,behavior-hold-tap"; #binding-cells = <2>; flavor = "balanced"; tapping-term-ms = <150>; require-prior-idle-ms = <135>; quick-tap-ms = <50>; bindings = <&kp>, <&kp>; // Hold trigger on opposite side, RHS and shift hold-trigger-key-positions = ; }; // left-hold-tap rht: right_hold_tap { compatible = "zmk,behavior-hold-tap"; #binding-cells = <2>; flavor = "balanced"; tapping-term-ms = <150>; require-prior-idle-ms = <135>; quick-tap-ms = <50>; bindings = <&kp>, <&kp>; // Hold trigger on opposite side, LHS and shift hold-trigger-key-positions = ; }; // Used for shift hl: hold_layer { compatible = "zmk,behavior-hold-tap"; flavor = "tap-preferred"; #binding-cells = <2>; tapping-term-ms = <220>; quick-tap-ms = <190>; bindings = <&kp>, <&to>; }; }; macros { esc: esc { label = "esc"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <¯o_tap &kp ESC> , <¯o_tap &to BASE> ; }; }; combos { compatible = "zmk,combos"; combo_compose { timeout-ms = <150>; // tab + space key-positions = <31 32>; bindings = <&kp RALT>; layers = ; }; combo_esc { timeout-ms = <150>; // lshift + sym key-positions = <30 33>; bindings = <&esc>; layers = ; }; // Combo for settings layer combo_settings { timeout-ms = <150>; // t + y key-positions = <4 5>; bindings = <&to SETTINGS>; layers =