From 50e34d8853d7f487b88240562c272ca246c84e7e Mon Sep 17 00:00:00 2001 From: Nick Ferguson Date: Wed, 14 Feb 2024 12:58:13 -0500 Subject: [PATCH] Update glove80.keymap --- config/glove80.keymap | 324 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 262 insertions(+), 62 deletions(-) diff --git a/config/glove80.keymap b/config/glove80.keymap index 6f82cc9..512c8b2 100644 --- a/config/glove80.keymap +++ b/config/glove80.keymap @@ -1,65 +1,147 @@ + /* * Copyright (c) 2020 The ZMK Contributors + * Copyright (c) 2023 Innaworks Development Limited, trading as MoErgo * * SPDX-License-Identifier: MIT */ + +/* THIS FILE WAS GENERATED BY GLOVE80 LAYOUT EDITOR + * + * This file was generated automatically. You may or may not want to + * edit it directly. + */ + #include +/* Include all behaviour includes needed */ +#include #include #include -#include -#include #include -#define HYPER LC(LS(LG(LALT))) +/* Automatically generated layer name #define */ +#define LAYER_Base 0 +#define LAYER_Lower 1 +#define LAYER_Magic 2 +#define LAYER_colemak 3 +#define LAYER_Factory 4 +#define LAYER_6 5 -// layers -#define DEFAULT 0 -#define LOWER 1 -#define MAGIC 2 -#define FACTORY_TEST 3 +/* To deal with the situation where there is no Lower layer, to keep &lower happy */ +#ifndef LAYER_Lower +#define LAYER_Lower 0 +#endif +/* Custom Device-tree */ + + + +/* Glove80 system behavior & macros */ / { behaviors { // For the "layer" key, it'd nice to be able to use it as either a shift or a toggle. // Configure it as a tap dance, so the first tap (or hold) is a &mo and the second tap is a &to - layer_td: tap_dance_0 { + lower: lower { compatible = "zmk,behavior-tap-dance"; label = "LAYER_TAP_DANCE"; #binding-cells = <0>; tapping-term-ms = <200>; - bindings = <&mo LOWER>, <&to LOWER>; - }; - - magic: magic_hold_tap { - 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>; + bindings = <&mo LAYER_Lower>, <&to LAYER_Lower>; }; }; +}; +/ { macros { - rgb_ug_status_macro: rgb_ug_status_macro_0 { + rgb_ug_status_macro: rgb_ug_status_macro { label = "RGB_UG_STATUS"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&rgb_ug RGB_STATUS>; }; + }; +}; + - bt_0: bt_profile_macro_0 { +/ { +#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_1: bt_profile_macro_1 { + 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>; @@ -67,8 +149,7 @@ = <&out OUT_BLE>, <&bt BT_SEL 1>; }; - - bt_2: bt_profile_macro_2 { + bt_2: bt_2 { label = "BT_2"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; @@ -76,8 +157,7 @@ = <&out OUT_BLE>, <&bt BT_SEL 2>; }; - - bt_3: bt_profile_macro_3 { + bt_3: bt_3 { label = "BT_3"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; @@ -86,60 +166,180 @@ <&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>; + }; + }; +}; + +/* #define for key positions */ +#define POS_LH_T1 52 +#define POS_LH_T2 53 +#define POS_LH_T3 54 +#define POS_LH_T4 69 +#define POS_LH_T5 70 +#define POS_LH_T6 71 +#define POS_LH_C1R2 15 +#define POS_LH_C1R3 27 +#define POS_LH_C1R4 39 +#define POS_LH_C1R5 51 +#define POS_LH_C2R1 4 +#define POS_LH_C2R2 14 +#define POS_LH_C2R3 26 +#define POS_LH_C2R4 38 +#define POS_LH_C2R5 50 +#define POS_LH_C2R6 68 +#define POS_LH_C3R1 3 +#define POS_LH_C3R2 13 +#define POS_LH_C3R3 25 +#define POS_LH_C3R4 37 +#define POS_LH_C3R5 49 +#define POS_LH_C3R6 67 +#define POS_LH_C4R1 2 +#define POS_LH_C4R2 12 +#define POS_LH_C4R3 24 +#define POS_LH_C4R4 36 +#define POS_LH_C4R5 48 +#define POS_LH_C4R6 66 +#define POS_LH_C5R1 1 +#define POS_LH_C5R2 11 +#define POS_LH_C5R3 23 +#define POS_LH_C5R4 35 +#define POS_LH_C5R5 47 +#define POS_LH_C5R6 65 +#define POS_LH_C6R1 0 +#define POS_LH_C6R2 10 +#define POS_LH_C6R3 22 +#define POS_LH_C6R4 34 +#define POS_LH_C6R5 46 +#define POS_LH_C6R6 64 +#define POS_RH_T1 57 +#define POS_RH_T2 56 +#define POS_RH_T3 55 +#define POS_RH_T4 74 +#define POS_RH_T5 73 +#define POS_RH_T6 72 +#define POS_RH_C1R2 16 +#define POS_RH_C1R3 28 +#define POS_RH_C1R4 40 +#define POS_RH_C1R5 58 +#define POS_RH_C2R1 5 +#define POS_RH_C2R2 17 +#define POS_RH_C2R3 29 +#define POS_RH_C2R4 41 +#define POS_RH_C2R5 59 +#define POS_RH_C2R6 75 +#define POS_RH_C3R1 6 +#define POS_RH_C3R2 18 +#define POS_RH_C3R3 30 +#define POS_RH_C3R4 42 +#define POS_RH_C3R5 60 +#define POS_RH_C3R6 76 +#define POS_RH_C4R1 7 +#define POS_RH_C4R2 19 +#define POS_RH_C4R3 31 +#define POS_RH_C4R4 43 +#define POS_RH_C4R5 61 +#define POS_RH_C4R6 77 +#define POS_RH_C5R1 8 +#define POS_RH_C5R2 20 +#define POS_RH_C5R3 32 +#define POS_RH_C5R4 44 +#define POS_RH_C5R5 62 +#define POS_RH_C5R6 78 +#define POS_RH_C6R1 9 +#define POS_RH_C6R2 21 +#define POS_RH_C6R3 33 +#define POS_RH_C6R4 45 +#define POS_RH_C6R5 63 +#define POS_RH_C6R6 79 + + /* Custom Defined Behaviors */ +/ { + +}; + + /* Automatically generated keymap */ +/ { keymap { compatible = "zmk,keymap"; - default_layer { - // --------------------------------------------------------------------------------------------------------------------------------- - // | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | - // | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | - // | TAB | Q | W | E | R | T | | Y | U | I | O | P | \ | - // | ESC | A | S | D | F | G | | H | J | K | L | ; | ' | - // | ` | Z | X | C | V | B | LSHFT | LCTRL | LOWER | | LGUI | RCTRL | RSHFT | N | M | , | . | / | PGUP | - // | MAGIC | HOME| END | LEFT | RIGHT| | BSPC | DEL | LALT | | RALT | RET | SPACE | | UP | DOWN | [ | ] | PGDN | + layer_Base { + bindings = < + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 + &none &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp EQUAL + &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp MINUS + &mt LCTRL ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &mt LGUI SQT + &sk LSHFT &kp Z &kp X &kp C &kp V &kp B &mt LSHFT LPAR &mt LALT LBKT &mt LCTRL PG_DN &mt RCTRL PG_UP &mt RALT RBKT &mt RSHFT RPAR &kp N &kp M &kp COMMA &kp DOT &kp FSLH &mt RSHFT BSLH + &magic LAYER_Magic 0 < 5 TAB &mt LALT RET &mt LGUI TAB < 1 ESC &kp BSPC &mt LGUI SPACE &lower &caps_word &mt RCTRL RET &kp SPACE < 1 LEFT &mt RGUI DOWN &mt RALT UP < 5 RIGHT &kp GRAVE + >; + }; + + layer_Lower { + bindings = < + &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none &none + &kp F11 &kp F12 &kp F13 &kp F14 &kp F15 &kp F16 &kp F17 &kp F18 &kp F19 &kp F20 &kp F21 &kp F22 + &kp TILDE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp F23 + &kp GRAVE &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp C_MUTE &kp C_VOL_DN &kp C_VOL_UP &kp C_PREV &kp C_NEXT &kp C_PP &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &kp F24 + &trans &trans &trans &trans &trans &kp LC(LEFT) &kp C_BRI_DN &kp C_BRI_UP &kp C_AC_DESKTOP_SHOW_ALL_WINDOWS &kp C_AC_DESKTOP_SHOW_ALL_APPLICATIONS &kp LC(RIGHT) &trans &trans &trans &trans &trans + >; + }; + + layer_Magic { bindings = < - &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 - &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 &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT - &kp GRAVE &kp Z &kp X &kp C &kp V &kp B &kp LSHFT &kp LCTRL &layer_td &kp LGUI &kp RCTRL &kp RSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp PG_UP - &magic MAGIC 0 &kp HOME &kp END &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp LALT &kp RALT &kp RET &kp SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &kp PG_DN + &bt BT_CLR &none &none &none &none &none &none &none &none &bt BT_CLR_ALL + &none &none &none &none &none &none &none &none &none &none &none &none + &none &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 &none + &bootloader &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 &bootloader + &sys_reset &none &none &none &none &none &bt_2 &bt_3 &none &none &none &none &none &none &none &none &none &sys_reset + &none &none &none &none &none &bt_0 &bt_1 &out OUT_USB &none &none &none &none &none &none &none &to 4 >; }; - lower_layer { + layer_colemak { bindings = < - &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 &kp PAUSE_BREAK - &trans &none &none &none &none &kp HOME &kp LPAR &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp PSCRN - &trans &none &none &kp UP &none &kp END &kp RPAR &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp SLCK - &trans &none &kp LEFT &kp DOWN &kp RIGHT &kp PG_UP &kp PRCNT &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &none - &trans &kp K_CMENU &none &kp F11 &kp F12 &kp PG_DN &trans &trans &to DEFAULT &trans &trans &trans &kp COMMA &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &trans - &trans &kp CAPS &kp INS &kp F11 &kp F12 &trans &trans &trans &trans &trans &trans &kp KP_N0 &kp KP_N0 &kp KP_DOT &kp KP_ENTER &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 &kp D &trans &kp K &trans &trans &trans &kp L &trans &trans + &trans &trans &trans &kp T &trans &trans &trans &kp N &kp E &kp O &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp J &trans &trans &trans &trans &trans + &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; - magic_layer { + layer_Factory { bindings = < - &bt BT_CLR &none &none &none &none &none &none &none &none &bt BT_CLR_ALL - &none &none &none &none &none &none &none &none &none &none &none &none - &none &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 &none - &bootloader &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 &bootloader - &sys_reset &none &none &none &none &none &bt_2 &bt_3 &none &none &none &none &none &none &none &none &none &sys_reset - &none &none &none &none &none &bt_0 &bt_1 &out OUT_USB &none &none &none &none &none &none &none &to FACTORY_TEST + &kp NUMBER_0 &kp NUMBER_6 &kp NUMBER_2 &kp NUMBER_8 &kp NUMBER_4 &kp NUMBER_4 &kp NUMBER_8 &kp NUMBER_2 &kp NUMBER_6 &kp NUMBER_0 + &kp NUMBER_1 &kp NUMBER_7 &kp NUMBER_3 &kp NUMBER_9 &kp NUMBER_5 &kp NUMBER_0 &kp NUMBER_0 &kp NUMBER_5 &kp NUMBER_9 &kp NUMBER_3 &kp NUMBER_7 &kp NUMBER_1 + &kp NUMBER_2 &kp NUMBER_8 &kp NUMBER_4 &kp NUMBER_0 &kp NUMBER_6 &kp NUMBER_1 &kp NUMBER_1 &kp NUMBER_6 &kp NUMBER_0 &kp NUMBER_4 &kp NUMBER_8 &kp NUMBER_2 + &kp NUMBER_3 &kp NUMBER_9 &kp NUMBER_5 &kp NUMBER_1 &kp NUMBER_7 &kp NUMBER_2 &kp NUMBER_2 &kp NUMBER_7 &kp NUMBER_1 &kp NUMBER_5 &kp NUMBER_9 &kp NUMBER_3 + &kp NUMBER_4 &kp NUMBER_0 &kp NUMBER_6 &kp NUMBER_2 &kp NUMBER_8 &kp NUMBER_3 &kp NUMBER_4 &kp NUMBER_5 &kp NUMBER_6 &kp NUMBER_6 &kp NUMBER_5 &kp NUMBER_4 &kp NUMBER_3 &kp NUMBER_8 &kp NUMBER_2 &kp NUMBER_6 &kp NUMBER_0 &kp NUMBER_4 + &kp NUMBER_5 &kp NUMBER_1 &kp NUMBER_7 &kp NUMBER_3 &kp NUMBER_9 &kp NUMBER_7 &kp NUMBER_8 &kp NUMBER_9 &kp NUMBER_9 &kp NUMBER_8 &kp NUMBER_7 &kp NUMBER_9 &kp NUMBER_3 &kp NUMBER_7 &kp NUMBER_1 &kp NUMBER_5 >; }; - factory_test_layer { + layer_6 { bindings = < - &kp N0 &kp N6 &kp N2 &kp N8 &kp N4 &kp N4 &kp N8 &kp N2 &kp N6 &kp N0 - &kp N1 &kp N7 &kp N3 &kp N9 &kp N5 &kp N0 &kp N0 &kp N5 &kp N9 &kp N3 &kp N7 &kp N1 - &kp N2 &kp N8 &kp N4 &kp N0 &kp N6 &kp N1 &kp N1 &kp N6 &kp N0 &kp N4 &kp N8 &kp N2 - &kp N3 &kp N9 &kp N5 &kp N1 &kp N7 &kp N2 &kp N2 &kp N7 &kp N1 &kp N5 &kp N9 &kp N3 - &kp N4 &kp N0 &kp N6 &kp N2 &kp N8 &kp N3 &kp N4 &kp N5 &kp N6 &kp N6 &kp N5 &kp N4 &kp N3 &kp N8 &kp N2 &kp N6 &kp N0 &kp N4 - &kp N5 &kp N1 &kp N7 &kp N3 &kp N9 &kp N7 &kp N8 &kp N9 &kp N9 &kp N8 &kp N7 &kp N9 &kp N3 &kp N7 &kp N1 &kp N5 + &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &kp LC(LEFT) &kp UP &kp LC(RIGHT) &kp LC(UP) &kp TILDE &kp LPAR &kp RPAR &kp DQT &kp SQT &none + &none &none &kp LEFT &kp DOWN &kp RIGHT &kp LC(DOWN) &kp GRAVE &kp LBKT &kp RBKT &kp COLON &kp SEMI &none + &none &none &kp LS(LC(P)) &kp LS(LC(X)) &kp LS(LC(SPACE)) &kp LS(LA(SPACE)) &kt LG(LS(BSLH)) &kt LG(LS(A)) &kt LC(LS(SPACE)) &kp LC(S) &kp LC(D) &kp LC(U) &kp EQUAL &kp LBRC &kp RBRC &kp UNDER &kp MINUS &none + &none &none &kp LG(C) &kp LG(V) &kp LG(LS(V)) &kp CAPS &kp LG(TAB) &kp LG(LS(TAB)) &kp LC(V) &kp LC(S) &kp LC(W) &kp FSLH &kp LS(COMMA) &kp LS(DOT) &kp BSLH &none >; }; + }; };