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>
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 {
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 {
uint8_t type;
uint8_t flags;
uint8_t count;
- uint8_t button;
+ int8_t button;
};
union xkb_action {