ARTSEY fixes and base implementation

This commit is contained in:
KemoNine 2021-02-02 20:50:46 +00:00
parent 250185547b
commit 66fc060e35
3 changed files with 60 additions and 41 deletions

View file

@ -22,6 +22,10 @@
* - Adjust your boards keymap layers... * - Adjust your boards keymap layers...
* - To have the SAME layers defined as this keymap * - 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' * - 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 * DEFINE these definitions in your boards keymap BEFORE including artsey.dtsi
*****************************************/ *****************************************/
// ARTS Row // ARTS Row
// #define KEY_A 4 // #define KEY_A 0
// #define KEY_R 5 // #define KEY_R 1
// #define KEY_T 6 // #define KEY_T 2
// #define KEY_S 7 // #define KEY_S 3
// EYIO Row // EYIO Row
// #define KEY_E 0 // #define KEY_E 4
// #define KEY_Y 1 // #define KEY_Y 5
// #define KEY_I 2 // #define KEY_I 6
// #define KEY_O 3 // #define KEY_O 7
/***************************************** /*****************************************
* Layer IDs used by the ARTSEY keymap * Layer IDs used by the ARTSEY keymap
@ -57,10 +61,11 @@
#define LAYER_ID_MOUSE 5 #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 * See documentation on "combos" for more detail
*****************************************/ *****************************************/
#define TIMEOUT_CHORD 75 #define TIMEOUT_CHORD 125
#define TIMEOUT_LAYER_HOLD 250
/***************************************** /*****************************************
* Standard ARTSEY chord definitions * Standard ARTSEY chord definitions
@ -101,21 +106,21 @@
chord_shift { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_E KEY_R KEY_T KEY_S>; bindings = <&kp LSHFT>; }; chord_shift { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_E KEY_R KEY_T KEY_S>; bindings = <&kp LSHFT>; };
chord_space { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_E KEY_Y KEY_I KEY_O>; bindings = <&kp SPACE>; }; chord_space { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_E KEY_Y KEY_I KEY_O>; bindings = <&kp SPACE>; };
/* Needs to be fixed */ /* Needs to be fixed */
chord_shift_lock { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_A KEY_Y KEY_I KEY_O>; bindings = <&none>; }; //chord_shift_lock { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_A KEY_Y KEY_I KEY_O>; bindings = <&none>; };
/* Only on number layer */ /* Only on number layer */
/* TODO: Needs to be fixed */ /* TODO: Needs to be fixed */
chord_seven { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_A KEY_R>; bindings = <&none>; }; //chord_seven { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_A KEY_R>; bindings = <&none>; };
/* Only on number layer */ /* Only on number layer */
/* TODO: Needs to be fixed */ /* TODO: Needs to be fixed */
chord_eight { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_R KEY_T>; bindings = <&none>; }; //chord_eight { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_R KEY_T>; bindings = <&none>; };
/* Only on number layer */ /* Only on number layer */
/* TODO: Needs to be fixed */ /* TODO: Needs to be fixed */
chord_nine { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_E KEY_Y>; bindings = <&none>; }; //chord_nine { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_E KEY_Y>; bindings = <&none>; };
/* Only on number layer */ /* Only on number layer */
/* TODO: Needs to be fixed */ /* TODO: Needs to be fixed */
chord_zero { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_Y KEY_I>; bindings = <&none>; }; //chord_zero { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_Y KEY_I>; bindings = <&none>; };
/* TODO: Setup/Enable once Mouse Keys feature(s) are added to ZMK */ /* TODO: Setup/Enable once Mouse Keys feature(s) are added to ZMK */
chord_mouse { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_A KEY_T KEY_Y>; bindings = <&none>; }; //chord_mouse { timeout-ms = <TIMEOUT_CHORD>; key-positions = <KEY_A KEY_T KEY_Y>; bindings = <&none>; };
}; };
}; };
@ -126,40 +131,40 @@
/ { / {
behaviors { behaviors {
layer_base_none: layer_base_none { compatible = "zmk,behavior-hold-tap"; label = "layer_base_none"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "hold-preferred";
bindings = <&to>, <&none>; }; bindings = <&to>, <&none>; };
layer_base_kp: layer_base_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_base_kp"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "tap-preferred";
bindings = <&to>, <&kp>; }; bindings = <&to>, <&kp>; };
layer_numbers_none: layer_numbers_none { compatible = "zmk,behavior-hold-tap"; label = "layer_numbers_none"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "hold-preferred";
bindings = <&to>, <&none>; }; bindings = <&to>, <&none>; };
layer_numbers_kp: layer_numbers_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_numbers_kp"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "tap-preferred";
bindings = <&to>, <&kp>; }; bindings = <&to>, <&kp>; };
layer_symbols_none: layer_symbols_none { compatible = "zmk,behavior-hold-tap"; label = "layer_symbols_none"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "hold-preferred";
bindings = <&to>, <&none>; }; bindings = <&to>, <&none>; };
layer_symbols_kp: layer_symbols_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_symbols_kp"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "tap-preferred";
bindings = <&to>, <&kp>; }; bindings = <&to>, <&kp>; };
layer_parentheticals_none: layer_parentheticals_none { compatible = "zmk,behavior-hold-tap"; label = "layer_parentheticals_none"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "hold-preferred";
bindings = <&to>, <&none>; }; bindings = <&to>, <&none>; };
layer_parentheticals_kp: layer_parentheticals_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_parentheticals_kp"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "tap-preferred";
bindings = <&to>, <&kp>; }; bindings = <&to>, <&kp>; };
layer_navigation_none: layer_navigation_none { compatible = "zmk,behavior-hold-tap"; label = "layer_navigation_none"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "hold-preferred";
bindings = <&to>, <&none>; }; bindings = <&to>, <&none>; };
layer_navigation_kp: layer_navigation_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_navigation_kp"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "tap-preferred";
bindings = <&to>, <&kp>; }; bindings = <&to>, <&kp>; };
layer_mouse_none: layer_mouse_none { compatible = "zmk,behavior-hold-tap"; label = "layer_mouse_none"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "hold-preferred";
bindings = <&tog>, <&none>; }; bindings = <&tog>, <&none>; };
layer_mouse_kp: layer_mouse_kp { compatible = "zmk,behavior-hold-tap"; label = "layer_mouse_kp"; 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 = <TIMEOUT_LAYER_HOLD>; flavor = "tap-preferred";
bindings = <&tog>, <&kp>; }; bindings = <&tog>, <&kp>; };
}; };
}; };

