From 07c75feba3f2c0b4baf1c230750483004e502020 Mon Sep 17 00:00:00 2001 From: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Thu, 9 Apr 2020 18:29:27 +1000 Subject: Add PS2_MOUSE_ROTATE to compensate for device orientation (#8650) * Add PS2_MOUSE_ROTATE to compensate for device orientation * fixup! Add PS2_MOUSE_ROTATE to compensate for device orientation * Reformat with IndentPPDirectives: AfterHash as per #6316 --- tmk_core/protocol/ps2_mouse.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tmk_core') diff --git a/tmk_core/protocol/ps2_mouse.c b/tmk_core/protocol/ps2_mouse.c index aa3a307ebf..a0e52bc7c3 100644 --- a/tmk_core/protocol/ps2_mouse.c +++ b/tmk_core/protocol/ps2_mouse.c @@ -157,6 +157,21 @@ static inline void ps2_mouse_convert_report_to_hid(report_mouse_t *mouse_report) // invert coordinate of y to conform to USB HID mouse mouse_report->y = -mouse_report->y; #endif + +#ifdef PS2_MOUSE_ROTATE + int8_t x = mouse_report->x; + int8_t y = mouse_report->y; +# if PS2_MOUSE_ROTATE == 90 + mouse_report->x = y; + mouse_report->y = -x; +# elif PS2_MOUSE_ROTATE == 180 + mouse_report->x = -x; + mouse_report->y = -y; +# elif PS2_MOUSE_ROTATE == 270 + mouse_report->x = -y; + mouse_report->y = x; +# endif +#endif } static inline void ps2_mouse_clear_report(report_mouse_t *mouse_report) { -- cgit v1.2.3