Remove IGNORE_MOD_TAP_INTERRUPT_PER_KEY in favour of HOLD_ON_OTHER_KEY_PRESS_PER_KEY (#15741)
This commit is contained in:
@@ -1,3 +1,2 @@
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
#define QUICK_TAP_TERM_PER_KEY
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
|
@@ -93,21 +93,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
};
|
||||
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case RC_QUT:
|
||||
return true;
|
||||
default:
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
// Special if-condition outside the switch because `RC_QUT` overlaps with
|
||||
// the `QK_MOD_TAP ... QK_MOD_TAP_MAX` range.
|
||||
if (keycode == RC_QUT) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LLS_ESC:
|
||||
case LLS_RALT:
|
||||
case LLE_ENT:
|
||||
case LLA_DEL:
|
||||
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
|
||||
case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@@ -28,15 +28,12 @@
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
// Prevent normal rollover on alphas from accidentally triggering mods.
|
||||
// #define IGNORE_MOD_TAP_INTERRUPT
|
||||
|
||||
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
|
||||
// #define QUICK_TAP_TERM 0
|
||||
|
||||
// Apply the modifier on keys that are tapped during a short hold of a modtap
|
||||
// #define PERMISSIVE_HOLD
|
||||
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
|
||||
#define FORCE_NKRO
|
||||
#define FORCE_NKRO
|
||||
|
@@ -169,12 +169,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
)
|
||||
};
|
||||
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case CM_SPAR:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
if (keycode == CM_SPAR) {
|
||||
return false;
|
||||
} else if (QK_MOD_TAP <= keycode && keycode <= QK_MOD_TAP_MAX) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -18,8 +18,7 @@
|
||||
|
||||
#define TAPPING_TERM 200 // Delay for tap modifiers until it is considered a hold
|
||||
|
||||
#define IGNORE_MOD_TAP_INTERRUPT // Enable ignore mod tap interrupt: https://docs.qmk.fm/#/tap_hold?id=ignore-mod-tap-interrupt
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY // Allows configuration of ignore mod tap interrupt per key in keymap.c
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY // Allows configuration of hold on other key press per key in keymap.c
|
||||
|
||||
#define COMBO_COUNT 2 // Number of defined combos
|
||||
#define COMBO_TERM 20 // Delay for combo keys to be chained together
|
||||
|
@@ -174,13 +174,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
// Configure ignore mod tap interrupt per key
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
// Configure hold on other key press per key
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
// I don't like how mod tap interrupt feels with these keys specifically when I'm typing
|
||||
// I don't like how ignore interrupt feels with these keys specifically when I'm typing
|
||||
case LCTL_T(KC_ESC):
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -57,7 +57,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// fix for me putting alt under A and being a fast typist
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
//#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
|
||||
#define LAYER_STATE_8BIT
|
||||
#define SPLIT_WPM_ENABLE
|
||||
|
@@ -198,12 +198,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
// }
|
||||
//}
|
||||
//
|
||||
// bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
// bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
// if (keycode == ALT_T(KC_A) || keycode == SH_BKSP) {
|
||||
// return false;
|
||||
// }
|
||||
// switch (keycode) {
|
||||
// case ALT_T(KC_A):
|
||||
// case SH_BKSP:
|
||||
// case QK_MOD_TAP ... QK_MOD_TAP_MAX:
|
||||
// return true;
|
||||
// default:
|
||||
// return false;
|
||||
// }
|
||||
//}
|
||||
//}
|
||||
|
@@ -29,8 +29,8 @@
|
||||
#define PERMISSIVE_HOLD
|
||||
/* #define PERMISSIVE_HOLD_PER_KEY */
|
||||
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
#define HOLD_ON_OTHER_KEY_PRESS
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
|
||||
#define QUICK_TAP_TERM 0
|
||||
#define QUICK_TAP_TERM_PER_KEY
|
||||
|
@@ -206,7 +206,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
}
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case E_NUMBERS:
|
||||
case R_MOUSE:
|
||||
@@ -219,7 +219,7 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
case RCTL_T(KC_L):
|
||||
case RSFT_T(KC_SEMICOLON):
|
||||
case ARROWS:
|
||||
return true;
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@@ -45,10 +45,7 @@
|
||||
// Configure the global tapping term (default: 200ms)
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
// Prevent normal rollover on alphas from accidentally triggering mods.
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
//#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
|
||||
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
|
||||
#define QUICK_TAP_TERM 0
|
||||
|
@@ -195,18 +195,18 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case SPC_L:
|
||||
return false;
|
||||
return true;
|
||||
case SPC_R:
|
||||
return true;
|
||||
return false;
|
||||
case ENT_L:
|
||||
return false;
|
||||
case ENT_R:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
case ENT_R:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -17,4 +17,4 @@
|
||||
|
||||
#define MASTER_LEFT
|
||||
#define TAPPING_TERM 200
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
|
@@ -96,9 +96,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
)
|
||||
};
|
||||
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case SY_SPC:
|
||||
return false;
|
||||
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// Tap-Hold Configs
|
||||
#define TAPPING_TERM 180
|
||||
#define PERMISSIVE_HOLD
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
#define HOLD_ON_OTHER_KEY_PRESS
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
#define QUICK_TAP_TERM 0
|
||||
#define QUICK_TAP_TERM_PER_KEY
|
||||
|
@@ -255,7 +255,7 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
}
|
||||
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case ALT__A:
|
||||
case ALTSCLN:
|
||||
@@ -272,7 +272,7 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
case CTL__J:
|
||||
case CTL__T:
|
||||
case CTL__N:
|
||||
return true;
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@@ -118,7 +118,7 @@
|
||||
*/
|
||||
#define RETRO_TAPPING_PER_KEY // Control Retro-Tap individually by key
|
||||
#define QUICK_TAP_TERM_PER_KEY // Control Quick-Tap individually by key
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY // Control Mod-Tap-Interrupt individually by key
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY // Control Hold-on-Other-Key-Press individually by key
|
||||
#define PERMISSIVE_HOLD_PER_KEY // Control Permissive-Hold individually by key
|
||||
|
||||
#define MK_KINETIC_SPEED // Use kinetic acceleration for mouse-keys
|
||||
|
@@ -1369,9 +1369,11 @@ bool get_retro_tapping(uint16_t keycode, keyrecord_t* record) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Handles per-key configuration of Mod-Tap-Interrupt
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t* record) {
|
||||
// Handles per-key configuration of Hold-on-Other-Key-Press
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) {
|
||||
switch (keycode) {
|
||||
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@@ -17,5 +17,5 @@
|
||||
#pragma once
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
#define PERMISSIVE_HOLD_PER_KEY
|
||||
|
@@ -133,18 +133,18 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
}
|
||||
|
||||
/*
|
||||
* Enable `IGNORE_MOD_TAP_INTERRUPT` for all modifiers except `Shift`.
|
||||
* For more info see `IGNORE_MOD_TAP_INTERRUPT_PER_KEY` in `docs/tap_hold.md`.
|
||||
* Enable `HOLD_ON_OTHER_KEY_PRESS` only for `Shift`.
|
||||
* For more info see `HOLD_ON_OTHER_KEY_PRESS_PER_KEY` in `docs/tap_hold.md`.
|
||||
*/
|
||||
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case S_EQL:
|
||||
return false;
|
||||
case S_MINS:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
case S_MINS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user