summary refs log tree commit diff
path: root/quantum/encoder.c
diff options
context:
space:
mode:
authorjack <0x6A73@pm.me>2023-04-03 10:18:17 -0600
committerGitHub <noreply@github.com>2023-04-03 10:18:17 -0600
commit36ab0c0aaa613fe0946e10133315b071c0d87012 (patch)
treeac87fe394264e2b265ad3db376bb88a91d084898 /quantum/encoder.c
parent7e48a4e80f4c3975cf0aae68986c7ead2576dcf3 (diff)
Add core/fallback encoder behaviour (#20320)
Diffstat (limited to 'quantum/encoder.c')
-rw-r--r--quantum/encoder.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/quantum/encoder.c b/quantum/encoder.c
index 8053913e8d..1046fe6cc3 100644
--- a/quantum/encoder.c
+++ b/quantum/encoder.c
@@ -77,7 +77,29 @@ __attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) {
 }
 
 __attribute__((weak)) bool encoder_update_kb(uint8_t index, bool clockwise) {
-    return encoder_update_user(index, clockwise);
+    bool res = encoder_update_user(index, clockwise);
+#if !defined(ENCODER_TESTS)
+    if (res) {
+        if (clockwise) {
+#    if defined(EXTRAKEY_ENABLE)
+            tap_code_delay(KC_VOLU, 10);
+#    elif defined(MOUSEKEY_ENABLE)
+            tap_code_delay(KC_MS_WH_UP, 10);
+#    else
+            tap_code_delay(KC_PGDN, 10);
+#    endif
+        } else {
+#    if defined(EXTRAKEY_ENABLE)
+            tap_code_delay(KC_VOLD, 10);
+#    elif defined(MOUSEKEY_ENABLE)
+            tap_code_delay(KC_MS_WH_DOWN, 10);
+#    else
+            tap_code_delay(KC_PGUP, 10);
+#    endif
+        }
+    }
+#endif // ENCODER_TESTS
+    return res;
 }
 
 __attribute__((weak)) bool should_process_encoder(void) {