diff options
Diffstat (limited to 'tmk_core/protocol')
| -rw-r--r-- | tmk_core/protocol/ps2_mouse.c | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/tmk_core/protocol/ps2_mouse.c b/tmk_core/protocol/ps2_mouse.c index aa3a307eb..a0e52bc7c 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) { | 
