From ce317794af82689f25c2af15afebe613891e5106 Mon Sep 17 00:00:00 2001 From: Christoph Cullmann Date: Mon, 10 Oct 2022 16:58:32 +0200 Subject: [PATCH] try to fine tune home row modifiers --- config.h | 12 +++++++++--- keymap.c | 18 ++++++++++++++++-- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/config.h b/config.h index c7635a6..df9019c 100644 --- a/config.h +++ b/config.h @@ -1,4 +1,4 @@ -/* Copyright 2015-2021 Jack Humbert +/* Copyright 2022 Christoph Cullmann * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,8 +22,14 @@ // settings for home row modifiers // details see https://precondition.github.io/home-row-mods -// Configure the global tapping term (default: 200ms) -#define TAPPING_TERM 200 +// allow per key changes of tapping term, home row uses longer delay +#define TAPPING_TERM_PER_KEY + +// configure the global tapping term +#define TAPPING_TERM 150 + +// home row tapping term, longer to avoid strange thing from happening +#define TAPPING_TERM_HOME_ROW 250 // Prevent normal rollover on alphas from accidentally triggering mods. #define IGNORE_MOD_TAP_INTERRUPT diff --git a/keymap.c b/keymap.c index 52f2650..c698a28 100644 --- a/keymap.c +++ b/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2015-2021 Jack Humbert +/* Copyright 2022 Christoph Cullmann * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_QWERTY] = LAYOUT_planck_grid( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LCTL_T(KC_ESC), LT(_NAV, KC_A), RALT_T(KC_S), LALT_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), LALT_T(KC_K), RALT_T(KC_L), LT(_NAV, KC_SCLN), RCTL_T(KC_QUOT), + LCTL_T(KC_ESC), KC_A, RALT_T(KC_S), LALT_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), LALT_T(KC_K), RALT_T(KC_L), LT(_NAV, KC_SCLN), RCTL_T(KC_QUOT), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), KC_LCTL, KC_LGUI, KC_LALT, MO(_CMD), MO(_LOWER), KC_SPC, KC_ENT, MO(_RAISE), MO(_FN), KC_RALT, KC_RGUI, KC_RCTL ), @@ -140,6 +140,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; +// per-key tapping term +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RALT_T(KC_S): + case LALT_T(KC_D): + case LSFT_T(KC_F): + case RSFT_T(KC_J): + case LALT_T(KC_K): + case RALT_T(KC_L): + return TAPPING_TERM_HOME_ROW; + default: + return TAPPING_TERM; + } +} /* plwnck rev6 RGB layout: * ----------------------------------