TODOS:
- check if I prefer combos or long press for umlaute. If I use combos for Umlaute I need to find a good place for esc and : or keep the always on layer
- The nav layer on space or on fingers. On Space is nicer because better shortcuts
/* layer_Game {
bindings = <
&kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &to 0
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
&skq LSFT &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SCLN &skq RSFT
&magic LAYER_Magic 0 &kp Z &kp X &kp C &kp V &kp B &kp SLASH &kp SCLN &kp DOT &kp COMMA &kp SQT &kp N1
&kp GRAVE &kp DEL &kp BSPC &kp N9 &kp LBKT &kp RBKT
&kp SPACE &kp N1 &kp N2 &kp N1 &kp N2 < NUM SPACE
>;
};
*/
This template repository provides west-based ZMK configuration for the MoErgo Go60 wireless split contoured keyboard.
You can use this template repository to develop your own keymap and build your own ZMK firmware to run on your Go60 using ZMK/Zephyr's upstream west toolchain.
NOTE: You can also customize the layout of your Go60 keyboard with the Go60 Layout Editor web app, or the official ZMK configuration repository template. For most users, the Go60 Layout Editor is the recommended and simpler option. More information is available at the official MoErgo Go60 Support site (see resources below).
These steps will get you using your keymap on your keyboard in the fastest time possible. It uses the GitHub Actions feature to build your firmware online.
If you are looking to dig deeper into ZMK and develop new functionality, it is recommended to follow the steps of installing ZMK as found on the official ZMK documentation site (linked below).
-
The official MoErgo Go60 Support web site. Go60 documentation and other technical resources.
-
The official MoErgo Discord Server. Instant conversations with other Go60 users.
-
The official ZMK Documentation web site. Find the answers to many of your questions about ZMK Firmware.
-
The official ZMK Discord Server. Instant conversations with other ZMK developers and users. Great technical resource!
-
The official MoErgo ZMK Distribution. Repository for ZMK firmware customized for Go60 and Glove80.
- Log into, or sign up for, your personal GitHub account.
- Create your own repository using this repository as a template (instructions) and check it out on your local computer.
- Add your chosen configuration such as keymap to the
configdirectory as described in the ZMK documentation - Commit and push your changes to your personal repo. Upon pushing it, GitHub Actions will start building a new version of your firmware with the updated keymap.
To locate your firmware files and reflash your Go60:
- log into GitHub and navigate to your personal config repository you just uploaded your keymap changes to.
- Click "Actions" in the main navigation, and in the left navigation click the "Build" link.
- Select the desired workflow run in the centre area of the page (based on date and time of the build you wish to use). You can also start a new build from this page by clicking the "Run workflow" button.
- After clicking the desired workflow run, you should be presented with a section at the bottom of the page called "Artifacts". This section contains the results of your build, in a file called
firmware.zip. - Download
firmware.zipand extract it to reveal two files,go60_lh-zmk.uf2andgo60_rh-zmk.uf2: these are the firmware for the left and right sides of the keyboard respectively. - Flash the firmware to Go60 according to the user documentation on the official Go60 Support website (linked above). Note that unlike firmware built with the standard Go60 toolchain, you must select the correct firmware file to upload to each half of the keyboard.
Your keyboard is now ready to use.
--
/*
- Copyright (c) 2020 The ZMK Contributors
- Copyright (c) 2025 Innaworks Development Limited, trading as MoErgo
- SPDX-License-Identifier: MIT */
/* THIS FILE WAS GENERATED BY GO60 LAYOUT EDITOR *
- This file was generated automatically. You may or may not want to
- edit it directly. */
#include <behaviors.dtsi>
/* Include all behavior includes needed */
#include <dt-bindings/zmk/outputs.h> #include <dt-bindings/zmk/keys.h> #include <dt-bindings/zmk/bt.h> #include <dt-bindings/zmk/rgb.h>
#include <input/processors.dtsi> #include <dt-bindings/zmk/input_transform.h> #include <zephyr/dt-bindings/input/input-event-codes.h>
/* On demand includes */ #include <dt-bindings/zmk/input_transform.h> #include <dt-bindings/zmk/pointing.h> #include <input/processors.dtsi>
/* Helper Macros, based on https://github.com/urob/zmk-helpers/ */
#pragma once
#define ZMK_HELPER_STRINGIFY(x) #x
// Preprocessor mechanism to overload macros, cf. https://stackoverflow.com/a/27051616/6114651 #define VARGS_(_10, _9, _8, _7, _6, _5, _4, 3, 2, 1, N, ...) N #define VARGS(...) VARGS(VA_ARGS, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) #define CONCAT(a, b) a##b #define CONCAT(a, b) CONCAT(a, b)
#define ZMK_BEHAVIOR_CORE_tap_dance
compatible = "zmk,behavior-tap-dance";
#binding-cells = <0>
#define ZMK_BEHAVIOR(name, type, ...)
name: name {
ZMK_BEHAVIOR_CORE_ ## type;
VA_ARGS
};
#define ZMK_TAP_DANCE(name, ...)
ZMK_BEHAVIOR(name, tap_dance, VA_ARGS)
#define ZMK_TD_LAYER(name, layer)
ZMK_TAP_DANCE(name,
tapping-term-ms = <200>;
bindings = <&mo layer>, <&to layer>;
)
/* Key positions */
#define POS_LH_C6R1 0 #define POS_LH_C5R1 1 #define POS_LH_C4R1 2 #define POS_LH_C3R1 3 #define POS_LH_C2R1 4 #define POS_LH_C1R1 5 #define POS_RH_C1R1 6 #define POS_RH_C2R1 7 #define POS_RH_C3R1 8 #define POS_RH_C4R1 9 #define POS_RH_C5R1 10 #define POS_RH_C6R1 11 #define POS_LH_C6R2 12 #define POS_LH_C5R2 13 #define POS_LH_C4R2 14 #define POS_LH_C3R2 15 #define POS_LH_C2R2 16 #define POS_LH_C1R2 17 #define POS_RH_C1R2 18 #define POS_RH_C2R2 19 #define POS_RH_C3R2 20 #define POS_RH_C4R2 21 #define POS_RH_C5R2 22 #define POS_RH_C6R2 23 #define POS_LH_C6R3 24 #define POS_LH_C5R3 25 #define POS_LH_C4R3 26 #define POS_LH_C3R3 27 #define POS_LH_C2R3 28 #define POS_LH_C1R3 29 #define POS_RH_C1R3 30 #define POS_RH_C2R3 31 #define POS_RH_C3R3 32 #define POS_RH_C4R3 33 #define POS_RH_C5R3 34 #define POS_RH_C6R3 35 #define POS_LH_C6R4 36 #define POS_LH_C5R4 37 #define POS_LH_C4R4 38 #define POS_LH_C3R4 39 #define POS_LH_C2R4 40 #define POS_LH_C1R4 41 #define POS_RH_C1R4 42 #define POS_RH_C2R4 43 #define POS_RH_C3R4 44 #define POS_RH_C4R4 45 #define POS_RH_C5R4 46 #define POS_RH_C6R4 47 #define POS_LH_C4R5 48 #define POS_LH_C3R5 49 #define POS_LH_C2R5 50 #define POS_RH_C2R5 51 #define POS_RH_C3R5 52 #define POS_RH_C4R5 53 #define POS_LH_T1 54 #define POS_LH_T2 55 #define POS_LH_T3 56 #define POS_RH_T3 57 #define POS_RH_T2 58 #define POS_RH_T1 59
#define LEFT_HAND_KEYS
POS_LH_C1R1 POS_LH_C2R1 POS_LH_C3R1 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C6R1
POS_LH_C1R2 POS_LH_C2R2 POS_LH_C3R2 POS_LH_C4R2 POS_LH_C5R2 POS_LH_C6R2
POS_LH_C1R3 POS_LH_C2R3 POS_LH_C3R3 POS_LH_C4R3 POS_LH_C5R3 POS_LH_C6R3
POS_LH_C1R4 POS_LH_C2R4 POS_LH_C3R4 POS_LH_C4R4 POS_LH_C5R4 POS_LH_C6R4
POS_LH_C2R5 POS_LH_C3R5 POS_LH_C4R5
#define RIGHT_HAND_KEYS
POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C6R1
POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C6R2
POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C6R3
POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C6R4
POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5
#define THUMB_KEYS
POS_LH_T1 POS_LH_T2 POS_LH_T3
POS_RH_T1 POS_RH_T2 POS_RH_T3
/* Environment and metadata defines */ #define KB_TYPE_GLOVE_80 1 #define KB_TYPE_GO_60 2
#define KB_TYPE KB_TYPE_GO_60 #define EDITOR_HOST_OS 'L'
/* Automatically generated layer name defines */ #define LAYER_HRM_WinLinx 0 #define LAYER_Typing 1 #define LAYER_Autoshift 2 #define LAYER_Keypad 3 #define LAYER_Cursor 4 #define LAYER_Symbol 5 #define LAYER_Gaming 6 #define LAYER_Mouse 7 #define LAYER_MouseSlow 8 #define LAYER_MouseWarp 9 #define LAYER_MouseFast 10 #define LAYER_LeftIndex 11 #define LAYER_LeftMiddy 12 #define LAYER_LeftRingy 13 #define LAYER_LeftPinky 14 #define LAYER_RightIndex 15 #define LAYER_RightMiddy 16 #define LAYER_RightRingy 17 #define LAYER_RightPinky 18 #define LAYER_Magic 19
/* To deal with the situation where there is no Lower layer, to keep &lower happy */ #ifndef LAYER_Lower #define LAYER_Lower 0 #endif
/* Generated input processors */ / { input_processors { zip_click_to_right_click_mapper: zip_click_to_right_click_mapper { compatible = "zmk,input-processor-code-mapper"; #input-processor-cells = <0>; type = <INPUT_EV_KEY>; map = <INPUT_BTN_0 INPUT_BTN_1>; }; }; };
/* Custom Device-tree */
/* Input Listeners */ &mmv_input_listener { // LAYER_MouseSlow LAYER_MouseSlow { layers = <LAYER_MouseSlow>; input-processors = <&zip_xy_scaler 1 9>; }; // LAYER_MouseFast LAYER_MouseFast { layers = <LAYER_MouseFast>; input-processors = <&zip_xy_scaler 3 1>; }; // LAYER_MouseWarp LAYER_MouseWarp { layers = <LAYER_MouseWarp>; input-processors = <&zip_xy_scaler 12 1>; }; };
&msc_input_listener { // LAYER_MouseSlow LAYER_MouseSlow { layers = <LAYER_MouseSlow>; input-processors = <&zip_scroll_scaler 1 9>; }; // LAYER_MouseFast LAYER_MouseFast { layers = <LAYER_MouseFast>; input-processors = <&zip_scroll_scaler 3 1>; }; // LAYER_MouseWarp LAYER_MouseWarp { layers = <LAYER_MouseWarp>; input-processors = <&zip_scroll_scaler 12 1>; }; };
&cirque_lh_listener { input-processors = <&zip_xy_scaler 11 12>, <&zip_xy_transform INPUT_TRANSFORM_Y_INVERT>, <&zip_xy_to_scroll_mapper>, <&zip_click_to_right_click_mapper>, <&zip_temp_layer 7 2000>, <&zip_scroll_scaler 1 8>; layer_8 { layers = <LAYER_MouseSlow>; input-processors = <&zip_xy_scaler 5 14>, <&zip_xy_transform INPUT_TRANSFORM_Y_INVERT>, <&zip_xy_to_scroll_mapper>, <&zip_click_to_right_click_mapper>, <&zip_temp_layer 7 2000>, <&zip_scroll_scaler 1 8>; }; layer_9 { layers = <LAYER_MouseWarp>; input-processors = <&zip_xy_scaler 13 3>, <&zip_xy_transform INPUT_TRANSFORM_Y_INVERT>, <&zip_xy_to_scroll_mapper>, <&zip_click_to_right_click_mapper>, <&zip_temp_layer 7 2000>, <&zip_scroll_scaler 1 8>; }; layer_10 { layers = <LAYER_MouseFast>; input-processors = <&zip_xy_scaler 3 2>, <&zip_xy_transform INPUT_TRANSFORM_Y_INVERT>, <&zip_xy_to_scroll_mapper>, <&zip_click_to_right_click_mapper>, <&zip_temp_layer 7 2000>, <&zip_scroll_scaler 1 8>; }; };
&cirque_rh_listener { input-processors = <&zip_xy_scaler 5 2>, <&zip_temp_layer 7 2000>; layer_8 { layers = <LAYER_MouseSlow>; input-processors = <&zip_xy_scaler 1 1>, <&zip_temp_layer 7 2000>; }; layer_9 { layers = <LAYER_MouseWarp>; input-processors = <&zip_xy_scaler 6 1>, <&zip_temp_layer 7 2000>; }; layer_10 { layers = <LAYER_MouseFast>; input-processors = <&zip_xy_scaler 4 1>, <&zip_temp_layer 7 2000>; }; };
/* System behavior and macros */ / { behaviors { ZMK_TD_LAYER(lower, LAYER_Lower) }; };
/ { macros { rgb_ug_status_macro: rgb_ug_status_macro { label = "RGB_UG_STATUS"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&rgb_ug RGB_STATUS>; }; }; };
/ { #ifdef BT_DISC_CMD behaviors { bt_0: bt_0 { compatible = "zmk,behavior-tap-dance"; label = "BT_0"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&bt_select_0>, <&bt BT_DISC 0>; }; bt_1: bt_1 { compatible = "zmk,behavior-tap-dance"; label = "BT_1"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&bt_select_1>, <&bt BT_DISC 1>; }; bt_2: bt_2 { compatible = "zmk,behavior-tap-dance"; label = "BT_2"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&bt_select_2>, <&bt BT_DISC 2>; }; bt_3: bt_3 { compatible = "zmk,behavior-tap-dance"; label = "BT_3"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&bt_select_3>, <&bt BT_DISC 3>; }; }; macros { bt_select_0: bt_select_0 { label = "BT_SELECT_0"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 0>; }; bt_select_1: bt_select_1 { label = "BT_SELECT_1"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 1>; }; bt_select_2: bt_select_2 { label = "BT_SELECT_2"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 2>; }; bt_select_3: bt_select_3 { label = "BT_SELECT_3"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 3>; }; }; #else macros { bt_0: bt_0 { label = "BT_0"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 0>; }; bt_1: bt_1 { label = "BT_1"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 1>; }; bt_2: bt_2 { label = "BT_2"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 2>; }; bt_3: bt_3 { label = "BT_3"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&out OUT_BLE>, <&bt BT_SEL 3>; }; }; #endif };
/ { behaviors { magic: magic { compatible = "zmk,behavior-hold-tap"; label = "MAGIC_HOLD_TAP"; #binding-cells = <2>; flavor = "tap-preferred"; tapping-term-ms = <200>; bindings = <&mo>, <&rgb_ug_status_macro>; }; }; };
/* Custom Defined Behaviors */ / {
};
/* Automatically generated macro definitions */ / { macros {
// AutoShift Helper- &AS main macro is chained to &AS_HT hold tap and &AS_Shifted macro - TailorKey
AS_Shifted_v1_TKZ: AS_Shifted_v1_TKZ {
label = "&AS_SHIFTED_V1_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
bindings = <¯o_press>
, <&kp LSHFT>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp N1>
, <¯o_release>
, <&kp LSHFT>;
};
// AutoShift (Assign &AS to a Key) - &AS main macro is chained to &AS_HT hold tap and &AS_Shifted macro - TailorKey
AS_v1_TKZ: AS_v1_TKZ {
label = "&AS_V1_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <10>;
wait-ms = <10>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <¯o_param_1to2>
, <&AS_HT_v2_TKZ A A>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <¯o_param_1to2>
, <&AS_HT_v2_TKZ A A>;
};
// Cursor Layer - Extent Line (seq) - TailorKey
cur_EXTEND_LINE_v1_TKZ: cur_EXTEND_LINE_v1_TKZ {
label = "&CUR_EXTEND_LINE_V1_TKZ";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
tap-ms = <1>;
wait-ms = <1>;
bindings = <&kp LS(END)>;
};
// Cursor Layer - Extend Word (seq) - TailorKey
cur_EXTEND_WORD_v1_TKZ: cur_EXTEND_WORD_v1_TKZ {
label = "&CUR_EXTEND_WORD_V1_TKZ";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
tap-ms = <1>;
wait-ms = <1>;
bindings = <&kp LC(LS(RIGHT))>;
};
// Cursor Layer - Select Line (seq) - TailorKey
cur_SELECT_LINE_v1_TKZ: cur_SELECT_LINE_v1_TKZ {
label = "&CUR_SELECT_LINE_V1_TKZ";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
tap-ms = <1>;
wait-ms = <1>;
bindings = <&kp HOME>
, <&kp LS(END)>;
};
// Cursor Layer - Select None (seq) - TailorKey
cur_SELECT_NONE_v1_TKZ: cur_SELECT_NONE_v1_TKZ {
label = "&CUR_SELECT_NONE_V1_TKZ";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
tap-ms = <1>;
wait-ms = <1>;
bindings = <&kp DOWN>
, <&kp UP>
, <&kp RIGHT>
, <&kp LEFT>;
};
// Cursor Layer - Select Word (seq) - TailorKey
cur_SELECT_WORD_v1_TKZ: cur_SELECT_WORD_v1_TKZ {
label = "&CUR_SELECT_WORD_V1_TKZ";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
tap-ms = <1>;
wait-ms = <1>;
bindings = <&kp LC(LEFT)>
, <&kp LC(LS(RIGHT))>;
};
// HRM_left_index_hold -> swich layer - TailorKey
HRM_left_index_hold_v1B_TKZ: HRM_left_index_hold_v1B_TKZ {
label = "&HRM_LEFT_INDEX_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftIndex>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftIndex>;
};
// HRM_left_index_tap - incl. QWERTY alpha character - TailorKey
HRM_left_index_tap_v1B_TKZ: HRM_left_index_tap_v1B_TKZ {
label = "&HRM_LEFT_INDEX_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp F>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// HRM_left_middy_hold -> swich layer - TailorKey
HRM_left_middy_hold_v1B_TKZ: HRM_left_middy_hold_v1B_TKZ {
label = "&HRM_LEFT_MIDDY_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftMiddy>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftMiddy>;
};
// HRM_left_middy_tap - incl. QWERTY alpha character - TailorKey
HRM_left_middy_tap_v1B_TKZ: HRM_left_middy_tap_v1B_TKZ {
label = "&HRM_LEFT_MIDDY_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp D>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// HRM_left_pinky_hold -> swich layer - TailorKey
HRM_left_pinky_hold_v1B_TKZ: HRM_left_pinky_hold_v1B_TKZ {
label = "&HRM_LEFT_PINKY_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftPinky>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftPinky>;
};
// HRM_left_pinky_tap - incl. QWERTY alpha character - TailorKey
HRM_left_pinky_tap_v1B_TKZ: HRM_left_pinky_tap_v1B_TKZ {
label = "&HRM_LEFT_PINKY_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp A>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// HRM_left_ring_hold -> swich layer - TailorKey
HRM_left_ring_hold_v1B_TKZ: HRM_left_ring_hold_v1B_TKZ {
label = "&HRM_LEFT_RING_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftRingy>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_LeftRingy>;
};
// HRM_left_ring_tap - incl. QWERTY alpha character - TailorKey
HRM_left_ring_tap_v1B_TKZ: HRM_left_ring_tap_v1B_TKZ {
label = "&HRM_LEFT_RING_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp S>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// HRM_right_index_hold -> swich layer - TailorKey
HRM_right_index_hold_v1B_TKZ: HRM_right_index_hold_v1B_TKZ {
label = "&HRM_RIGHT_INDEX_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightIndex>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightIndex>;
};
// HRM_right_index_tap - incl. QWERTY alpha character - TailorKey
HRM_right_index_tap_v1B_TKZ: HRM_right_index_tap_v1B_TKZ {
label = "&HRM_RIGHT_INDEX_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp J>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// HRM_right_middy_hold -> swich layer - TailorKey
HRM_right_middy_hold_v1B_TKZ: HRM_right_middy_hold_v1B_TKZ {
label = "&HRM_RIGHT_MIDDY_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightMiddy>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightMiddy>;
};
// HRM_right_middy_tap - incl. QWERTY alpha character - TailorKey
HRM_right_middy_tap_v1B_TKZ: HRM_right_middy_tap_v1B_TKZ {
label = "&HRM_RIGHT_MIDDY_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp K>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// HRM_right_pinky_hold -> swich layer - TailorKey
HRM_right_pinky_hold_v1B_TKZ: HRM_right_pinky_hold_v1B_TKZ {
label = "&HRM_RIGHT_PINKY_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightPinky>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightPinky>;
};
// HRM_right_pinky_tap - incl. QWERTY alpha character - TailorKey
HRM_right_pinky_tap_v1B_TKZ: HRM_right_pinky_tap_v1B_TKZ {
label = "&HRM_RIGHT_PINKY_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp SEMI>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// HRM_right_ring_hold -> swich layer - TailorKey
HRM_right_ring_hold_v1B_TKZ: HRM_right_ring_hold_v1B_TKZ {
label = "&HRM_RIGHT_RING_HOLD_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightRingy>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp A>
, <&mo LAYER_RightRingy>;
};
// HRM_right_ring_tap - incl. QWERTY alpha character - TailorKey
HRM_right_ring_tap_v1B_TKZ: HRM_right_ring_tap_v1B_TKZ {
label = "&HRM_RIGHT_RING_TAP_V1B_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_release>
, <&kp LSHFT>
, <&kp RSHFT>
, <&kp LALT>
, <&kp RALT>
, <&kp LCTRL>
, <&kp RCTRL>
, <&kp LGUI>
, <&kp RGUI>
, <¯o_tap>
, <&kp L>
, <¯o_tap>
, <¯o_param_1to1>
, <&kp A>;
};
// mod_tab_switcher_chord - TailorKey
mod_tab_chord_v2_TKZ: mod_tab_chord_v2_TKZ {
label = "&MOD_TAB_CHORD_V2_TKZ";
compatible = "zmk,behavior-macro-two-param";
#binding-cells = <2>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_2to1>
, <&mo MACRO_PLACEHOLDER>
, <¯o_press>
, <¯o_param_1to1>
, <&mod_tab_v1_TKZ MACRO_PLACEHOLDER>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&mod_tab_v1_TKZ MACRO_PLACEHOLDER>
, <¯o_release>
, <¯o_param_2to1>
, <&mo MACRO_PLACEHOLDER>;
};
// mod_tab_switcher - TailorKey
//
//
mod_tab_v1_TKZ: mod_tab_v1_TKZ {
label = "&MOD_TAB_V1_TKZ";
compatible = "zmk,behavior-macro-one-param";
#binding-cells = <1>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_press>
, <¯o_param_1to1>
, <&kp MACRO_PLACEHOLDER>
, <¯o_tap>
, <&kp TAB>
, <¯o_pause_for_release>
, <¯o_release>
, <¯o_param_1to1>
, <&kp MACRO_PLACEHOLDER>;
};
// macro string1 sample - Magic Layer F1 - Text output sample macro 1 "¡Hola!" - TailorKey
mstr1_v1_TKZ: mstr1_v1_TKZ {
label = "&MSTR1_V1_TKZ";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
bindings = <¯o_press>
, <&kp RALT>
, <¯o_tap>
, <&kp KP_N0>
, <&kp KP_N1>
, <&kp KP_N6>
, <&kp KP_N1>
, <¯o_release>
, <&kp RALT>
, <¯o_press>
, <&kp LSHFT>
, <¯o_tap>
, <&kp H>
, <¯o_release>
, <&kp LSHFT>
, <¯o_tap>
, <&kp O>
, <&kp L>
, <&kp A>
, <&kp LS(N1)>
, <&kp SPACE>
, <&kp RET>;
};
// Symbol layer dot dot
symb_dotdot_v1_TKZ: symb_dotdot_v1_TKZ {
label = "&SYMB_DOTDOT_V1_TKZ";
compatible = "zmk,behavior-macro";
#binding-cells = <0>;
tap-ms = <0>;
wait-ms = <0>;
bindings = <¯o_tap>
, <&kp DOT>
, <&kp DOT>;
};
};
};
/* Automatically generated behavior definitions */ / { behaviors {
// Layer tap dance behaviors
ZMK_TD_LAYER(td_LAYER_Keypad, 3)
// AutoShift Helper - &AS main macro is chained to &AS_HT hold tap and &AS_Shifted macro. For faster typists, it is recommended to decrease the tapping-term-ms value. A suggested value is 135 ms.
// More: https://github.com/nickcoutsos/keymap-editor/wiki/Autoshift-using-ZMK-behaviors
AS_HT_v2_TKZ: AS_HT_v2_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&AS_Shifted_v1_TKZ>, <&kp>;
flavor = "tap-preferred";
};
// Capsword helper - tap for caps_word - hold for key press
CAPSWord_v1_TKZ: CAPSWord_v1_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <200>;
bindings = <&kp>, <&caps_word>;
};
// HRM_left_index_middy_bilateral -> &kp - &HRM_left_index_tap - TailorKey
HRM_left_index_middy_v1B_TKZ: HRM_left_index_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&kp>, <&HRM_left_index_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_index_pinky_bilateral -> &kp - &HRM_left_index_tap - TailorKey
HRM_left_index_pinky_v1B_TKZ: HRM_left_index_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&kp>, <&HRM_left_index_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_index_ring_bilateral -> &kp - &HRM_left_index_tap - TailorKey
HRM_left_index_ringv1_TKZ: HRM_left_index_ringv1_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&kp>, <&HRM_left_index_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_index_bilateral -> &HRM_left_index_hold -> &kp - TailorKey
HRM_left_index_v1B_TKZ: HRM_left_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&HRM_left_index_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_middy_index_bilateral -> &kp ->&HRM_left_middy_tap - TailorKey
HRM_left_middy_index_v1B_TKZ: HRM_left_middy_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&kp>, <&HRM_left_middy_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_middy_pinky_bilateral -> &kp - &HRM_left_pinky_tap - TailorKey
HRM_left_middy_pinky_v1B_TKZ: HRM_left_middy_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&kp>, <&HRM_left_middy_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_middy_ring_bilateral -> &kp - &HRM_left_middy_tap - TailorKey
HRM_left_middy_ring_v1B_TKZ: HRM_left_middy_ring_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&kp>, <&HRM_left_middy_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_middy_bilateral -> &HRM_left_index_hold -> &kp - TailorKey
HRM_left_middy_v1B_TKZ: HRM_left_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&HRM_left_middy_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_pinky_index_bilateral -> &kp ->&HRM_left_pinky_tap - TailorKey
HRM_left_pinky_index_v1B_TKZ: HRM_left_pinky_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <280>;
bindings = <&kp>, <&HRM_left_pinky_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_pinky_middy_bilateral -> &kp - &HRM_left_pinky_tap - TailorKey
HRM_left_pinky_middy_v1B_TKZ: HRM_left_pinky_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <280>;
bindings = <&kp>, <&HRM_left_pinky_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_pinky_ring_bilateral -> &kp - &HRM_left_pinky_tap - TailorKey
HRM_left_pinky_ring_v1B_TKZ: HRM_left_pinky_ring_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <280>;
bindings = <&kp>, <&HRM_left_pinky_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_pinky_bilateral - &HRM_left_pinky_hold -> &kp - TailorKey
HRM_left_pinky_v1B_TKZ: HRM_left_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <280>;
bindings = <&HRM_left_pinky_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_ring_index_bilateral -> &kp ->&HRM_left_ring_tap - TailorKey
HRM_left_ring_index_v1B_TKZ: HRM_left_ring_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&kp>, <&HRM_left_ring_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_ring_middy_bilateral -> &kp - &HRM_left_ring_tap - TailorKey
HRM_left_ring_middy_v1B_TKZ: HRM_left_ring_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&kp>, <&HRM_left_ring_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_ring_pinky_bilateral -> &kp - &HRM_left_ring_tap - TailorKey
HRM_left_ring_pinky_v1B_TKZ: HRM_left_ring_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&kp>, <&HRM_left_ring_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_left_ring_bilateral - &HRM_left_ring_hold -> &kp - TailorKey
HRM_left_ring_v1B_TKZ: HRM_left_ring_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&HRM_left_ring_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_RH_T3 POS_RH_T2 POS_RH_T1 POS_RH_C1R1 POS_RH_C2R1 POS_RH_C3R1 POS_RH_C4R1 POS_RH_C5R1 POS_RH_C1R2 POS_RH_C2R2 POS_RH_C3R2 POS_RH_C4R2 POS_RH_C5R2 POS_RH_C1R3 POS_RH_C2R3 POS_RH_C3R3 POS_RH_C4R3 POS_RH_C5R3 POS_RH_C1R4 POS_RH_C2R4 POS_RH_C3R4 POS_RH_C4R4 POS_RH_C5R4 POS_RH_C2R5 POS_RH_C3R5 POS_RH_C4R5 POS_RH_C6R1 POS_RH_C6R2 POS_RH_C6R3 POS_RH_C6R4 POS_LH_T2 POS_LH_T3 POS_LH_T1>;
hold-trigger-on-release;
};
// HRM_right_index_middy_bilateral -> &kp - &HRM_right_index_tap - TailorKey
HRM_right_index_middy_v1B_TKZ: HRM_right_index_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&kp>, <&HRM_right_index_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_index_pinky_bilateral -> &kp - &HRM_right_index_tap - TailorKey
HRM_right_index_pinky_v1B_TKZ: HRM_right_index_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&kp>, <&HRM_right_index_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_index_ring_bilateral -> &kp - &HRM_right_index_tap - TailorKey
HRM_right_index_ring_v1B_TKZ: HRM_right_index_ring_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&kp>, <&HRM_right_index_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_index_bilateral -> &HRM_right_index_hold -> &kp - TailorKey
HRM_right_index_v1B_TKZ: HRM_right_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <190>;
bindings = <&HRM_right_index_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <100>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_middy_index_bilateral -> &kp ->&HRM_right_middy_tap - TailorKey
HRM_right_middy_index_v1B_TKZ: HRM_right_middy_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&kp>, <&HRM_right_middy_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_middy_pinky_bilateral -> &kp - &HRM_right_pinky_tap - TailorKey
HRM_right_middy_pinky_v1B_TKZ: HRM_right_middy_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&kp>, <&HRM_right_middy_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C1R4 POS_LH_C1R3 POS_LH_C1R2 POS_LH_C1R1 POS_LH_C5R1 POS_LH_C5R2 POS_LH_C5R3 POS_LH_C6R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_T1 POS_LH_T2 POS_LH_T3 POS_RH_T1 POS_RH_T2 POS_RH_T3 POS_LH_C2R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C2R4 POS_LH_C2R3 POS_LH_C2R2 POS_LH_C2R1 POS_LH_C3R1 POS_LH_C3R2 POS_LH_C3R3 POS_LH_C4R2 POS_LH_C4R1 POS_LH_C4R3>;
hold-trigger-on-release;
};
// HRM_right_middy_ring_bilateral -> &kp - &HRM_right_middy_tap - TailorKey
HRM_right_middy_ring_v1B_TKZ: HRM_right_middy_ring_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&kp>, <&HRM_right_middy_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_middy_bilateral -> &HRM_right_index_hold -> &kp - TailorKey
HRM_right_middy_v1B_TKZ: HRM_right_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <210>;
bindings = <&HRM_right_middy_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_pinky_index_bilateral -> &kp ->&HRM_right_pinky_tap - TailorKey
HRM_right_pinky_index_v1B_TKZ: HRM_right_pinky_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <260>;
bindings = <&kp>, <&HRM_right_pinky_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_pinky_middy_bilateral -> &kp - &HRM_right_pinky_tap - TailorKey
HRM_right_pinky_middy_v1B_TKZ: HRM_right_pinky_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <260>;
bindings = <&kp>, <&HRM_right_pinky_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_pinky_ring_bilateral -> &kp - &HRM_right_pinky_tap - TailorKey
HRM_right_pinky_ring_v1B_TKZ: HRM_right_pinky_ring_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <260>;
bindings = <&kp>, <&HRM_right_pinky_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_pinky_bilateral - &HRM_right_pinky_hold -> &kp - TailorKey
HRM_right_pinky_v1B_TKZ: HRM_right_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <260>;
bindings = <&HRM_right_pinky_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_ring_index_bilateral -> &kp ->&HRM_right_ring_tap - TailorKey
HRM_right_ring_index_v1B_TKZ: HRM_right_ring_index_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&kp>, <&HRM_right_ring_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_ring_middy_bilateral -> &kp - &HRM_right_ring_tap - TailorKey
HRM_right_ring_middy_v1B_TKZ: HRM_right_ring_middy_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&kp>, <&HRM_right_ring_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_ring_pinky_bilateral -> &kp - &HRM_right_ring_tap - TailorKey
HRM_right_ring_pinky_v1B_TKZ: HRM_right_ring_pinky_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&kp>, <&HRM_right_ring_tap_v1B_TKZ>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// HRM_right_ring_bilateral - &HRM_right_ring_hold -> &kp - TailorKey
HRM_right_ring_v1B_TKZ: HRM_right_ring_v1B_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <240>;
bindings = <&HRM_right_ring_hold_v1B_TKZ>, <&kp>;
flavor = "tap-preferred";
quick-tap-ms = <300>;
require-prior-idle-ms = <150>;
hold-trigger-key-positions = <POS_LH_C6R1 POS_LH_C6R2 POS_LH_C6R3 POS_LH_C6R4 POS_LH_C5R4 POS_LH_C5R3 POS_LH_C5R2 POS_LH_C4R1 POS_LH_C5R1 POS_LH_C4R2 POS_LH_C4R3 POS_LH_C4R4 POS_LH_C4R5 POS_LH_C3R5 POS_LH_C3R4 POS_LH_C3R3 POS_LH_C3R2 POS_LH_C3R1 POS_LH_C2R1 POS_LH_C1R1 POS_LH_C1R2 POS_LH_C2R2 POS_LH_C2R3 POS_LH_C1R3 POS_LH_C1R4 POS_LH_C2R4 POS_LH_C2R5 POS_LH_T3 POS_LH_T2 POS_LH_T1 POS_RH_T1 POS_RH_T2 POS_RH_T3>;
hold-trigger-on-release;
};
// space_layer_access - TailorKey
space_v3_TKZ: space_v3_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <200>;
bindings = <&mo>, <&kp>;
flavor = "balanced";
quick-tap-ms = <150>;
};
// thumb_layer_access - TailorKey
thumb_v2_TKZ: thumb_v2_TKZ {
compatible = "zmk,behavior-hold-tap";
#binding-cells = <2>;
tapping-term-ms = <200>;
bindings = <&mo>, <&kp>;
flavor = "balanced";
quick-tap-ms = <300>;
};
};
};
/* Automatically generated combos definitions */ / { combos { compatible = "zmk,combos";
// F1 combo for Go60 - TailorKey
combo_F1_cb_v1_TKZ {
key-positions = <POS_LH_C5R1 POS_LH_C5R2>;
bindings = <&kp F1>;
};
// F2 combo for Go60 - TailorKey
combo_F2_cb_v1_TKZ {
key-positions = <POS_LH_C4R2 POS_LH_C4R1>;
bindings = <&kp F2>;
};
// F3 combo for Go60 - TailorKey
combo_F3_cb_v1_TKZ {
key-positions = <POS_LH_C3R2 POS_LH_C3R1>;
bindings = <&kp F3>;
};
// F4 combo for Go60 - TailorKey
combo_F4_cb_v1_TKZ {
key-positions = <POS_LH_C2R2 POS_LH_C2R1>;
bindings = <&kp F4>;
};
// F5 combo for Go60 - TailorKey
combo_F5_cb_v1_TKZ {
key-positions = <POS_LH_C1R2 POS_LH_C1R1>;
bindings = <&kp F5>;
};
// F6 combo for Go60 - TailorKey
combo_F6_cb_v1_TKZ {
key-positions = <POS_RH_C1R2 POS_RH_C1R1>;
bindings = <&kp F6>;
};
// F7 combo for Go60 - TailorKey
combo_F7_cb_v1_TKZ {
key-positions = <POS_RH_C2R1 POS_RH_C2R2>;
bindings = <&kp F7>;
};
// F8 combo for Go60 - TailorKey
combo_F8_cb_v1_TKZ {
key-positions = <POS_RH_C3R1 POS_RH_C3R2>;
bindings = <&kp F8>;
};
// F9 combo for Go60 - TailorKey
combo_F9_cb_v1_TKZ {
key-positions = <POS_RH_C4R1 POS_RH_C4R2>;
bindings = <&kp F9>;
};
// F10 combo for Go60 - TailorKey
combo_F10_cb_v1_TKZ {
key-positions = <POS_RH_C5R1 POS_RH_C5R2>;
bindings = <&kp F10>;
};
// F11 combo for Go60 - TailorKey
combo_F11_cb_v1_TKZ {
key-positions = <POS_RH_C6R1 POS_RH_C6R2>;
bindings = <&kp F11>;
};
// F12 combo for Go60 - TailorKey
combo_F12_cb_v1_TKZ {
key-positions = <POS_RH_C6R1 POS_RH_C5R1>;
bindings = <&kp F12>;
};
// sticky "hyper" modifiers (Win + Alt + Ctrl + Shift) - TailorKey
combo_sticky_hyp_rght_v1_TKZ {
timeout-ms = <50>;
key-positions = <POS_RH_C2R4 POS_RH_C2R5>;
bindings = <&sk LG(LA(LC(LSHFT)))>;
layers = <LAYER_HRM_WinLinx LAYER_Autoshift LAYER_Typing>;
};
// sticky "meh" modifiers (Alt + Ctrl + Shift) - TailorKey
combo_sticky_meh_rght_v1_TKZ {
timeout-ms = <50>;
key-positions = <POS_RH_C3R5 POS_RH_C3R4>;
bindings = <&sk LA(LC(LSHFT))>;
layers = <LAYER_HRM_WinLinx LAYER_Autoshift LAYER_Typing>;
};
// toggle gaming layer - TailorKey
combo_gaming_toggle_v1_TKZ {
timeout-ms = <50>;
key-positions = <POS_LH_C2R5 POS_LH_C1R4>;
bindings = <&tog LAYER_Gaming>;
};
// Alt Tab Switcher (Cursor Layer) - TailorKey
combo_tabswitch_alt_v1_TKZ {
key-positions = <POS_LH_T1 POS_LH_C1R4>;
bindings = <&mod_tab_chord_v2_TKZ LALT LAYER_Cursor>;
layers = <LAYER_HRM_WinLinx LAYER_Typing LAYER_Autoshift>;
};
// capslock when pressing both T1's - TailorKey
combo_capslock_v1_TKZ {
key-positions = <POS_LH_T1 POS_RH_T1>;
bindings = <&kp CAPS>;
layers = <LAYER_HRM_WinLinx LAYER_Typing LAYER_Autoshift>;
};
// Alt Tab Switcher (Cursor Layer) - TailorKey
combo_tabswitch_ctrl_v1_TKZ {
key-positions = <POS_LH_C2R5 POS_LH_C2R4>;
bindings = <&mod_tab_chord_v2_TKZ LCTRL LAYER_Cursor>;
layers = <LAYER_HRM_WinLinx LAYER_Typing LAYER_Autoshift>;
};
};
};
/* Automatically generated keymap */ / { keymap { compatible = "zmk,keymap";
layer_HRM_WinLinx {
bindings = <
&kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
&kp ESC &HRM_left_pinky_v1B_TKZ LGUI A &HRM_left_ring_v1B_TKZ LALT S &HRM_left_middy_v1B_TKZ LCTRL D &HRM_left_index_v1B_TKZ LSHFT F &kp G &kp H &HRM_right_index_v1B_TKZ RSHFT J &HRM_right_middy_v1B_TKZ RCTRL K &HRM_right_ring_v1B_TKZ LALT L &HRM_right_pinky_v1B_TKZ RGUI SEMI &kp SQT
&magic LAYER_Magic 0 &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &td_LAYER_Keypad &kp HOME &kp LEFT &kp RIGHT &kp UP &kp DOWN &kp END &thumb_v2_TKZ LAYER_Cursor BSPC &mt LSHFT DEL &kp LCTRL &kp RALT &thumb_v2_TKZ LAYER_Mouse RET &space_v3_TKZ LAYER_Symbol SPACE >; };
layer_Typing {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp A &kp S &kp D &kp F &trans &trans &kp J &kp K &kp L &kp SEMI &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_Autoshift {
bindings = <
&AS_v1_TKZ EQUAL &AS_v1_TKZ N1 &AS_v1_TKZ N2 &AS_v1_TKZ N3 &AS_v1_TKZ N4 &AS_v1_TKZ N5 &AS_v1_TKZ N6 &AS_v1_TKZ N7 &AS_v1_TKZ N8 &AS_v1_TKZ N9 &AS_v1_TKZ N0 &AS_v1_TKZ MINUS &trans &AS_v1_TKZ Q &AS_v1_TKZ W &AS_v1_TKZ E &AS_v1_TKZ R &AS_v1_TKZ T &AS_v1_TKZ Y &AS_v1_TKZ U &AS_v1_TKZ I &AS_v1_TKZ O &AS_v1_TKZ P &AS_v1_TKZ BSLH &trans &AS_v1_TKZ A &AS_v1_TKZ S &AS_v1_TKZ D &AS_v1_TKZ F &AS_v1_TKZ G &AS_v1_TKZ H &AS_v1_TKZ J &AS_v1_TKZ K &AS_v1_TKZ L &AS_v1_TKZ SEMI &AS_v1_TKZ SQT &trans &AS_v1_TKZ Z &AS_v1_TKZ X &AS_v1_TKZ C &AS_v1_TKZ V &AS_v1_TKZ B &AS_v1_TKZ N &AS_v1_TKZ M &AS_v1_TKZ COMMA &AS_v1_TKZ DOT &AS_v1_TKZ FSLH &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_Keypad {
bindings = <
&none &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11
&kp TAB &none &kp HOME &kp UP &kp END &kp PG_UP &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp KP_SLASH &kp F12
&kp ESC &kp LC(Y) &kp LEFT &kp DOWN &kp RIGHT &kp PG_DN &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp KP_MULTIPLY &kp KP_NUM
&magic LAYER_Magic 0 &kp LC(Z) &kp LC(X) &kp LC(C) &kp LC(V) &kp LS(LC(V)) &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &kp EQUAL &to 0 &none &trans &trans &kp KP_N0 &kp KP_DOT &kp KP_ENTER &none &trans &trans &trans &trans &kp KP_N0 >; };
layer_Cursor {
bindings = <
&none &kp ESC &kp INS &kp LS(TAB) &kp DEL &none &none &none &kp K_APP &kp PAUSE_BREAK &kp SLCK &none
&kp CAPS &kp RET &kp LC(Y) &kp LC(Z) &kp BSPC &kp LC(X) &kp LC(X) &kp LS(TAB) &kp LC(Z) &kp LC(Y) &kp TAB &kp PSCRN &sk LSHFT &kp LGUI &kp LALT &kp LCTRL &kp LSHFT &kp LC(C) &kp LC(C) &kp LEFT &kp UP &kp DOWN &kp RIGHT &sk RSHFT &kp LC(L) &kp LC(A) &cur_SELECT_LINE_v1_TKZ &cur_SELECT_WORD_v1_TKZ &kp LC(F) &kp LC(V) &kp LC(V) &kp HOME &kp PG_UP &kp PG_DN &kp END &kp LC(L) &none &kp LC(LS(G)) &kp LC(G) &kp LC(F) &kp LC(LS(G)) &kp LC(G) &none &none &none &cur_SELECT_NONE_v1_TKZ &cur_EXTEND_LINE_v1_TKZ &cur_EXTEND_WORD_v1_TKZ >; };
layer_Symbol {
bindings = <
&kp GRAVE &kp COMMA &kp LS(N9) &kp LS(N0) &kp SEMI &kp DOT &none &none &none &none &none &none
&kp LS(N1) &kp LBKT &kp LS(LBKT) &kp LS(RBKT) &kp RBKT &kp LS(FSLH) &kp GRAVE &kp DEL &kp LS(TAB) &kp INS &kp ESC &none
&kp LS(N3) &kp LS(N6) &kp EQUAL &kp LS(MINUS) &kp LS(N4) &kp LS(N8) &kp LS(SINGLE_QUOTE) &kp BSPC &kp TAB &kp SPACE &kp RET &none
&kp LS(GRAVE) &kp LS(COMMA) &kp LS(BSLH) &kp MINUS &kp LS(DOT) &kp FSLH &kp SQT &sk LSHFT &sk LCTRL &sk LALT &sk LGUI &none &kp SQT &kp LS(SINGLE_QUOTE) &kp LS(EQUAL) &kp BSLH &kp LS(N7) &symb_dotdot_v1_TKZ &kp LS(N5) &kp LS(SEMI) &kp LS(N2) &none &none &none >; };
layer_Gaming {
bindings = <
&kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp RET &kp TAB &kp Q &kp W &kp E &kp R &kp Y &kp U &kp I &kp O &kp P &kp LS(EQUAL) &kp GRAVE &kp LSHFT &kp A &kp S &kp D &kp F &kp H &kp J &kp K &kp L &kp SEMI &kp LS(SQT) &kp B &kp LCTRL &kp Z &kp X &kp C &kp V &kp N &kp M &kp UP &kp LS(COMMA) &kp LS(DOT) &kp LGUI &kp LALT &kp T &kp G &kp LEFT &kp DOWN &kp RIGHT &kp SPACE &kp LSHFT &kp LCTRL &kp BSPC &kp LALT &kp RET >; };
layer_Mouse {
bindings = <
&none &none &none &none &none &none &none &none &none &none &none &none &none &none &msc SCRL_LEFT &mmv MOVE_UP &msc SCRL_RIGHT &none &none &sk RSHFT &sk RCTRL &sk RALT &sk RGUI &none &none &msc SCRL_UP &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_RIGHT &msc SCRL_UP &msc SCRL_UP &mo LAYER_MouseFast &mo LAYER_MouseWarp &mo LAYER_MouseSlow &mkp LCLK &mkp MB4 &none &msc SCRL_DOWN &mo LAYER_MouseSlow &mo LAYER_MouseWarp &mo LAYER_MouseFast &msc SCRL_DOWN &msc SCRL_DOWN &msc SCRL_LEFT &mmv MOVE_UP &msc SCRL_RIGHT &mkp RCLK &mkp MB5 &kp LC(X) &kp LC(C) &kp LC(V) &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_RIGHT &mkp LCLK &mkp RCLK &mkp MB4 &mkp LCLK &none &mkp RCLK >; };
layer_MouseSlow {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_MouseWarp {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_MouseFast {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_LeftIndex {
bindings = <
&HRM_left_index_tap_v1B_TKZ EQUAL &HRM_left_index_tap_v1B_TKZ N1 &HRM_left_index_tap_v1B_TKZ N2 &HRM_left_index_tap_v1B_TKZ N3 &HRM_left_index_tap_v1B_TKZ N4 &HRM_left_index_tap_v1B_TKZ N5 &trans &trans &trans &trans &trans &trans &trans &HRM_left_index_tap_v1B_TKZ Q &HRM_left_index_tap_v1B_TKZ W &HRM_left_index_tap_v1B_TKZ E &HRM_left_index_tap_v1B_TKZ R &HRM_left_index_tap_v1B_TKZ T &trans &trans &trans &trans &trans &trans &trans &HRM_left_index_pinky_v1B_TKZ LGUI A &HRM_left_index_ringv1_TKZ LALT S &HRM_left_index_middy_v1B_TKZ LCTRL D &none &HRM_left_index_tap_v1B_TKZ G &trans &kp J &kp K &kp L &kp SEMI &trans &trans &HRM_left_index_tap_v1B_TKZ Z &HRM_left_index_tap_v1B_TKZ X &HRM_left_index_tap_v1B_TKZ C &HRM_left_index_tap_v1B_TKZ V &HRM_left_index_tap_v1B_TKZ B &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_LeftMiddy {
bindings = <
&HRM_left_middy_tap_v1B_TKZ EQUAL &HRM_left_middy_tap_v1B_TKZ N1 &HRM_left_middy_tap_v1B_TKZ N2 &HRM_left_middy_tap_v1B_TKZ N3 &HRM_left_middy_tap_v1B_TKZ N4 &HRM_left_middy_tap_v1B_TKZ N5 &trans &trans &trans &trans &trans &trans &trans &HRM_left_middy_tap_v1B_TKZ Q &HRM_left_middy_tap_v1B_TKZ W &HRM_left_middy_tap_v1B_TKZ E &HRM_left_middy_tap_v1B_TKZ R &HRM_left_middy_tap_v1B_TKZ T &trans &trans &trans &trans &trans &trans &trans &HRM_left_middy_pinky_v1B_TKZ LGUI A &HRM_left_middy_ring_v1B_TKZ LALT S &none &HRM_left_middy_index_v1B_TKZ LSHFT F &HRM_left_middy_tap_v1B_TKZ G &trans &kp J &kp K &kp L &kp SEMI &trans &trans &HRM_left_middy_tap_v1B_TKZ Z &HRM_left_middy_tap_v1B_TKZ X &HRM_left_middy_tap_v1B_TKZ C &HRM_left_middy_tap_v1B_TKZ V &HRM_left_middy_tap_v1B_TKZ B &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_LeftRingy {
bindings = <
&HRM_left_ring_tap_v1B_TKZ EQUAL &HRM_left_ring_tap_v1B_TKZ N1 &HRM_left_ring_tap_v1B_TKZ N2 &HRM_left_ring_tap_v1B_TKZ N3 &HRM_left_ring_tap_v1B_TKZ N4 &HRM_left_ring_tap_v1B_TKZ N5 &trans &trans &trans &trans &trans &trans &trans &HRM_left_ring_tap_v1B_TKZ Q &HRM_left_ring_tap_v1B_TKZ W &HRM_left_ring_tap_v1B_TKZ E &HRM_left_ring_tap_v1B_TKZ R &HRM_left_ring_tap_v1B_TKZ T &trans &trans &trans &trans &trans &trans &trans &HRM_left_ring_pinky_v1B_TKZ LGUI A &none &HRM_left_ring_middy_v1B_TKZ LCTRL D &HRM_left_ring_index_v1B_TKZ LSHFT F &HRM_left_ring_tap_v1B_TKZ G &trans &kp J &kp K &kp L &kp SEMI &trans &trans &HRM_left_ring_tap_v1B_TKZ Z &HRM_left_ring_tap_v1B_TKZ X &HRM_left_ring_tap_v1B_TKZ C &HRM_left_ring_tap_v1B_TKZ V &HRM_left_ring_tap_v1B_TKZ B &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_LeftPinky {
bindings = <
&HRM_left_pinky_tap_v1B_TKZ EQUAL &HRM_left_pinky_tap_v1B_TKZ N1 &HRM_left_pinky_tap_v1B_TKZ N2 &HRM_left_pinky_tap_v1B_TKZ N3 &HRM_left_pinky_tap_v1B_TKZ N4 &HRM_left_pinky_tap_v1B_TKZ N5 &trans &trans &trans &trans &trans &trans &trans &HRM_left_pinky_tap_v1B_TKZ Q &HRM_left_pinky_tap_v1B_TKZ W &HRM_left_pinky_tap_v1B_TKZ E &HRM_left_pinky_tap_v1B_TKZ R &HRM_left_pinky_tap_v1B_TKZ T &trans &trans &trans &trans &trans &trans &trans &none &HRM_left_pinky_ring_v1B_TKZ LALT S &HRM_left_pinky_middy_v1B_TKZ LCTRL D &HRM_left_pinky_index_v1B_TKZ LSHFT F &HRM_left_pinky_tap_v1B_TKZ G &trans &kp J &kp K &kp L &kp SEMI &trans &trans &HRM_left_pinky_tap_v1B_TKZ Z &HRM_left_pinky_tap_v1B_TKZ X &HRM_left_pinky_tap_v1B_TKZ C &HRM_left_pinky_tap_v1B_TKZ V &HRM_left_pinky_tap_v1B_TKZ B &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_RightIndex {
bindings = <
&trans &trans &trans &trans &trans &trans &HRM_right_index_tap_v1B_TKZ N6 &HRM_right_index_tap_v1B_TKZ N7 &HRM_right_index_tap_v1B_TKZ N8 &HRM_right_index_tap_v1B_TKZ N9 &HRM_right_index_tap_v1B_TKZ N0 &HRM_right_index_tap_v1B_TKZ MINUS &trans &trans &trans &trans &trans &trans &HRM_right_index_tap_v1B_TKZ Y &HRM_right_index_tap_v1B_TKZ U &HRM_right_index_tap_v1B_TKZ I &HRM_right_index_tap_v1B_TKZ O &HRM_right_index_tap_v1B_TKZ P &HRM_right_index_tap_v1B_TKZ BSLH &trans &kp A &kp S &kp D &kp F &trans &HRM_right_index_tap_v1B_TKZ H &none &HRM_right_index_middy_v1B_TKZ RCTRL K &HRM_right_index_ring_v1B_TKZ LALT L &HRM_right_index_pinky_v1B_TKZ RGUI SEMI &HRM_right_index_tap_v1B_TKZ SQT &trans &trans &trans &trans &trans &trans &HRM_right_index_tap_v1B_TKZ N &HRM_right_index_tap_v1B_TKZ M &HRM_right_index_tap_v1B_TKZ COMMA &HRM_right_index_tap_v1B_TKZ DOT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_RightMiddy {
bindings = <
&trans &trans &trans &trans &trans &trans &HRM_right_middy_tap_v1B_TKZ N6 &HRM_right_middy_tap_v1B_TKZ N7 &HRM_right_middy_tap_v1B_TKZ N8 &HRM_right_middy_tap_v1B_TKZ N9 &HRM_right_middy_tap_v1B_TKZ N0 &HRM_right_middy_tap_v1B_TKZ MINUS &trans &trans &trans &trans &trans &trans &HRM_right_middy_tap_v1B_TKZ Y &HRM_right_middy_tap_v1B_TKZ U &HRM_right_middy_tap_v1B_TKZ I &HRM_right_middy_tap_v1B_TKZ O &HRM_right_middy_tap_v1B_TKZ P &HRM_right_middy_tap_v1B_TKZ BSLH &trans &kp A &kp S &kp D &kp F &trans &HRM_right_middy_tap_v1B_TKZ H &HRM_right_middy_index_v1B_TKZ RSHFT J &none &HRM_right_middy_ring_v1B_TKZ LALT L &HRM_right_middy_pinky_v1B_TKZ RGUI SEMI &HRM_right_middy_tap_v1B_TKZ SQT &trans &trans &trans &trans &trans &trans &HRM_right_middy_tap_v1B_TKZ N &HRM_right_middy_tap_v1B_TKZ M &HRM_right_middy_tap_v1B_TKZ COMMA &HRM_right_middy_tap_v1B_TKZ DOT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_RightRingy {
bindings = <
&trans &trans &trans &trans &trans &trans &HRM_right_ring_tap_v1B_TKZ N6 &HRM_right_ring_tap_v1B_TKZ N7 &HRM_right_ring_tap_v1B_TKZ N8 &HRM_right_ring_tap_v1B_TKZ N9 &HRM_right_ring_tap_v1B_TKZ N0 &HRM_right_ring_tap_v1B_TKZ MINUS &trans &trans &trans &trans &trans &trans &HRM_right_ring_tap_v1B_TKZ Y &HRM_right_ring_tap_v1B_TKZ U &HRM_right_ring_tap_v1B_TKZ I &HRM_right_ring_tap_v1B_TKZ O &HRM_right_ring_tap_v1B_TKZ P &HRM_right_ring_tap_v1B_TKZ BSLH &trans &kp A &kp S &kp D &kp F &trans &HRM_right_ring_tap_v1B_TKZ H &HRM_right_ring_index_v1B_TKZ RSHFT J &HRM_right_ring_middy_v1B_TKZ RCTRL K &none &HRM_right_ring_pinky_v1B_TKZ RGUI SEMI &HRM_right_ring_tap_v1B_TKZ SQT &trans &trans &trans &trans &trans &trans &HRM_right_ring_tap_v1B_TKZ N &HRM_right_ring_tap_v1B_TKZ M &HRM_right_ring_tap_v1B_TKZ COMMA &HRM_right_ring_tap_v1B_TKZ DOT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_RightPinky {
bindings = <
&trans &trans &trans &trans &trans &trans &HRM_right_pinky_tap_v1B_TKZ N6 &HRM_right_pinky_tap_v1B_TKZ N7 &HRM_right_pinky_tap_v1B_TKZ N8 &HRM_right_pinky_tap_v1B_TKZ N9 &HRM_right_pinky_tap_v1B_TKZ N0 &HRM_right_pinky_tap_v1B_TKZ MINUS &trans &trans &trans &trans &trans &trans &HRM_right_pinky_tap_v1B_TKZ Y &HRM_right_pinky_tap_v1B_TKZ U &HRM_right_pinky_tap_v1B_TKZ I &HRM_right_pinky_tap_v1B_TKZ O &HRM_right_pinky_tap_v1B_TKZ P &HRM_right_pinky_tap_v1B_TKZ BSLH &trans &kp A &kp S &kp D &kp F &trans &HRM_right_pinky_tap_v1B_TKZ H &HRM_right_pinky_index_v1B_TKZ RSHFT J &HRM_right_pinky_middy_v1B_TKZ RCTRL K &HRM_right_pinky_ring_v1B_TKZ LALT L &none &HRM_right_pinky_tap_v1B_TKZ SQT &trans &trans &trans &trans &trans &trans &HRM_right_pinky_tap_v1B_TKZ N &HRM_right_pinky_tap_v1B_TKZ M &HRM_right_pinky_tap_v1B_TKZ COMMA &HRM_right_pinky_tap_v1B_TKZ DOT &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; };
layer_Magic {
bindings = <
&mstr1_v1_TKZ &kp C_BRI_DN &kp C_BRI_UP &kp C_PREV &kp C_NEXT &kp C_PP &kp C_MUTE &kp C_VOL_DN &kp C_VOL_UP &none &bt BT_CLR &bt BT_CLR_ALL &bootloader &rgb_ug RGB_SPI &rgb_ug RGB_SAI &rgb_ug RGB_HUI &rgb_ug RGB_BRI &rgb_ug RGB_TOG &none &none &none &none &none &bootloader &sys_reset &rgb_ug RGB_SPD &rgb_ug RGB_SAD &rgb_ug RGB_HUD &rgb_ug RGB_BRD &rgb_ug RGB_EFF &none &none &none &none &none &sys_reset &none &none &bt_0 &bt_1 &bt_2 &bt_3 &none &none &none &none &none &none &out OUT_USB &none &to LAYER_Typing &none &none &none &to 0 &none &to LAYER_Autoshift &none &none &none >; };
};
};