소스 검색

[Docs] Correct logic of tap hold statement (#14992)

Co-authored-by: filterpaper <filterpaper@localhost>
Albert Y 3 년 전
부모
커밋
57f63e43d8
1개의 변경된 파일10개의 추가작업 그리고 13개의 파일을 삭제
  1. 10 13
      docs/mod_tap.md

+ 10 - 13
docs/mod_tap.md

@@ -83,32 +83,29 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 ### Changing hold function
 
-Likewise, the same custom code can also be used to intercept the hold function to send custom user key code. The following example uses `LT(0, kc)` (layer-tap key with no practical use because layer 0 is always active) to add cut, copy and paste function to X,C and V keys when they are held down:
+Likewise, similar custom code can also be used to intercept the hold function to send custom user key code. The following example uses `LT(0, kc)` (layer-tap key with no practical use because layer 0 is always active) to add cut, copy and paste function to X,C and V keys when they are held down:
 
 ```c
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     switch (keycode) {
         case LT(0,KC_X):
-            if (record->tap.count && record->event.pressed) {
-                return true;         // Return true for normal processing of tap keycode
-            } else if (record->event.pressed) {
+            if (!record->tap.count && record->event.pressed) {
                 tap_code16(C(KC_X)); // Intercept hold function to send Ctrl-X
+                return false;
             }
-            return false;
+            return true;             // Return true for normal processing of tap keycode
         case LT(0,KC_C):
-            if (record->tap.count && record->event.pressed) {
-                return true;         // Return true for normal processing of tap keycode
-            } else if (record->event.pressed) {
+            if (!record->tap.count && record->event.pressed) {
                 tap_code16(C(KC_C)); // Intercept hold function to send Ctrl-C
+                return false;
             }
-            return false;
+            return true;             // Return true for normal processing of tap keycode
         case LT(0,KC_V):
-            if (record->tap.count && record->event.pressed) {
-                return true;         // Return true for normal processing of tap keycode
-            } else if (record->event.pressed) {
+            if (!record->tap.count && record->event.pressed) {
                 tap_code16(C(KC_V)); // Intercept hold function to send Ctrl-V
+                return false;
             }
-            return false;
+            return true;             // Return true for normal processing of tap keycode
     }
     return true;
 }