X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tmk_core%2Fprotocol%2Fps2_mouse.c;h=cf1055eb802c30f3f434df6ba55aeb50c8c466b2;hb=3b525dcf9c4a4dba34ee3596c90de60691b67b27;hp=4ed3cae1fd0d859fa48f05513eaf3fc867596c5a;hpb=ec3e684123c5abf22fd8d397786adbd978bbfcdb;p=qmk_firmware.git diff --git a/tmk_core/protocol/ps2_mouse.c b/tmk_core/protocol/ps2_mouse.c index 4ed3cae1f..cf1055eb8 100644 --- a/tmk_core/protocol/ps2_mouse.c +++ b/tmk_core/protocol/ps2_mouse.c @@ -169,8 +169,14 @@ static inline void ps2_mouse_convert_report_to_hid(report_mouse_t *mouse_report) // remove sign and overflow flags mouse_report->buttons &= PS2_MOUSE_BTN_MASK; +#ifdef PS2_MOUSE_INVERT_X + mouse_report->x = -mouse_report->x; +#endif +#ifndef PS2_MOUSE_INVERT_Y // NOTE if not! // invert coordinate of y to conform to USB HID mouse mouse_report->y = -mouse_report->y; +#endif + } static inline void ps2_mouse_clear_report(report_mouse_t *mouse_report) { @@ -227,6 +233,12 @@ static inline void ps2_mouse_scroll_button_task(report_mouse_t *mouse_report) { mouse_report->h = mouse_report->x/(PS2_MOUSE_SCROLL_DIVISOR_H); mouse_report->x = 0; mouse_report->y = 0; +#ifdef PS2_MOUSE_INVERT_H + mouse_report->h = -mouse_report->h; +#endif +#ifdef PS2_MOUSE_INVERT_V + mouse_report->v = -mouse_report->v; +#endif } } else if (0 == (PS2_MOUSE_SCROLL_BTN_MASK & mouse_report->buttons)) { // None of the scroll buttons are pressed