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