View file

@ -1,4 +1,13 @@
# Copyright (c) 2020 The ZMK Contributors # Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT # 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 CONFIG_ZMK_DISPLAY=y
# USB Logging to ensure things work properly and as expected at the FW level
CONFIG_ZMK_USB_LOGGING=y

View file

@ -8,15 +8,15 @@
#include <dt-bindings/zmk/keys.h> #include <dt-bindings/zmk/keys.h>
// ARTS Row // ARTS Row
#define KEY_A 13 #define KEY_A 7
#define KEY_R 14 #define KEY_R 8
#define KEY_T 15 #define KEY_T 9
#define KEY_S 16 #define KEY_S 10
// EYIO Row // EYIO Row
#define KEY_E 7 #define KEY_E 13
#define KEY_Y 8 #define KEY_Y 14
#define KEY_I 9 #define KEY_I 15
#define KEY_O 10 #define KEY_O 16
#include "../../../artsey.dtsi" #include "../../../artsey.dtsi"
@ -28,8 +28,9 @@
bindings = < bindings = <
&none &none &none &none &none &none &none &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 &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 &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 { numbers {
@ -37,8 +38,9 @@
bindings = < /* TODO: NEED TO SETUP Fn LEADER KEY(S) */ bindings = < /* TODO: NEED TO SETUP Fn LEADER KEY(S) */
&none &none &none &none &none &none &none &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 &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 &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 { symbols {
@ -46,8 +48,9 @@
bindings = < bindings = <
&none &none &none &none &none &none &none &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 &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 &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 { parentheticals {
@ -55,8 +58,9 @@
bindings = < bindings = <
&none &none &none &none &none &none &none &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 &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 &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 { navigation {
@ -64,8 +68,9 @@
bindings = < bindings = <
&none &none &none &none &none &none &none &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 &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 &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
>; >;
}; };
}; };