aboutsummaryrefslogtreecommitdiff
path: root/quantum/process_keycode/process_haptic.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/process_keycode/process_haptic.c')
-rw-r--r--quantum/process_keycode/process_haptic.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/quantum/process_keycode/process_haptic.c b/quantum/process_keycode/process_haptic.c
index 64d455d00..85b2ffcdd 100644
--- a/quantum/process_keycode/process_haptic.c
+++ b/quantum/process_keycode/process_haptic.c
@@ -17,6 +17,7 @@
17#include "process_haptic.h" 17#include "process_haptic.h"
18#include "quantum_keycodes.h" 18#include "quantum_keycodes.h"
19#include "action_tapping.h" 19#include "action_tapping.h"
20#include "usb_device_state.h"
20 21
21__attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record) { 22__attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record) {
22 switch (keycode) { 23 switch (keycode) {
@@ -30,8 +31,9 @@ __attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t
30 case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: 31 case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
31 if (record->tap.count == 0) return false; 32 if (record->tap.count == 0) return false;
32 break; 33 break;
33 case KC_LCTRL ... KC_RGUI: 34 case KC_LEFT_CTRL ... KC_RIGHT_GUI:
34 case QK_MOMENTARY ... QK_MOMENTARY_MAX: 35 case QK_MOMENTARY ... QK_MOMENTARY_MAX:
36 case QK_LAYER_MOD ... QK_LAYER_MOD_MAX:
35#endif 37#endif
36#ifdef NO_HAPTIC_FN 38#ifdef NO_HAPTIC_FN
37 case KC_FN0 ... KC_FN31: 39 case KC_FN0 ... KC_FN31:
@@ -42,34 +44,34 @@ __attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t
42#ifdef NO_HAPTIC_PUNCTUATION 44#ifdef NO_HAPTIC_PUNCTUATION
43 case KC_ENTER: 45 case KC_ENTER:
44 case KC_ESCAPE: 46 case KC_ESCAPE:
45 case KC_BSPACE: 47 case KC_BACKSPACE:
46 case KC_SPACE: 48 case KC_SPACE:
47 case KC_MINUS: 49 case KC_MINUS:
48 case KC_EQUAL: 50 case KC_EQUAL:
49 case KC_LBRACKET: 51 case KC_LEFT_BRACKET:
50 case KC_RBRACKET: 52 case KC_RIGHT_BRACKET:
51 case KC_BSLASH: 53 case KC_BACKSLASH:
52 case KC_NONUS_HASH: 54 case KC_NONUS_HASH:
53 case KC_SCOLON: 55 case KC_SEMICOLON:
54 case KC_QUOTE: 56 case KC_QUOTE:
55 case KC_GRAVE: 57 case KC_GRAVE:
56 case KC_COMMA: 58 case KC_COMMA:
57 case KC_SLASH: 59 case KC_SLASH:
58 case KC_DOT: 60 case KC_DOT:
59 case KC_NONUS_BSLASH: 61 case KC_NONUS_BACKSLASH:
60#endif 62#endif
61#ifdef NO_HAPTIC_LOCKKEYS 63#ifdef NO_HAPTIC_LOCKKEYS
62 case KC_CAPSLOCK: 64 case KC_CAPS_LOCK:
63 case KC_SCROLLLOCK: 65 case KC_SCROLL_LOCK:
64 case KC_NUMLOCK: 66 case KC_NUM_LOCK:
65#endif 67#endif
66#ifdef NO_HAPTIC_NAV 68#ifdef NO_HAPTIC_NAV
67 case KC_PSCREEN: 69 case KC_PRINT_SCREEN:
68 case KC_PAUSE: 70 case KC_PAUSE:
69 case KC_INSERT: 71 case KC_INSERT:
70 case KC_DELETE: 72 case KC_DELETE:
71 case KC_PGDOWN: 73 case KC_PAGE_DOWN:
72 case KC_PGUP: 74 case KC_PAGE_UP:
73 case KC_LEFT: 75 case KC_LEFT:
74 case KC_UP: 76 case KC_UP:
75 case KC_RIGHT: 77 case KC_RIGHT:
@@ -130,7 +132,7 @@ bool process_haptic(uint16_t keycode, keyrecord_t *record) {
130 } 132 }
131 } 133 }
132 134
133 if (haptic_get_enable()) { 135 if (haptic_get_enable() && ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED))) {
134 if (record->event.pressed) { 136 if (record->event.pressed) {
135 // keypress 137 // keypress
136 if (haptic_get_feedback() < 2 && get_haptic_enabled_key(keycode, record)) { 138 if (haptic_get_feedback() < 2 && get_haptic_enabled_key(keycode, record)) {