home | blog | art | git gpg | email | rss

zmk-config

Personal ZMK configuration for my wireless keyboard
git clone git://pollux.codes/git/zmk-config
Log | Files | Refs | README

cradio.keymap (5598B)


      1 // Copyright (c) 2022 The ZMK Contributors
      2 // SPDX-License-Identifier: MIT
      3 
      4 #include <behaviors.dtsi>
      5 #include <dt-bindings/zmk/bt.h>
      6 #include <dt-bindings/zmk/keys.h>
      7 #include <dt-bindings/zmk/mouse.h>
      8 
      9 &lt { quick-tap-ms = <175>; };
     10 
     11 / {
     12     behaviors {
     13         ht: hold_tap {
     14             compatible = "zmk,behavior-hold-tap";
     15             #binding-cells = <2>;
     16             flavor = "tap-preferred";
     17             tapping-term-ms = <220>;
     18             quick-tap-ms = <150>;
     19             require-prior-idle-ms = <100>;
     20             bindings = <&kp>, <&kp>;
     21         };
     22 
     23         hmr: hmr {
     24             compatible = "zmk,behavior-hold-tap";
     25             label = "HMR";
     26             bindings = <&kp>, <&kp>;
     27 
     28             #binding-cells = <2>;
     29             flavor = "balanced";
     30             tapping-term-ms = <300>;
     31             quick-tap-ms = <175>;
     32             require-prior-idle-ms = <150>;
     33             hold-trigger-on-release;
     34             hold-trigger-key-positions = <0 1 2 3 4 10 11 12 13 14 20 21 22 23 24 30 31>;
     35         };
     36 
     37         hml: hml {
     38             compatible = "zmk,behavior-hold-tap";
     39             label = "HML";
     40             bindings = <&kp>, <&kp>;
     41 
     42             #binding-cells = <2>;
     43             flavor = "balanced";
     44             tapping-term-ms = <300>;
     45             quick-tap-ms = <175>;
     46             require-prior-idle-ms = <150>;
     47             hold-trigger-on-release;
     48             hold-trigger-key-positions = <5 5 6 7 8 9 15 16 17 18 19 25 26 27 28 29 32 33>;
     49         };
     50     };
     51 
     52     conditional_layers {
     53         compatible = "zmk,conditional-layers";
     54 
     55         tri_layer {
     56             if-layers = <2 1>;
     57             then-layer = <3>;
     58         };
     59     };
     60 
     61     combos {
     62         compatible = "zmk,combos";
     63 
     64         mouse_middle_click {
     65             bindings = <&mkp MCLK>;
     66             key-positions = <32 33>;
     67             layers = <5>;
     68         };
     69 
     70         function_layer {
     71             bindings = <&mo 4>;
     72             key-positions = <32 33>;
     73             layers = <0>;
     74         };
     75 
     76         mouse_layer {
     77             bindings = <&mo 5>;
     78             key-positions = <30 31>;
     79             layers = <0>;
     80         };
     81     };
     82 
     83     keymap {
     84         compatible = "zmk,keymap";
     85 
     86         default_layer {
     87             bindings = <
     88 &kp SEMI  &kp COMMA    &kp DOT       &kp P            &kp Y                &kp F              &kp G            &kp C         &kp R            &kp L
     89 &kp A     &hml LALT O  &hml LCTRL E  &hml LEFT_GUI U  &kp I                &kp D              &hmr RIGHT_GUI H &hmr RCTRL T  &hmr RIGHT_ALT N &kp S
     90 &kp SQT   &kp Q        &kp J         &kp K            &kp X                &kp B              &kp M            &kp W         &kp V            &kp Z
     91                                      &lt 2 ESCAPE     &ht TAB SPACE        &mt LSHIFT RETURN  &lt 1 BSPC
     92             >;
     93         };
     94 
     95         symb_layer {
     96             bindings = <
     97 &kp TILDE &kp DLLR  &kp PRCNT  &kp AMPS      &none            &kp GRAVE  &kp QUESTION	&kp SLASH  &kp HASH  &kp CARET
     98 &kp LBKT  &kp LBRC  &kp RBRC   &kp LPAR      &kp EQUAL        &kp ASTRK  &kp RPAR   	&kp PLUS   &kp RBKT  &kp EXCL
     99 &none     &none     &none      &none         &kp CAPS         &kp PIPE   &kp UNDER  	&kp MINUS  &kp BSLH  &kp AT
    100                                &trans        &kp LSHIFT       &none      &trans
    101             >;
    102         };
    103 
    104         numnav_layer {
    105             bindings = <
    106 &kp INS  &kp PG_DN  &kp UP    &kp PG_UP  &none        &kp FSLH  &kp N7  &kp N8  &kp N9  &kp MINUS
    107 &kp DEL  &kp LEFT   &kp DOWN  &kp RIGHT  &none        &kp STAR  &kp N4  &kp N5  &kp N6  &kp PLUS
    108 &none    &none      &kp HOME  &kp END    &none        &kp DOT   &kp N1  &kp N2  &kp N3  &kp RET
    109                               &trans     &none        &kp N0    &trans
    110             >;
    111         };
    112 
    113         tri_layer {
    114             bindings = <
    115 &sys_reset      &none  &none  &none       &bt BT_SEL 0        &none  &none  &none  &none  &sys_reset
    116 &bootloader     &none  &none  &none       &bt BT_SEL 1        &none  &to 6  &none  &none  &bootloader
    117 &bt BT_CLR_ALL  &none  &none  &bt BT_CLR  &bt BT_SEL 2        &none  &none  &none  &none  &none
    118                               &none       &none               &none  &none
    119             >;
    120         };
    121 
    122         function_layer {
    123             bindings = <
    124 &none  &kp C_MUTE  &kp C_VOL_DN      &kp C_VOL_UP          &none                  &kp F1  &kp F2   &kp F3   &kp F4   &none
    125 &none  &kp C_PREV  &kp C_PLAY_PAUSE  &kp C_NEXT            &kp PRINTSCREEN        &kp F5  &kp F6   &kp F7   &kp F8   &none
    126 &none  &none       &kp C_BRI_DEC     &kp C_BRIGHTNESS_INC  &none                  &kp F9  &kp F10  &kp F11  &kp F12  &none
    127                                      &none                 &none                  &none   &none
    128             >;
    129         };
    130 
    131         mouse_layer {
    132             bindings = <
    133 &none  &none  &none  &none  &none        &none      &msc MOVE_DOWN  &mmv MOVE_UP    &msc MOVE_UP     &none
    134 &none  &none  &none  &none  &none        &none      &mmv MOVE_LEFT  &mmv MOVE_DOWN  &mmv MOVE_RIGHT  &none
    135 &none  &none  &none  &none  &none        &none      &none           &none           &none            &none
    136                      &none  &none        &mkp LCLK  &mkp RCLK
    137             >;
    138         };
    139 
    140         gaming_layer {
    141             bindings = <
    142 &kp ESC    &kp Q   &kp W   &kp E    &kp R            &kp F1  &kp F2   &kp F3   &kp F4   &none
    143 &kp LSHFT  &kp A   &kp S   &kp D    &kp F            &kp F5  &kp F6   &kp F7   &kp F8   &to 0
    144 &kp LCTRL  &kp Z   &kp X   &kp C    &kp V            &kp F9  &kp F10  &kp F11  &kp F12  &none
    145                            &kp TAB  &kp SPACE        &none   &none
    146             >;
    147         };
    148     };
    149 };