zmk/config/cradio.keymap
2023-09-30 16:03:13 +05:30

166 lines
6.3 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>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/outputs.h>
#include <behaviors.dtsi>
#define COLEMAK 0
#define NAV 1
#define NUM 2
#define SYM 3
#define FUN 4
/* krita base */
#define KRB 5
/* play */
#define PLAY 6
&mt {
flavor = "tap-preferred";
tapping_term_ms = <200>;
quick_tap_ms = <75>;
};
#define KEYS_L 0 1 2 3 4 10 11 12 13 14 20 21 22 23 24
#define KEYS_R 5 6 7 8 9 15 16 17 18 19 25 26 27 28 29
#define THUMBS 30 31 32 33
/* left-hand HRMs */
ZMK_BEHAVIOR(ml, hold_tap,
flavor = "balanced";
tapping-term-ms = <280>;
quick-tap-ms = <175>; // repeat on tap-into-hold
global-quick-tap-ms = <150>; // requires PR #1387
bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <KEYS_R THUMBS>;
hold-trigger-on-release; // delay positional check until key-release
)
/* right-hand HRMs */
ZMK_BEHAVIOR(mr, hold_tap,
flavor = "balanced";
tapping-term-ms = <280>;
quick-tap-ms = <175>; // repeat on tap-into-hold
global-quick-tap-ms = <150>; // requires PR #1387
bindings = <&kp>, <&kp>;
hold-trigger-key-positions = <KEYS_L THUMBS>;
hold-trigger-on-release; // delay positional check until key-release
)
/ {
combos {
compatible = "zmk,combos";
combo_caps_word {
timeout-ms = <100>;
key-positions = <20 29>;
bindings = <&caps_word>;
};
combo_esc {
timeout-ms = <150>;
key-positions = <12 13 16 17>;
bindings = <&kp ESC>;
};
combo_minus {
timeout-ms = <100>;
key-positions = <2 3 6 7>;
bindings = <&kp MINUS>;
};
combo_under {
timeout-ms = <100>;
key-positions = <22 23 26 27>;
bindings = <&kp UNDER>;
};
combo_ble {
timeout-ms = <20>;
key-positions = <0 1>;
bindings = <&out OUT_BLE>;
};
combo_krita {
timeout-ms = <100>;
key-positions = <0 10 20>;
bindings = <&tog KRB>;
};
combo_draw {
timeout-ms = <100>;
key-positions = <9 19 29>;
bindings = <&tog PLAY>;
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
bindings = <
&kp Q &kp W &kp F &kp P &kp G &kp J &kp L &kp U &kp Y &kp SCLN
&ml LGUI A &ml LALT R &ml LSHIFT S &ml LCTRL T &ml LG(LA(LS(LCTRL))) D &mr LG(LA(LS(LCTRL))) H &mr LCTRL N &mr RSHIFT E &mr LALT I &mr LGUI O
&kp Z &kp X &kp C &kp V &kp B &kp K &kp M &kp CMMA &kp DOT &kp FSLH
&lt FUN TAB &lt NAV SPC &lt SYM RET &lt NUM BSPC
>;
};
nav_layer {
bindings = <
&bt BT_CLR &trans &trans &bootloader &sys_reset &trans &kp LBRC &kp RBRC &kp LPAR &kp RPAR
&bt BT_SEL 0 &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans
&bt BT_SEL 1 &trans &trans &trans &trans &trans &kp LBKT &kp RBKT &trans &trans
&trans &trans &trans &trans
>;
};
num_layer {
bindings = <
&trans &kp F7 &kp F8 &kp F9 &trans &trans &trans &trans &trans &trans
&kp SQT &kp F4 &kp F5 &kp F6 &kp EQUAL &trans &trans &trans &trans &trans
&kp GRAVE &kp F1 &kp F2 &kp F3 &kp BSLH &trans &trans &trans &trans &trans
&trans &trans &trans &trans
>;
};
sym_layer {
bindings = <
&kp LS(Q) &kp LS(Z) &kp STAR &kp AMPS &trans &sys_reset &bootloader &trans &trans &trans
&kp DQT &kp CARET &kp PRCNT &kp DLLR &kp KP_PLUS &trans &trans &trans &trans &trans
&kp TILDE &kp HASH &kp AT &kp EXCL &kp PIPE &trans &trans &trans &trans &trans
&kp LPAR &kp RPAR &trans &trans
>;
};
fun_layer {
bindings = <
&trans &trans &trans &trans &trans &trans &kp N7 &kp N8 &kp N9 &trans
&trans &trans &trans &trans &trans &trans &kp N4 &kp N5 &kp N6 &trans
&trans &trans &trans &trans &trans &trans &kp N1 &kp N2 &kp N3 &trans
&trans &trans &trans &kp N0
>;
};
krita_base_layer {
bindings = <
&kp M &trans &kp BSLH &kp LBKT &kp RBKT &trans &trans &trans &trans &trans
&trans &trans &kp F &kp I &kp O &trans &trans &trans &trans &trans
&kp LC(S) &trans &kp P &kp K &kp L &trans &trans &trans &trans &trans
&kp LS(LC(Z)) &kp LC(Z) &trans &trans
>;
};
draw {
bindings = <
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
&kp N1 &kp S &kp N3 &ml LCTRL F &kp G &kp H &mr LCTRL J &mr RSHIFT K &mr LALT L &mr LGUI SCLN
&kp Z &kp X &kp C &kp V &kp B &kp M &kp LEFT &kp DOWN &kp RIGHT &trans
&kp R &kp U &kp RET &kp BSPC
>;
};
};
};