Commit 208d957806f5555809c1e511a587211d50c13b70

Daniel Stone 2012-05-25T17:58:32

Fix signed vs. unsigned confusion in actions Some actions could also take relative rather than absolute parameters, so they really needed to be signed instead of explicitly unsigned. Oops. Fixes, e.g., action= MovePtr(x=-1,y=+1), which was reported as (x=+65535,y=+1). Signed-off-by: Daniel Stone <daniel@fooishbar.org>

diff --git a/src/xkb-priv.h b/src/xkb-priv.h
index e8838d3..c52a96e 100644
--- a/src/xkb-priv.h
+++ b/src/xkb-priv.h
@@ -168,23 +168,23 @@ struct xkb_device_valuator_action {
     uint8_t         device;
     uint8_t         v1_what;
     uint8_t         v1_index;
-    uint8_t         v1_value;
+    int8_t          v1_value;
     uint8_t         v2_what;
     uint8_t         v2_index;
-    uint8_t         v2_value;
+    int8_t          v2_value;
 };
 
 struct xkb_pointer_default_action {
     uint8_t         type;
     uint8_t         flags;
     uint8_t         affect;
-    uint8_t         value;
+    int8_t          value;
 };
 
 struct xkb_switch_screen_action {
     uint8_t         type;
     uint8_t         flags;
-    uint8_t         screen;
+    int8_t          screen;
 };
 
 struct xkb_redirect_key_action {
@@ -199,8 +199,8 @@ struct xkb_redirect_key_action {
 struct xkb_pointer_action {
     uint8_t	type;
     uint8_t	flags;
-    uint16_t	x;
-    uint16_t	y;
+    int16_t	x;
+    int16_t	y;
 };
 
 struct xkb_message_action {
@@ -213,7 +213,7 @@ struct xkb_pointer_button_action {
     uint8_t	type;
     uint8_t	flags;
     uint8_t	count;
-    uint8_t	button;
+    int8_t	button;
 };
 
 union xkb_action {