We don't actually handle the mask correctly. They're clipped and dropped
into the event but that's about it. I don't think we did since 1.4, let's
warn the user if this happens.

Signed-off-by: Peter Hutterer <[email protected]>
---
 dix/getevents.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/dix/getevents.c b/dix/getevents.c
index 8889213..a7624ef 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -916,6 +916,11 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr 
pDev, int type,
        (key_code < 8 || key_code > 255))
         return 0;
 
+    if (mask_in && valuator_mask_size(mask_in) > 1) {
+        ErrorF("[dix] the server does not handle valuator masks with "
+                "keyboard events. This is a bug. You may fix it.\n");
+    }
+
     num_events = 1;
 
     events = UpdateFromMaster(events, pDev, DEVCHANGE_KEYBOARD_EVENT, 
&num_events);
-- 
1.7.6

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to