diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-06-23 21:01:27 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-06-23 21:02:33 +1000 |
commit | 2367e52404761ab14e0f908432f736cfc0813f8b (patch) | |
tree | 8017394f07e7a4db8a48611955bce40741d21a8e | |
parent | 3f0067b45e66ef8db785b67a36f015fd4e6a9f6c (diff) |
Add effective group and modifiers to XIGroupInfo/XIModifierInfo.
Effective modifiers are easy to calculate but let's send them down the wire
nonetheless. Effective group is slightly more complicated since group
wrapping must be taken into account - sending it down the wire simplifies
clients.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | XI2proto.h | 5 | ||||
-rw-r--r-- | XI2proto.txt | 6 |
2 files changed, 7 insertions, 4 deletions
@@ -236,6 +236,7 @@ typedef struct uint32_t base_mods; /**< Logically pressed modifiers */ uint32_t latched_mods; /**< Logically latched modifiers */ uint32_t locked_mods; /**< Logically locked modifiers */ + uint32_t effective_mods; /**< Effective modifiers */ } xXIModifierInfo; /** @@ -248,7 +249,7 @@ typedef struct uint8_t base_group; /**< Logically "pressed" group */ uint8_t latched_group; /**< Logically latched group */ uint8_t locked_group; /**< Logically locked group */ - uint8_t pad0; + uint8_t effective_group; /**< Effective group */ } xXIGroupInfo; @@ -393,7 +394,7 @@ typedef struct { xXIModifierInfo mods; xXIGroupInfo group; } xXIQueryPointerReply; -#define sz_xXIQueryPointerReply 52 +#define sz_xXIQueryPointerReply 56 /** * @struct xXIWarpPointerReq diff --git a/XI2proto.txt b/XI2proto.txt index f69eeb1..a776849 100644 --- a/XI2proto.txt +++ b/XI2proto.txt @@ -1400,10 +1400,12 @@ EVENTHEADER { type: BYTE MODIFIERINFO { base_mods: CARD32, latched_mods: CARD32, - locked_mods: CARD32} + locked_mods: CARD32, + effective_mods: CARD32} GROUPINFO { base_group: CARD8, latched_group: CARD8, - locked_group: CARD8 } + locked_group: CARD8, + effective_group: CARD8} An XIDeviceEvent is generated whenever the logical state of a device changes in response to a button press, a button release, a motion, a key |