summary refs log tree commit diff
path: root/config/cradio.keymap
blob: da129001860c63de62e60f53c0f339f92c51915d (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
// 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>

#define AS(keycode) &as LS(keycode) keycode     // Autoshift Macro
#define VOL_UP &kp C_VOL_UP
#define VOL_DN &kp C_VOL_DN

/ {
    behaviors {
        as: auto_shift {
            compatible = "zmk,behavior-hold-tap";
            label = "AUTO_SHIFT";
            #binding-cells = <2>;
            tapping_term_ms = <200>; // How long in milliseconds the key must be held to trigger a hold
            quick_tap_ms = <100>; // Tap twice within this period (in milliseconds) to trigger a tap, even when held (default -1 = off)
            flavor = "tap-preferred";
            bindings = <&kp>, <&kp>;
        };
    };

    conditional_layers {
        compatible = "zmk,conditional-layers";
        tri_layer {
            if-layers = <1 2>;
            then-layer = <3>;
        };
    };

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

        left_layer {
            bindings = <
        //╭──────────┬──────────┬──────────┬──────────┬──────────╮   ╭──────────┬──────────┬──────────┬──────────┬──────────╮
        //│  1       │  2       │  3       │  4       │  5       │   │  6       │  7       │  8       │  9       │  0       │
            AS(N1)     AS(N2)     AS(N3)     AS(N4)     AS(N5)         AS(N6)     AS(N7)     AS(N8)     AS(N9)     AS(N0)   
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│          │          │          │          │          │   │          │ LEFT     │ DOWN     │ UP       │ RIGHT    │
            &trans     &trans     &trans     &trans     &trans         &trans     &kp LARW   &kp DARW   &kp UARW   &kp RARW           
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│          │          │          │          │          │   │          │          │          │          │          │
            &trans     &trans     &trans     &trans     &trans         &trans     &trans     &trans     &trans     &trans
        //╰──────────┴──────────┴──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┴──────────┴──────────╯
                                             &trans     &trans         &trans     &trans
        //                                 ╰──────────┴──────────╯   ╰──────────┴──────────╯
            >;
        };

        right_layer {
            bindings = <
        //╭──────────┬──────────┬──────────┬──────────┬──────────╮   ╭──────────┬──────────┬──────────┬──────────┬──────────╮
        //│  F1      │  F2      │  F3      │  F4      │  F5      │   │  F6      │  F7      │  F8      │  F9      │  F10     │
            &kp F1     &kp F2     &kp F3     &kp F4     &kp F5         &kp F6     &kp F7     &kp F8     &kp F9     &kp F10   
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│ PRV TRCK │ VOL UP   │ VOL DOWN │ NXT TRCK │ TAB      │   │ - _      │ = +      │ { [      │ } ]      │ \ |      │
           &kp C_PREV  VOL_UP     VOL_DN    &kp C_NEXT  &kp TAB       AS(MINUS)  AS(EQUAL)   AS(LBKT)   AS(RBKT)   AS(BSLH) 
        //├──────────┼──────────┼──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┼──────────┼──────────┤
        //│          │PLY/PAUSE │ MUTE     │          │          │   │ F11      │ ` ~      │ DEL      │ ' "      │  F12     │
            &trans     &kp C_PP  &kp C_MUTE  &trans     &trans         &kp F11   AS(GRAVE)   &kp DEL    AS(SQT)    &kp F12  
        //╰──────────┴──────────┴──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┴──────────┴──────────╯
                                             &trans     &trans         &trans     &trans
        //                                 ╰──────────┴──────────╯   ╰──────────┴──────────╯
            >;
        };

        tri_layer {
            bindings = <
        //╭──────────┬──────────┬──────────┬──────────┬──────────╮   ╭──────────┬──────────┬──────────┬──────────┬──────────╮
        //│ RESET    │          │          │          │PROFILE 0 │   │          │          │          │          │  RESET   │
            &reset     &trans     &trans     &trans    &bt BT_SEL 0    &trans     &trans     &trans     &trans      &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
        //                                 ╰──────────┴──────────╯   ╰──────────┴──────────╯
            >;
        };
    };
};