aboutsummaryrefslogtreecommitdiff
path: root/config/cradio.keymap
blob: 970fdce7d2a7b03a2e36f2e0c19171c3542492f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// Copyright (c) 2022 The ZMK Contributors
// SPDX-License-Identifier: MIT

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>

// Layer definitions
#define BASE 0
#define SYM  1
#define MOV  2
#define SETTINGS 3


// Home row mods macro
#define HRML(k1,k2,k3,k4) &ht LSHFT k1  &ht LALT k2  &ht LCTRL k3  &ht LGUI k4
#define HRMR(k1,k2,k3,k4) &ht RGUI k1  &ht RCTRL k2  &ht RALT k3  &ht RSHFT k4

/ {
    behaviors {
        ht: hold_tap {
            label = "hold_tap";
            compatible = "zmk,behavior-hold-tap";
            #binding-cells = <2>;
            flavor = "tap-preferred";
            tapping-term-ms = <220>;
            quick-tap-ms = <150>;
            global-quick-tap;
            bindings = <&kp>, <&kp>;
        };
    };

    conditional_layers {
        compatible = "zmk,conditional-layers";
        tri_layer {
            if-layers = <SYM MOV>;
            then-layer = <SETTINGS>;
        };
    };

    keymap {
        compatible = "zmk,keymap";
        default_layer {
            bindings = <
        //╭──────────┬──────────┬──────────┬──────────┬──────────╮   ╭──────────┬──────────┬──────────┬──────────┬──────────╮
        //│  Q       │  W       │  E       │  R       │  T       │   │  Y       │  U       │  I       │  O       │  P       │
            &kp Q      &kp W      &kp E      &kp R      &kp T          &kp Y      &kp U      &kp I      &kp O      &kp P
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│  A       │  S       │  D       │  F       │  G       │   │  H       │  J       │  K       │  L       │ ' "      │
            HRML(A,        S,         D,         F)     &kp G          &kp H      HRMR(J,        K,         L,        SQT)
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│  Z       │  X       │  C       │  V       │  B       │   │  N       │  M       │ , <      │ . >      │ / ?      │
            &kp Z      &kp X      &kp C      &kp V      &kp B          &kp N      &kp M      &kp COMMA  &kp DOT    &kp FSLH
        //╰──────────┴──────────┴──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┴──────────┴──────────╯
                                            &lt MOV TAB &kp ENTER     &kp SPACE  &lt SYM BSPC
        //                                 ╰──────────┴──────────╯   ╰──────────┴──────────╯
            >;
        };

        right_layer {
            bindings = <
        //╭──────────┬──────────┬──────────┬──────────┬──────────╮   ╭──────────┬──────────┬──────────┬──────────┬──────────╮
        //│ 1        │  2       │  3       │  4       │ 5        │   │ 6        │ 7        │ 8        │ 9        │  0       │
            &kp N1     &kp N2     &kp N3     &kp N4     &kp N5         &kp N6     &kp N7     &kp N8     &kp N9     &kp N0
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│ DELETE   │          │  #       │  =       │          │   │          │ :        │ ;        │ [        │  ]       │
            &kp DEL    &trans     &kp HASH   &kp EQUAL  &trans         &trans     &kp COLON  &kp SEMI  &kp LBKT    &kp RBKT
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│ CAPS     │          │  *       │  _       │          │   │          │ -        │ +        │ (        │  )       │
           &caps_word  &trans     &kp ASTRK  &kp UNDER  &trans         &trans     &kp MINUS  &kp PLUS   &kp LPAR    &kp RPAR
        //╰──────────┴──────────┴──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┴──────────┴──────────╯
                                             &trans     &kp ESC        &trans     &trans
        //                                 ╰──────────┴──────────╯   ╰──────────┴──────────╯
            >;
        };

        left_layer {
            bindings = <
        //╭──────────┬──────────┬──────────┬──────────┬──────────╮   ╭──────────┬──────────┬──────────┬──────────┬──────────╮
        //│          │          │          │          │          │   │          │          │          │          │          │
            &trans     &trans     &trans     &trans     &trans         &trans     &trans     &trans     &trans     &trans
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│  !       │  @       │  ^       │  $       │  %       │   │          │  ~       │  =       │  \       │  `       │
            &kp EXCL   &kp AT     &kp CARET  &kp DLLR   &kp PRCNT      &trans     &kp TILDE  &kp EQUAL  &kp BSLH   &kp GRAVE
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│          │          │          │          │          │   │          │  &       │  +       │  │       │          │
            &trans     &trans     &trans     &trans     &trans         &trans     &kp AMPS   &kp PLUS   &kp PIPE   &trans
        //╰──────────┴──────────┴──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┴──────────┴──────────╯
                                             &trans     &trans         &trans     &trans
        //                                 ╰──────────┴──────────╯   ╰──────────┴──────────╯
            >;
        };

        tri_layer {
            bindings = <
        //╭──────────┬──────────┬──────────┬──────────┬──────────╮   ╭──────────┬──────────┬──────────┬──────────┬──────────╮
        //│ RESET    │          │          │          │PROFILE 0 │   │          │          │          │          │  RESET   │
           &sys_reset  &trans     &trans     &trans    &bt BT_SEL 0    &trans     &trans     &trans     &trans    &sys_reset
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│BOOTLOADER│          │          │          │PROFILE 1 │   │          │          │          │          │BOOTLOADER│
          &bootloader  &trans     &trans     &trans    &bt BT_SEL 1    &trans     &trans     &trans     &trans    &bootloader
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│          │          │          │ CLEAR BT │PROFILE 2 │   │          │          │          │          │          │
            &trans     &trans     &trans    &bt BT_CLR &bt BT_SEL 2    &trans     &trans     &trans     &trans     &trans
        //╰──────────┴──────────┴──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┴──────────┴──────────╯
                                             &trans     &trans         &trans     &trans
        //                                 ╰──────────┴──────────╯   ╰──────────┴──────────╯
            >;
        };
    };
};