~ruther/qmk_firmware

3b9e186019f74d5046fbdd399b5cfa0baf513a75 — precondition 3 years ago 0e60b3a
Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674)

M docs/config_options.md => docs/config_options.md +1 -1
@@ 141,7 141,7 @@ If you define these options you will enable the associated feature, which may in
## Behaviors That Can Be Configured

* `#define TAPPING_TERM 200`
  * how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
  * how long before a key press becomes a hold
* `#define TAPPING_TERM_PER_KEY`
  * enables handling for per key `TAPPING_TERM` settings
* `#define RETRO_TAPPING`

M docs/ja/config_options.md => docs/ja/config_options.md +1 -1
@@ 144,7 144,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
## 設定可能な挙動 :id=behaviors-that-can-be-configured

* `#define TAPPING_TERM 200`
  * タップがホールドになるまでの時間。500以上に設定された場合、タップ期間中にタップされたキーもホールドになります。(訳注: PERMISSIVE_HOLDも参照)
  * タップがホールドになるまでの時間。
* `#define TAPPING_TERM_PER_KEY`
  * キーごとの `TAPPING_TERM` 設定の処理を有効にします
* `#define RETRO_TAPPING`

M keyboards/1k/keymaps/tap_dance/config.h => keyboards/1k/keymaps/tap_dance/config.h +1 -0
@@ 4,3 4,4 @@
#pragma once

#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

M keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h => keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h +2 -1
@@ 3,6 3,7 @@
/* tap dance stuff*/
#undef TAPPING_TERM
#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

#define TAPPING_TOGGLE 2



@@ 12,4 13,4 @@
#define EXAMPLESTRING4 "tapdance_4"

#undef RGBLED_NUM
#define RGBLED_NUM 16
\ No newline at end of file
#define RGBLED_NUM 16

M keyboards/flehrad/bigswitch/keymaps/333fred/config.h => keyboards/flehrad/bigswitch/keymaps/333fred/config.h +1 -0
@@ 24,3 24,4 @@

// Long tapping term on the big switch, because it takes so long to press
#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

M keyboards/handwired/ergocheap/config.h => keyboards/handwired/ergocheap/config.h +1 -0
@@ 47,6 47,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE   5
#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

/*
 * Feature disable options

M keyboards/handwired/onekey/config.h => keyboards/handwired/onekey/config.h +1 -0
@@ 42,6 42,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE

#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

/*
 * Feature disable options

M keyboards/handwired/uthol/rev3/config.h => keyboards/handwired/uthol/rev3/config.h +1 -0
@@ 57,6 57,7 @@
#define LOCKING_RESYNC_ENABLE

#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

// RGB Stuff
#define RGB_DI_PIN B0

M keyboards/helix/pico/keymaps/mtei/config.h => keyboards/helix/pico/keymaps/mtei/config.h +0 -2
@@ 13,8 13,6 @@
#undef TAPPING_TERM
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
   see tmk_core/common/action_tapping.c */

// If you need more program area, try select and reduce rgblight modes to use.


M keyboards/helix/rev2/keymaps/five_rows/config.h => keyboards/helix/rev2/keymaps/five_rows/config.h +0 -2
@@ 6,8 6,6 @@
#undef TAPPING_TERM
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
   see tmk_core/common/action_tapping.c */

#undef OLED_UPDATE_INTERVAL
#ifdef DEBUG_MATRIX_SCAN_RATE

M keyboards/helix/rev3_5rows/keymaps/five_rows/config.h => keyboards/helix/rev3_5rows/keymaps/five_rows/config.h +0 -2
@@ 6,8 6,6 @@
#undef TAPPING_TERM
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
   see tmk_core/common/action_tapping.c */

#undef OLED_UPDATE_INTERVAL
#ifdef DEBUG_MATRIX_SCAN_RATE

M keyboards/idobao/id67/keymaps/thewerther/config.h => keyboards/idobao/id67/keymaps/thewerther/config.h +1 -0
@@ 18,6 18,7 @@

#define DRIVER_LED_UNDERGLOW 10
#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

#if defined(RGB_MATRIX_ENABLE)
    #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS

