summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-02-27 20:28:15 +1100
committerGitHub <noreply@github.com>2023-02-27 20:28:15 +1100
commitb865b9e1706ad28ae4882bd2e0331e98808295fa (patch)
treed4e3e57aac1a829a191831efd2e62c8a43217885 /docs
parent1d182995ed71ba6d014a6e3360ef39e5d33cfbfb (diff)
Add changelog for Leader Key refactor (#19953)
Diffstat (limited to 'docs')
-rw-r--r--docs/ChangeLog/20230226.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/ChangeLog/20230226.md b/docs/ChangeLog/20230226.md
index f16371b99f..df5095ac7b 100644
--- a/docs/ChangeLog/20230226.md
+++ b/docs/ChangeLog/20230226.md
@@ -82,6 +82,31 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
For more details, please read the updated documentation section on [Quick Tap Term](tap_hold.md#quick-tap-term).
+### Leader Key Rework :id=leader-key-rework ([#19632](https://github.com/qmk/qmk_firmware/pull/19632))
+
+The Leader Key feature API has been significantly improved, along with some bugfixes and added tests.
+
+Instead of defining your leader sequences in `matrix_scan_user()`, they are now handled in the `leader_end_user()` callback, and the `LEADER_EXTERNS()`/`LEADER_DICTIONARY()` macros are no longer needed:
+
+```c
+void leader_end_user(void) {
+ if (leader_sequence_one_key(KC_F)) {
+ // Leader, f => Types the below string
+ SEND_STRING("QMK is awesome.");
+ } else if (leader_sequence_two_keys(KC_D, KC_D)) {
+ // Leader, d, d => Ctrl+A, Ctrl+C
+ SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
+ } else if (leader_sequence_three_keys(KC_D, KC_D, KC_S)) {
+ // Leader, d, d, s => Types the below string
+ SEND_STRING("https://start.duckduckgo.com\n");
+ } else if (leader_sequence_two_keys(KC_A, KC_S)) {
+ // Leader, a, s => GUI+S
+ tap_code16(LGUI(KC_S));
+ }
+}
+```
+
+For more information please see the [Leader Key documentation](feature_leader_key.md).
### Updated Keyboard Codebases :id=updated-keyboard-codebases