From c6d0aa6ae42bc298c821dbbbd80df1c6905931d5 Mon Sep 17 00:00:00 2001
From: Albert Y <76888457+filterpaper@users.noreply.github.com>
Date: Thu, 15 Dec 2022 19:29:26 +0800
Subject: [PATCH] Add change log for quick tap term (#19341)

---
 docs/ChangeLog/20230226/PR17007.md | 31 ++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 docs/ChangeLog/20230226/PR17007.md

diff --git a/docs/ChangeLog/20230226/PR17007.md b/docs/ChangeLog/20230226/PR17007.md
new file mode 100644
index 0000000000..bea04994b5
--- /dev/null
+++ b/docs/ChangeLog/20230226/PR17007.md
@@ -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).