]> git.donarmstrong.com Git - tmk_firmware.git/commitdiff
serial_mouse: simplified clipping of X/Y/V/H changes below -127 using a MAX macro
authorRobin Haberkorn <robin.haberkorn@googlemail.com>
Sun, 27 Jul 2014 15:26:44 +0000 (17:26 +0200)
committerRobin Haberkorn <robin.haberkorn@googlemail.com>
Sun, 27 Jul 2014 15:38:32 +0000 (17:38 +0200)
protocol/serial_mouse_microsoft.c
protocol/serial_mouse_mousesystems.c

index f83036a317591333572438872efdb3491b4ef106..54fedae778faed17ffa487f384c06a7e8ea9685e 100644 (file)
@@ -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) {
index 36c67386f7e090bccbf09d2843d3e89638449850..c4ddbb84520ded4ad64ea787f74e30a47ce77816 100644 (file)
@@ -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);