From 66fc060e352a4500ea18d22dc2413be0c02701df Mon Sep 17 00:00:00 2001 From: KemoNine Date: Tue, 2 Feb 2021 20:50:46 +0000 Subject: [PATCH] ARTSEY fixes and base implementation --- zmk-config/config/artsey.dtsi | 61 ++++++++++--------- .../steno_right_lily58.conf | 9 +++ .../steno_right_lily58.keymap | 31 ++++++---- 3 files changed, 60 insertions(+), 41 deletions(-) diff --git a/zmk-config/config/artsey.dtsi b/zmk-config/config/artsey.dtsi index b15b6084..b64f213c 100644 --- a/zmk-config/config/artsey.dtsi +++ b/zmk-config/config/artsey.dtsi @@ -22,6 +22,10 @@ * - Adjust your boards keymap layers... * - To have the SAME layers defined as this keymap * - Take the commented layers from below and place the values into your boards keymap in 'the right spots' + * - YOU MUST SET THE FOLLOWING CONFIG VALUES FOR THIS SETUP TO WORK PROPERLY + * - COMBO_MAX_COMBOS_PER_KEY=16 + * - COMBO_MAX_KEYS_PER_COMBO=8 + * - COMBO_MAX_PRESSED_COMBOS=8 *****************************************/ @@ -35,15 +39,15 @@ * DEFINE these definitions in your boards keymap BEFORE including artsey.dtsi *****************************************/ // ARTS Row -// #define KEY_A 4 -// #define KEY_R 5 -// #define KEY_T 6 -// #define KEY_S 7 +// #define KEY_A 0 +// #define KEY_R 1 +// #define KEY_T 2 +// #define KEY_S 3 // EYIO Row -// #define KEY_E 0 -// #define KEY_Y 1 -// #define KEY_I 2 -// #define KEY_O 3 +// #define KEY_E 4 +// #define KEY_Y 5 +// #define KEY_I 6 +// #define KEY_O 7 /***************************************** * Layer IDs used by the ARTSEY keymap @@ -57,10 +61,11 @@ #define LAYER_ID_MOUSE 5 /***************************************** - * Define how long it takes for the chords to 'time out' + * Define how long it takes for the chords/holds to 'time out' * See documentation on "combos" for more detail *****************************************/ -#define TIMEOUT_CHORD 75 +#define TIMEOUT_CHORD 125 +#define TIMEOUT_LAYER_HOLD 250 /***************************************** * Standard ARTSEY chord definitions @@ -101,21 +106,21 @@ chord_shift { timeout-ms = ; key-positions = ; bindings = <&kp LSHFT>; }; chord_space { timeout-ms = ; key-positions = ; bindings = <&kp SPACE>; }; /* Needs to be fixed */ - chord_shift_lock { timeout-ms = ; key-positions = ; bindings = <&none>; }; + //chord_shift_lock { timeout-ms = ; key-positions = ; bindings = <&none>; }; /* Only on number layer */ /* TODO: Needs to be fixed */ - chord_seven { timeout-ms = ; key-positions = ; bindings = <&none>; }; + //chord_seven { timeout-ms = ; key-positions = ; bindings = <&none>; }; /* Only on number layer */ /* TODO: Needs to be fixed */ - chord_eight { timeout-ms = ; key-positions = ; bindings = <&none>; }; + //chord_eight { timeout-ms = ; key-positions = ; bindings = <&none>; }; /* Only on number layer */ /* TODO: Needs to be fixed */ - chord_nine { timeout-ms = ; key-positions = ; bindings = <&none>; }; + //chord_nine { timeout-ms = ; key-positions = ; bindings = <&none>; }; /* Only on number layer */ /* TODO: Needs to be fixed */ - chord_zero { timeout-ms = ; key-positions = ; bindings = <&none>; }; + //chord_zero { timeout-ms = ; key-positions = ; bindings = <&none>; }; /* TODO: Setup/Enable once Mouse Keys feature(s) are added to ZMK */ - chord_mouse { timeout-ms = ; key-positions = ; bindings = <&none>; }; + //chord_mouse { timeout-ms = ; key-positions = ; bindings = <&none>; }; }; }; @@ -126,40 +131,40 @@ / { behaviors { layer_base_none: layer_base_none { compatible = "zmk,behavior-hold-tap"; label = "layer_base_none"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "hold-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "hold-preferred"; bindings = <&to>, <&none>; }; layer_base_kp: layer_base_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_base_kp"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "tap-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "tap-preferred"; bindings = <&to>, <&kp>; }; layer_numbers_none: layer_numbers_none { compatible = "zmk,behavior-hold-tap"; label = "layer_numbers_none"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "hold-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "hold-preferred"; bindings = <&to>, <&none>; }; layer_numbers_kp: layer_numbers_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_numbers_kp"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "tap-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "tap-preferred"; bindings = <&to>, <&kp>; }; layer_symbols_none: layer_symbols_none { compatible = "zmk,behavior-hold-tap"; label = "layer_symbols_none"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "hold-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "hold-preferred"; bindings = <&to>, <&none>; }; layer_symbols_kp: layer_symbols_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_symbols_kp"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "tap-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "tap-preferred"; bindings = <&to>, <&kp>; }; layer_parentheticals_none: layer_parentheticals_none { compatible = "zmk,behavior-hold-tap"; label = "layer_parentheticals_none"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "hold-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "hold-preferred"; bindings = <&to>, <&none>; }; layer_parentheticals_kp: layer_parentheticals_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_parentheticals_kp"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "tap-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "tap-preferred"; bindings = <&to>, <&kp>; }; layer_navigation_none: layer_navigation_none { compatible = "zmk,behavior-hold-tap"; label = "layer_navigation_none"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "hold-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "hold-preferred"; bindings = <&to>, <&none>; }; layer_navigation_kp: layer_navigation_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_navigation_kp"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "tap-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "tap-preferred"; bindings = <&to>, <&kp>; }; layer_mouse_none: layer_mouse_none { compatible = "zmk,behavior-hold-tap"; label = "layer_mouse_none"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "hold-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "hold-preferred"; bindings = <&tog>, <&none>; }; layer_mouse_kp: layer_mouse_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_mouse_kp"; - #binding-cells = <2>; tapping_term_ms = <150>; flavor = "tap-preferred"; + #binding-cells = <2>; tapping_term_ms = ; flavor = "tap-preferred"; bindings = <&tog>, <&kp>; }; }; }; diff --git a/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.conf b/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.conf index 2565cbea..50228419 100755 --- a/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.conf +++ b/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.conf @@ -1,4 +1,13 @@ # Copyright (c) 2020 The ZMK Contributors # SPDX-License-Identifier: MIT +# Tune combos to allow proper ARTSEY support +CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=16 +CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=8 +CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8 + +# Enable display (layer in use is helpful)) CONFIG_ZMK_DISPLAY=y + +# USB Logging to ensure things work properly and as expected at the FW level +CONFIG_ZMK_USB_LOGGING=y diff --git a/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.keymap b/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.keymap index d6239125..0cd0a7c3 100644 --- a/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.keymap +++ b/zmk-config/config/boards/shields/steno_right_lily58/steno_right_lily58.keymap @@ -8,15 +8,15 @@ #include // ARTS Row -#define KEY_A 13 -#define KEY_R 14 -#define KEY_T 15 -#define KEY_S 16 +#define KEY_A 7 +#define KEY_R 8 +#define KEY_T 9 +#define KEY_S 10 // EYIO Row -#define KEY_E 7 -#define KEY_Y 8 -#define KEY_I 9 -#define KEY_O 10 +#define KEY_E 13 +#define KEY_Y 14 +#define KEY_I 15 +#define KEY_O 16 #include "../../../artsey.dtsi" @@ -28,8 +28,9 @@ bindings = < &none &none &none &none &none &none &none &layer_parentheticals_kp LAYER_ID_PARENTHETICALS A &kp R &kp T &layer_numbers_kp LAYER_ID_NUMBERS S + &none &none &layer_symbols_kp LAYER_ID_SYMBOLS E &kp Y &kp I &layer_navigation_kp LAYER_ID_NAVIGATION O - &none &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none >; }; numbers { @@ -37,8 +38,9 @@ bindings = < /* TODO: NEED TO SETUP Fn LEADER KEY(S) */ &none &none &none &none &none &none &none &layer_parentheticals_kp LAYER_ID_PARENTHETICALS N1 &kp N2 &kp N3 &layer_base_none LAYER_ID_BASE 0 + &none &none &layer_symbols_kp LAYER_ID_SYMBOLS N4 &kp N5 &kp N6 &layer_navigation_none LAYER_ID_NAVIGATION 0 - &none &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none >; }; symbols { @@ -46,8 +48,9 @@ bindings = < &none &none &none &none &none &none &none &layer_parentheticals_none LAYER_ID_PARENTHETICALS 0 &kp BSLH &kp SEMI &layer_numbers_kp LAYER_ID_NUMBERS GRAVE + &none &none &layer_base_none LAYER_ID_BASE 0 &kp MINUS &kp EQUAL &layer_navigation_none LAYER_ID_NAVIGATION 0 - &none &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none >; }; parentheticals { @@ -55,8 +58,9 @@ bindings = < &none &none &none &none &none &none &none &layer_base_none LAYER_ID_BASE 0 &kp LPAR &kp RPAR &layer_numbers_kp LAYER_ID_NUMBERS LBRC + &none &none &layer_symbols_none LAYER_ID_SYMBOLS 0 &kp LBKT &kp RBKT &layer_navigation_kp LAYER_ID_NAVIGATION RBRC - &none &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none >; }; navigation { @@ -64,8 +68,9 @@ bindings = < &none &none &none &none &none &none &none &layer_parentheticals_kp LAYER_ID_PARENTHETICALS HOME &kp UP &kp END &layer_numbers_none LAYER_ID_NUMBERS 0 + &none &none &layer_symbols_kp LAYER_ID_SYMBOLS LEFT &kp DOWN &kp RIGHT &layer_base_none LAYER_ID_BASE 0 - &none &none &none &none &none &none &none &none &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none &none >; }; };