|
| 1 | +// Copyright (c) 2022 The ZMK Contributors |
| 2 | +// SPDX-License-Identifier: MIT |
| 3 | + |
| 4 | +#include <behaviors.dtsi> |
| 5 | +#include <dt-bindings/zmk/keys.h> |
| 6 | +#include <dt-bindings/zmk/bt.h> |
| 7 | + |
| 8 | +// Home row mods macro |
| 9 | +#define HRML(k1,k2,k3,k4) &ht LSHFT k1 &ht LALT k2 &ht LCTRL k3 &ht LGUI k4 |
| 10 | +#define HRMR(k1,k2,k3,k4) &ht RGUI k1 &ht RCTRL k2 &ht RALT k3 &ht RSHFT k4 |
| 11 | + |
| 12 | +/ { |
| 13 | + behaviors { |
| 14 | + ht: hold_tap { |
| 15 | + compatible = "zmk,behavior-hold-tap"; |
| 16 | + #binding-cells = <2>; |
| 17 | + flavor = "tap-preferred"; |
| 18 | + tapping-term-ms = <220>; |
| 19 | + quick-tap-ms = <150>; |
| 20 | + require-prior-idle-ms = <100>; |
| 21 | + bindings = <&kp>, <&kp>; |
| 22 | + }; |
| 23 | + }; |
| 24 | + |
| 25 | + conditional_layers { |
| 26 | + compatible = "zmk,conditional-layers"; |
| 27 | + tri_layer { |
| 28 | + if-layers = <1 2>; |
| 29 | + then-layer = <3>; |
| 30 | + }; |
| 31 | + }; |
| 32 | + |
| 33 | + keymap { |
| 34 | + compatible = "zmk,keymap"; |
| 35 | + default_layer { |
| 36 | + bindings = < |
| 37 | + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ |
| 38 | + //│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ |
| 39 | + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P |
| 40 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 41 | + //│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ' " │ |
| 42 | + HRML(A, S, D, F) &kp G &kp H HRMR(J, K, L, SQT) |
| 43 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 44 | + //│ Z │ X │ C │ V │ B │ │ N │ M │ , < │ . > │ / ? │ |
| 45 | + &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH |
| 46 | + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ |
| 47 | + < 2 TAB &kp ENTER &kp SPACE < 1 BSPC |
| 48 | + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ |
| 49 | + >; |
| 50 | + }; |
| 51 | + |
| 52 | + right_layer { |
| 53 | + bindings = < |
| 54 | + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ |
| 55 | + //│ INSERT │ 1 │ 2 │ 3 │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ : │ |
| 56 | + &kp INS &kp N1 &kp N2 &kp N3 &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &kp COLON |
| 57 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 58 | + //│ DELETE │ 4 │ 5 │ 6 │ │ │ LEFT │ DOWN │ UP │ RIGHT │ ; │ |
| 59 | + &kp DEL &kp N4 &kp N5 &kp N6 &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp SEMI |
| 60 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 61 | + //│ CAPS │ 7 │ 8 │ 9 │ 0 │ │ │ │ │ │ │ |
| 62 | + &caps_word &kp N7 &kp N8 &kp N9 &kp N0 &trans &trans &trans &trans &trans |
| 63 | + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ |
| 64 | + &trans &kp ESC &trans &trans |
| 65 | + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ |
| 66 | + >; |
| 67 | + }; |
| 68 | + |
| 69 | + left_layer { |
| 70 | + bindings = < |
| 71 | + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ |
| 72 | + //│ │ [ │ { │ } │ │ │ ^ │ ( │ ) │ ] │ ~ │ |
| 73 | + &trans &kp LBKT &kp LBRC &kp RBRC &trans &kp CARET &kp LPAR &kp RPAR &kp RBKT &kp TILDE |
| 74 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 75 | + //│ ! │ @ │ # │ $ │ % │ │ * │ - │ = │ \ │ ` │ |
| 76 | + &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp ASTRK &kp MINUS &kp EQUAL &kp BSLH &kp GRAVE |
| 77 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 78 | + //│ │ │ │ │ │ │ & │ _ │ + │ │ │ │ |
| 79 | + &trans &trans &trans &trans &trans &kp AMPS &kp UNDER &kp PLUS &kp PIPE &trans |
| 80 | + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ |
| 81 | + &trans &trans &trans &trans |
| 82 | + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ |
| 83 | + >; |
| 84 | + }; |
| 85 | + |
| 86 | + tri_layer { |
| 87 | + bindings = < |
| 88 | + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ |
| 89 | + //│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │ |
| 90 | + &sys_reset &trans &trans &trans &bt BT_SEL 0 &trans &trans &trans &trans &sys_reset |
| 91 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 92 | + //│BOOTLOADER│ │ │ │PROFILE 1 │ │ │ │ │ │BOOTLOADER│ |
| 93 | + &bootloader &trans &trans &trans &bt BT_SEL 1 &trans &trans &trans &trans &bootloader |
| 94 | + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ |
| 95 | + //│ │ │ │ CLEAR BT │PROFILE 2 │ │ │ │ │ │ │ |
| 96 | + &trans &trans &trans &bt BT_CLR &bt BT_SEL 2 &trans &trans &trans &trans &trans |
| 97 | + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ |
| 98 | + &trans &trans &trans &trans |
| 99 | + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ |
| 100 | + >; |
| 101 | + }; |
| 102 | + }; |
| 103 | +}; |
0 commit comments