zmk-config/config/cradio.keymap
2022-03-12 16:51:54 +01:00

171 lines
5.1 KiB
Plaintext

/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
&mt {
flavor = "tap-preferred";
tapping_term_ms = <200>;
};
&sk {
quick-release;
release-after-ms = <2000>;
};
/* Layers */
#define ALPH 0
#define SYM 1
#define NUM 2
#define SYS 3
#define BT 4
#define GAME 5
/ {
combos {
compatible = "zmk,combos";
combo_game {
timeout-ms = <30>;
key-positions = <0 1 2 3>;
bindings = <&to GAME>;
};
combo_sys {
timeout-ms = <30>;
key-positions = <6 7 8>;
bindings = <&to SYS>;
};
combo_bt {
timeout-ms = <10>;
key-positions = <13 14>;
bindings = <&to BT>;
layers = <SYS>;
};
combo_term {
timeout-ms = <50>;
key-positions = <30 33>;
bindings = <&kp LG(ENTER)>;
};
combo_lenter {
timeout-ms = <50>;
key-positions = <30 19>;
bindings = <&kp ENTER>;
};
combo_renter {
timeout-ms = <50>;
key-positions = <33 19>;
bindings = <&kp ENTER>;
};
combo_layer0 {
timeout-ms = <50>;
key-positions = <31 32>;
bindings = <&to 0>;
};
};
behaviours {
hm: homerow_mods {
compatible = "zmk,behavior-hold-tap";
label = "HOMEROW_MODS";
#binding-cells = <2>;
tapping-term-ms = <200>;
quick_tap_ms = <0>;
flavor = "tap-preferred";
bindings = <&kp>, <&kp>;
};
hl: homerow_layers {
compatible = "zmk,behavior-hold-tap";
label = "HOMEROW_LAYERS";
#binding-cells = <2>;
tapping-term-ms = <220>;
quick_tap_ms = <0>;
flavor = "tap-preferred";
bindings = <&sl>, <&kp>;
};
sr: shift_layer {
compatible = "zmk,behavior-hold-tap";
label = "SHIFT_LAYER";
#binding-cells = <2>;
tapping-term-ms = <300>;
quick_tap_ms = <0>;
flavor = "tap-preferred";
bindings = <&kp>, <&to>;
retro-tap;
};
};
keymap {
compatible = "zmk,keymap";
alpha1 {
bindings = <
&hm ESC Q &kp W &kp F &kp P &kp G &kp J &kp L &kp U &kp Y &kp BSPC
&hl NUM A &kp R &kp S &kp T &kp D &kp H &kp N &kp E &kp I &hm ENTER O
&hl SYS Z &kp X &kp C &kp V &kp B &kp K &hm COLON M &hm MINUS COMMA &hm EXCL DOT &hm UNDER SLASH
&hl SYM SPACE &sk LSHIFT &to SYM &hm RCTRL SPACE
>;
};
sym1 {
bindings = <
&kp ESC &kp AT &kp HASH &kp DOLLAR &kp PERCENT &kp CARET &kp AMPS &kp STAR &hm COLON SEMI &trans
&kp TAB &hm PLUS EQUAL &kp QMARK &kp PIPE2 &kp SQT &hm HOME BSLH &kp LBRC &kp RBRC &hm END PIPE &kp ENTER
&kp TILDE &kp SLASH &kp LT &kp GT &kp DQT &kp LBKT &kp LPAR &kp RPAR &kp RBKT &to NUM
&kp LSHIFT &to ALPH &to SYS &kp RGUI
>;
};
num1 {
bindings = <
&kp ESC &kp C_PLAY_PAUSE &kp C_PREV &kp C_NEXT &kp UNDER &kp MINUS &kp NUM_7 &kp NUM_8 &kp NUM_9 &trans
&kp TAB &kp C_VOL_UP &kp C_VOL_DN &kp STAR &kp SLASH &kp PLUS &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp ENTER
&bt BT_CLR &bt BT_NXT &bt BT_PRV &bt BT_SEL 0 &kp DOT &kp EQUAL &kp NUM_1 &kp NUM_2 &kp NUM_3 &to SYS
&trans &to ALPH &to SYM &kp NUM_0
>;
};
sys {
bindings = <
&kp ESC &LG(NUM_1) &LG(NUM_2) &LG(NUM_3) &LG(NUM_4) &LG(NUM_5) &td LC(V) LC(C) &kp UP &none &td Q BSPC
&kp TAB &kp LG(Q) &td LG(E) LG(W) &kp LG(F) &kp DEL &kp RC(TAB) &kp LEFT &kp DOWN &kp RIGHT &kp ENTER
&kp LALT &td HOME DEL &kp END &kp LG(D) &kp LG(ENTER) &none &kp PGUP &kp PGDOWN &none &none
&trans &to ALPH &to SYM &kp RALT
>;
};
/* bluetooth {
* bindings = <
* &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &none &none &none &none
* &none &none &none &none &none &none &none &none &none &none
* &bt BT_CLR &bt BT_NXT &bt BT_PRV &bt BT_SEL 0 &none &none &none &none &none &none
* &none &to ALPH &to SYM &none
* >;
* };
*
* gaming {
* bindings = <
* &kp Q &kp W &kp E &kp R &kp NUM_1 &none &none &none &none &none
* &kp A &kp S &kp D &kp F &kp NUM_2 &none &none &none &none &none
* &kp Z &kp X &kp C &kp V &kp NUM_3 &none &none &none &none &none
* &none &to ALPH &to SYM &none
* >;
* };
*/
};
};