|
|
@ -0,0 +1,31 @@ |
|
|
|
`TAPPING_FORCE_HOLD` feature is now replaced by `QUICK_TAP_TERM`. Instead of turning off auto-repeat completely, user will have the option to configure a `QUICK_TAP_TERM` in milliseconds. When the user holds a tap-hold key after tapping it within `QUICK_TAP_TERM`, QMK will send the tap keycode to the host, enabling auto-repeat. |
|
|
|
|
|
|
|
Its value is set to `TAPPING_TERM` by default and it can be reduced to match typing habits to avoid false triggers. To disable auto-repeat completely, set `QUICK_TAP_TERM` to zero. |
|
|
|
|
|
|
|
`TAPPING_FORCE_HOLD_PER_KEY` is also deprecated and replaced by `QUICK_TAP_TERM_PER_KEY`. The old granular control function for tapping force hold is: |
|
|
|
|
|
|
|
```c |
|
|
|
bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { |
|
|
|
switch (keycode) { |
|
|
|
case LT(1, KC_BSPC): |
|
|
|
return true; |
|
|
|
default: |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
``` |
|
|
|
|
|
|
|
That function can be replaced with: |
|
|
|
|
|
|
|
```c |
|
|
|
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { |
|
|
|
switch (keycode) { |
|
|
|
case SFT_T(KC_SPC): |
|
|
|
return 0; |
|
|
|
default: |
|
|
|
return QUICK_TAP_TERM; |
|
|
|
} |
|
|
|
} |
|
|
|
``` |
|
|
|
|
|
|
|
For more details, please read the updated documentation section on [Quick Tap Term](tap_hold.md#quick-tap-term). |