aboutsummaryrefslogtreecommitdiff
path: root/users/drashna/pointing/pointing.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/drashna/pointing/pointing.c')
-rw-r--r--users/drashna/pointing/pointing.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/users/drashna/pointing/pointing.c b/users/drashna/pointing/pointing.c
index 0116ce090..0dcfe73f3 100644
--- a/users/drashna/pointing/pointing.c
+++ b/users/drashna/pointing/pointing.c
@@ -42,19 +42,15 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
42 layer_on(_MOUSE); 42 layer_on(_MOUSE);
43 } 43 }
44 } 44 }
45 } 45 } else if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) {
46 return pointing_device_task_keymap(mouse_report);
47}
48
49void matrix_scan_pointing(void) {
50 if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) {
51 layer_off(_MOUSE); 46 layer_off(_MOUSE);
52 } 47 } else if (tap_toggling) {
53 if (tap_toggling) {
54 if (!layer_state_is(_MOUSE)) { 48 if (!layer_state_is(_MOUSE)) {
55 layer_on(_MOUSE); 49 layer_on(_MOUSE);
56 } 50 }
57 } 51 }
52
53 return pointing_device_task_keymap(mouse_report);
58} 54}
59 55
60bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { 56bool process_record_pointing(uint16_t keycode, keyrecord_t* record) {
@@ -86,7 +82,7 @@ bool process_record_pointing(uint16_t keycode, keyrecord_t* record) {
86 case MO(_MOUSE): 82 case MO(_MOUSE):
87#if defined(KEYBOARD_ploopy) || defined(KEYBOARD_handwired_tractyl_manuform) 83#if defined(KEYBOARD_ploopy) || defined(KEYBOARD_handwired_tractyl_manuform)
88 case DPI_CONFIG: 84 case DPI_CONFIG:
89#elif defined(KEYBOARD_bastardkb_charybdis) 85#elif defined(KEYBOARD_bastardkb_charybdis) && !defined(NO_CHARYBDIS_KEYCODES)
90 case SAFE_RANGE ... (CHARYBDIS_SAFE_RANGE-1): 86 case SAFE_RANGE ... (CHARYBDIS_SAFE_RANGE-1):
91#endif 87#endif
92 case KC_MS_UP ... KC_MS_WH_RIGHT: 88 case KC_MS_UP ... KC_MS_WH_RIGHT:
@@ -98,6 +94,12 @@ bool process_record_pointing(uint16_t keycode, keyrecord_t* record) {
98 record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; 94 record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--;
99 mouse_timer = timer_read(); 95 mouse_timer = timer_read();
100 break; 96 break;
97 case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX:
98 break;
99 case QK_MOD_TAP ... QK_MOD_TAP_MAX:
100 if (record->event.pressed || !record->tap.count) {
101 break;
102 }
101 default: 103 default:
102 if (IS_NOEVENT(record->event)) break; 104 if (IS_NOEVENT(record->event)) break;
103 if ((keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) && (((keycode >> 0x8) & 0xF) == _MOUSE)) { 105 if ((keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) && (((keycode >> 0x8) & 0xF) == _MOUSE)) {