mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 00:50:42 -05:00
xi2: Workaround some bugs in XI2 passive grabs
XIAllMasterDevices doesn't quite work for key grabs, so only do this at the moment for the Virtual Core Keyboard
This commit is contained in:
parent
d482dbcd16
commit
f15993f940
@ -49,9 +49,12 @@ meta_device_map_xi2_grab_key (MetaDeviceMap *device_map,
|
|||||||
mask.mask = meta_device_xi2_translate_event_mask (KeyPressMask |
|
mask.mask = meta_device_xi2_translate_event_mask (KeyPressMask |
|
||||||
KeyReleaseMask,
|
KeyReleaseMask,
|
||||||
&mask.mask_len);
|
&mask.mask_len);
|
||||||
|
/* FIXME: Doesn't seem to work with
|
||||||
|
* XIAllMasterDevices, use the VCK
|
||||||
|
* at the moment
|
||||||
|
*/
|
||||||
retval = XIGrabKeycode (display->xdisplay,
|
retval = XIGrabKeycode (display->xdisplay,
|
||||||
XIAllMasterDevices,
|
META_CORE_KEYBOARD_ID,
|
||||||
keycode, xwindow,
|
keycode, xwindow,
|
||||||
(sync) ? GrabModeSync : GrabModeAsync,
|
(sync) ? GrabModeSync : GrabModeAsync,
|
||||||
GrabModeAsync, /* Never care about the other device */
|
GrabModeAsync, /* Never care about the other device */
|
||||||
@ -71,7 +74,7 @@ meta_device_map_xi2_ungrab_key (MetaDeviceMap *device_map,
|
|||||||
|
|
||||||
display = meta_device_map_get_display (device_map);
|
display = meta_device_map_get_display (device_map);
|
||||||
XIUngrabKeycode (display->xdisplay,
|
XIUngrabKeycode (display->xdisplay,
|
||||||
XIAllMasterDevices,
|
META_CORE_KEYBOARD_ID,
|
||||||
keycode, xwindow,
|
keycode, xwindow,
|
||||||
1, &mods);
|
1, &mods);
|
||||||
}
|
}
|
||||||
@ -115,7 +118,8 @@ meta_device_map_xi2_ungrab_button (MetaDeviceMap *device_map,
|
|||||||
|
|
||||||
display = meta_device_map_get_display (device_map);
|
display = meta_device_map_get_display (device_map);
|
||||||
XIUngrabButton (display->xdisplay,
|
XIUngrabButton (display->xdisplay,
|
||||||
XIAllMasterDevices,
|
META_CORE_POINTER_ID,
|
||||||
|
//XIAllMasterDevices,
|
||||||
n_button, xwindow, 1, &mods);
|
n_button, xwindow, 1, &mods);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user