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...
* - 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 = <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>; };
/* 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 */
/* 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 */
/* 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 */
/* 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 */
/* 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 */
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 {
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>; };
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>; };
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>; };
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>; };
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>; };
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>; };
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>; };
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>; };
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>; };
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>; };
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>; };
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>; };
};
};

View File

@ -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

View File

@ -8,15 +8,15 @@
#include <dt-bindings/zmk/keys.h>
// 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
>;
};
};