M keyboards/thevankeyboards/minivan/keymaps/belak/config.h => keyboards/thevankeyboards/minivan/keymaps/belak/config.h +1 -0
@@ 4,5 4,6 @@
#include "../../config.h"

#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

#endif

M keyboards/thevankeyboards/minivan/keymaps/halvves/config.h => keyboards/thevankeyboards/minivan/keymaps/halvves/config.h +1 -0
@@ 1,6 1,7 @@
#pragma once

#define TAPPING_TERM 505
#define PERMISSIVE_HOLD
#define RETRO_TAPPING

// smooth mousekeys (copied from the ergo ez config)

M keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h => keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h +1 -0
@@ 19,5 19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define CONFIG_USER_H

#define TAPPING_TERM 1000
#define PERMISSIVE_HOLD

#endif

M keyboards/xiudi/xd002/keymaps/tap_dance/config.h => keyboards/xiudi/xd002/keymaps/tap_dance/config.h +1 -0
@@ 1,3 1,4 @@
#pragma once

#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

M keyboards/zfrontier/big_switch/config.h => keyboards/zfrontier/big_switch/config.h +1 -0
@@ 51,3 51,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* long tapping config */
#define TAPPING_TERM 500
#define PERMISSIVE_HOLD

M layouts/community/66_ansi/xyverz/config.h => layouts/community/66_ansi/xyverz/config.h +1 -0
@@ 1,5 1,6 @@
#pragma once

#define TAPPING_TERM 600 // ms
#define PERMISSIVE_HOLD
#undef RGBLIGHT_HUE_STEP
#define RGBLIGHT_HUE_STEP 8

M layouts/community/ergodox/adam/config.h => layouts/community/ergodox/adam/config.h +1 -1
@@ 1,5 1,5 @@
#pragma once

#undef TAPPING_TERM
#define TAPPING_TERM 300 //At 500 some bad logic takes hold
#define TAPPING_TERM 300
#define IGNORE_MOD_TAP_INTERRUPT

M quantum/action_tapping.c => quantum/action_tapping.c +5 -7
@@ 125,7 125,7 @@ void action_tapping_process(keyrecord_t record) {
/* return true when key event is processed or consumed. */
bool process_tapping(keyrecord_t *keyp) {
    keyevent_t event = keyp->event;
#    if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(TAPPING_TERM_PER_KEY) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(TAPPING_FORCE_HOLD_PER_KEY) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY)
#    if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(TAPPING_FORCE_HOLD_PER_KEY) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY)
    uint16_t tapping_keycode = get_record_keycode(&tapping_key, false);
#    endif



@@ 164,17 164,15 @@ bool process_tapping(keyrecord_t *keyp) {
                 * useful for long TAPPING_TERM but may prevent fast typing.
                 */
                // clang-format off
#    if defined(TAPPING_TERM_PER_KEY) || (TAPPING_TERM >= 500) || defined(PERMISSIVE_HOLD) || defined(PERMISSIVE_HOLD_PER_KEY) || (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT))
#    if defined(PERMISSIVE_HOLD) || defined(PERMISSIVE_HOLD_PER_KEY) || (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT))
                else if (
                    (
                        (
                            GET_TAPPING_TERM(tapping_keycode, &tapping_key) >= 500
                        IS_RELEASED(event) && waiting_buffer_typed(event)
#        ifdef PERMISSIVE_HOLD_PER_KEY
                            || get_permissive_hold(tapping_keycode, &tapping_key)
                            && get_permissive_hold(tapping_keycode, &tapping_key)
#        elif defined(PERMISSIVE_HOLD)
                            || true
                            && true
#        endif
                        ) && IS_RELEASED(event) && waiting_buffer_typed(event)
                    )
                    // Causes nested taps to not wait past TAPPING_TERM/RETRO_SHIFT
                    // unnecessarily and fixes them for Layer Taps.

M users/hvp/config.h => users/hvp/config.h +2 -1
@@ 15,4 15,5 @@
  */ 
#pragma once

#define LONG_TAPPING_TERM 1000
\ No newline at end of file
#define LONG_TAPPING_TERM 1000
#define PERMISSIVE_HOLD