diff options
Diffstat (limited to 'protocol')
| -rw-r--r-- | protocol/serial_mouse_microsoft.c | 9 | ||||
| -rw-r--r-- | protocol/serial_mouse_mousesystems.c | 29 | 
2 files changed, 20 insertions, 18 deletions
diff --git a/protocol/serial_mouse_microsoft.c b/protocol/serial_mouse_microsoft.c index f83036a31..54fedae77 100644 --- a/protocol/serial_mouse_microsoft.c +++ b/protocol/serial_mouse_microsoft.c @@ -27,6 +27,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #include "print.h"  #include "debug.h" +#ifdef MAX +#undef MAX +#endif +#define MAX(X, Y) ((X) > (Y) ? (X) : (Y)) +  static void print_usb_data(const report_mouse_t *report);  void serial_mouse_task(void) @@ -91,8 +96,8 @@ void serial_mouse_task(void)      report.y = ((buffer[0] << 4) & 0xC0) | buffer[2];      /* USB HID uses values from -127 to 127 only */ -    report.x = report.x < -127 ? -127 : report.x; -    report.y = report.y < -127 ? -127 : report.y; +    report.x = MAX(report.x, -127); +    report.y = MAX(report.y, -127);  #if 0      if (!report.buttons && !report.x && !report.y) { diff --git a/protocol/serial_mouse_mousesystems.c b/protocol/serial_mouse_mousesystems.c index 36c67386f..c4ddbb845 100644 --- a/protocol/serial_mouse_mousesystems.c +++ b/protocol/serial_mouse_mousesystems.c @@ -27,6 +27,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #include "print.h"  #include "debug.h" +#ifdef MAX +#undef MAX +#endif +#define MAX(X, Y) ((X) > (Y) ? (X) : (Y)) +  //#define SERIAL_MOUSE_CENTER_SCROLL  static void print_usb_data(const report_mouse_t *report); @@ -67,20 +72,16 @@ void serial_mouse_task(void)  #ifdef SERIAL_MOUSE_CENTER_SCROLL      if ((buffer[0] & 0x7) == 0x5 && (buffer[1] || buffer[2])) { -        report.h = (int8_t)buffer[1];          /* USB HID uses only values from -127 to 127 */ -        report.h = report.h < -127 ? -127 : report.h; -        report.v = (int8_t)buffer[2]; -        report.v = report.v < -127 ? -127 : report.v; +        report.h = MAX((int8_t)buffer[1], -127); +        report.v = MAX((int8_t)buffer[2], -127);          print_usb_data(&report);          host_mouse_send(&report);          if (buffer[3] || buffer[4]) { -            report.h = (int8_t)buffer[3]; -            report.h = report.h < -127 ? -127 : report.h; -            report.v = (int8_t)buffer[4]; -            report.v = report.v < -127 ? -127 : report.v; +            report.h = MAX((int8_t)buffer[3], -127); +            report.v = MAX((int8_t)buffer[4], -127);              print_usb_data(&report);              host_mouse_send(&report); @@ -103,20 +104,16 @@ void serial_mouse_task(void)      if (!(buffer[0] & (1 << 0)))          report.buttons |= MOUSE_BTN2; -    report.x = (int8_t)buffer[1];      /* USB HID uses only values from -127 to 127 */ -    report.x = report.x < -127 ? -127 : report.x; -    report.y = -(int8_t)buffer[2]; -    report.y = report.y < -127 ? -127 : report.y; +    report.x = MAX((int8_t)buffer[1], -127); +    report.y = MAX(-(int8_t)buffer[2], -127);      print_usb_data(&report);      host_mouse_send(&report);      if (buffer[3] || buffer[4]) { -        report.x = (int8_t)buffer[3]; -        report.x = report.x < -127 ? -127 : report.x; -        report.y = -(int8_t)buffer[4]; -        report.y = report.y < -127 ? -127 : report.y; +        report.x = MAX((int8_t)buffer[3], -127); +        report.y = MAX(-(int8_t)buffer[4], -127);          print_usb_data(&report);          host_mouse_send(&report);  | 
