From c7f035fbfecc622fa1e2bea9bab8fdc6145be1f6 Mon Sep 17 00:00:00 2001 From: Christoph Cullmann Date: Fri, 13 Oct 2023 23:05:38 +0200 Subject: try to improve the thumb keys --- common/config.h | 3 +++ common/keymap.h | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/common/config.h b/common/config.h index a3bf4e5..02a7f4a 100644 --- a/common/config.h +++ b/common/config.h @@ -46,6 +46,9 @@ // use permissive hold together with achordion #define PERMISSIVE_HOLD +// special handle thumb keys +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY + // delay hold/release to not mess up software #define TAP_CODE_DELAY 10 diff --git a/common/keymap.h b/common/keymap.h index 0fd14dc..28842a7 100644 --- a/common/keymap.h +++ b/common/keymap.h @@ -71,6 +71,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT(_SYM, KC_SCLN): + case LT(_NUM, KC_SPC): + case LT(_NAV, KC_E): + case LT(_FN, KC_MINS): + // Immediately select the hold action when another key is pressed. + return true; + default: + // Do not select the hold action when another key is pressed. + return false; + } +} + #include "achordion.h" bool process_record_user(uint16_t keycode, keyrecord_t* record) { -- cgit v1.2.3