summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2022-09-26 20:49:32 -0700
committerGitHub <noreply@github.com>2022-09-26 20:49:32 -0700
commitfb400f2ac2c57fa0fc82ca803f6450b818bb32f9 (patch)
tree0f9939fc9404fc2104c0c664c6a2ea0c90276558
parentd909038b28c553f5eb0ecec74f58792155c4d49d (diff)
Enabling Pointing Device support in register code functions (#18363)
-rw-r--r--keyboards/bastardkb/charybdis/charybdis.c10
-rw-r--r--keyboards/handwired/tractyl_manuform/tractyl_manuform.c10
-rw-r--r--keyboards/ploopyco/mouse/mouse.c15
-rw-r--r--keyboards/ploopyco/trackball/trackball.c8
-rw-r--r--keyboards/ploopyco/trackball_mini/trackball_mini.c14
-rw-r--r--quantum/action.c8
-rw-r--r--quantum/pointing_device/pointing_device.c8
-rw-r--r--quantum/pointing_device/pointing_device.h1
8 files changed, 17 insertions, 57 deletions
diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c
index 60bca936e7..2000641f9a 100644
--- a/keyboards/bastardkb/charybdis/charybdis.c
+++ b/keyboards/bastardkb/charybdis/charybdis.c
@@ -303,16 +303,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
break;
}
# endif // !NO_CHARYBDIS_KEYCODES
-# ifndef MOUSEKEY_ENABLE
- // Simulate mouse keys if full support is not enabled (reduces firmware size
- // while maintaining support for mouse keys).
- if (IS_MOUSEKEY_BUTTON(keycode)) {
- report_mouse_t mouse_report = pointing_device_get_report();
- mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, record->event.pressed, keycode - KC_MS_BTN1);
- pointing_device_set_report(mouse_report);
- pointing_device_send();
- }
-# endif // !MOUSEKEY_ENABLE
# endif // POINTING_DEVICE_ENABLE
if ((keycode >= POINTER_DEFAULT_DPI_FORWARD && keycode < CHARYBDIS_SAFE_RANGE) || IS_MOUSEKEY(keycode)) {
debug_charybdis_config_to_console(&g_charybdis_config);
diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
index d3e2e02975..7ded835a6e 100644
--- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
+++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
@@ -308,16 +308,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
break;
}
# endif // !NO_CHARYBDIS_KEYCODES
-# ifndef MOUSEKEY_ENABLE
- // Simulate mouse keys if full support is not enabled (reduces firmware size
- // while maintaining support for mouse keys).
- if (IS_MOUSEKEY_BUTTON(keycode)) {
- report_mouse_t mouse_report = pointing_device_get_report();
- mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, record->event.pressed, keycode - KC_MS_BTN1);
- pointing_device_set_report(mouse_report);
- pointing_device_send();
- }
-# endif // !MOUSEKEY_ENABLE
return true;
}
diff --git a/keyboards/ploopyco/mouse/mouse.c b/keyboards/ploopyco/mouse/mouse.c
index abcaa276d9..72535bf546 100644
--- a/keyboards/ploopyco/mouse/mouse.c
+++ b/keyboards/ploopyco/mouse/mouse.c
@@ -167,21 +167,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
#endif
}
-/* If Mousekeys is disabled, then use handle the mouse button
- * keycodes. This makes things simpler, and allows usage of
- * the keycodes in a consistent manner. But only do this if
- * Mousekeys is not enable, so it's not handled twice.
- */
-#ifndef MOUSEKEY_ENABLE
- if (IS_MOUSEKEY_BUTTON(keycode)) {
- report_mouse_t currentReport = pointing_device_get_report();
- currentReport.buttons = pointing_device_handle_buttons(currentReport.buttons, record->event.pressed, keycode - KC_MS_BTN1);
- pointing_device_set_report(currentReport);
- pointing_device_send();
- }
-
-#endif
-
return true;
}
diff --git a/keyboards/ploopyco/trackball/trackball.c b/keyboards/ploopyco/trackball/trackball.c
index c96bf15cba..6dbb73e8f8 100644
--- a/keyboards/ploopyco/trackball/trackball.c
+++ b/keyboards/ploopyco/trackball/trackball.c
@@ -178,14 +178,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
* the keycodes in a consistent manner. But only do this if
* Mousekeys is not enable, so it's not handled twice.
*/
-#ifndef MOUSEKEY_ENABLE
- if (IS_MOUSEKEY_BUTTON(keycode)) {
- report_mouse_t currentReport = pointing_device_get_report();
- currentReport.buttons = pointing_device_handle_buttons(currentReport.buttons, record->event.pressed, keycode - KC_MS_BTN1);
- pointing_device_set_report(currentReport);
- pointing_device_send();
- }
-#endif
return true;
}
diff --git a/keyboards/ploopyco/trackball_mini/trackball_mini.c b/keyboards/ploopyco/trackball_mini/trackball_mini.c
index dc3708fd51..1e8212814c 100644
--- a/keyboards/ploopyco/trackball_mini/trackball_mini.c
+++ b/keyboards/ploopyco/trackball_mini/trackball_mini.c
@@ -169,20 +169,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
pointing_device_set_cpi(is_drag_scroll ? PLOOPY_DRAGSCROLL_DPI : dpi_array[keyboard_config.dpi_config]);
}
-/* If Mousekeys is disabled, then use handle the mouse button
- * keycodes. This makes things simpler, and allows usage of
- * the keycodes in a consistent manner. But only do this if
- * Mousekeys is not enable, so it's not handled twice.
- */
-#ifndef MOUSEKEY_ENABLE
- if (IS_MOUSEKEY_BUTTON(keycode)) {
- report_mouse_t currentReport = pointing_device_get_report();
- currentReport.buttons = pointing_device_handle_buttons(currentReport.buttons, record->event.pressed, keycode - KC_MS_BTN1);
- pointing_device_set_report(currentReport);
- pointing_device_send();
- }
-#endif
-
return true;
}
diff --git a/quantum/action.c b/quantum/action.c
index a1476131b9..4f01acb96e 100644
--- a/quantum/action.c
+++ b/quantum/action.c
@@ -918,6 +918,10 @@ __attribute__((weak)) void register_code(uint8_t code) {
mousekey_on(code);
mousekey_send();
}
+#elif defined(POINTING_DEVICE_ENABLE)
+ else if IS_MOUSEKEY (code) {
+ pointing_device_keycode_handler(code, true);
+ }
#endif
}
@@ -978,6 +982,10 @@ __attribute__((weak)) void unregister_code(uint8_t code) {
mousekey_off(code);
mousekey_send();
}
+#elif defined(POINTING_DEVICE_ENABLE)
+ else if IS_MOUSEKEY (code) {
+ pointing_device_keycode_handler(code, false);
+ }
#endif
}
diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c
index 6981f850d0..75bb5f81fc 100644
--- a/quantum/pointing_device/pointing_device.c
+++ b/quantum/pointing_device/pointing_device.c
@@ -22,6 +22,7 @@
#ifdef MOUSEKEY_ENABLE
# include "mousekey.h"
#endif
+
#if (defined(POINTING_DEVICE_ROTATION_90) + defined(POINTING_DEVICE_ROTATION_180) + defined(POINTING_DEVICE_ROTATION_270)) > 1
# error More than one rotation selected. This is not supported.
#endif
@@ -479,3 +480,10 @@ __attribute__((weak)) report_mouse_t pointing_device_task_combined_user(report_m
return pointing_device_combine_reports(left_report, right_report);
}
#endif
+
+__attribute__((weak)) void pointing_device_keycode_handler(uint16_t keycode, bool pressed) {
+ if IS_MOUSEKEY_BUTTON (keycode) {
+ local_mouse_report.buttons = pointing_device_handle_buttons(local_mouse_report.buttons, pressed, keycode - KC_MS_BTN1);
+ pointing_device_send();
+ }
+}
diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h
index 27a3f95e32..d430e6cfa4 100644
--- a/quantum/pointing_device/pointing_device.h
+++ b/quantum/pointing_device/pointing_device.h
@@ -110,6 +110,7 @@ report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report);
report_mouse_t pointing_device_task_user(report_mouse_t mouse_report);
uint8_t pointing_device_handle_buttons(uint8_t buttons, bool pressed, pointing_device_buttons_t button);
report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report);
+void pointing_device_keycode_handler(uint16_t keycode, bool pressed);
#if defined(SPLIT_POINTING_ENABLE)
void pointing_device_set_shared_report(report_mouse_t report);