7d2543a3cb
Add four new private XKB actions for debugging: * PrGrbs: print active grabs to the log file * Ungrab: ungrab all currently active grabs * ClsGrb: kill clients with active grabs * PrWins: dump the current window tree to the log file To use these, you need to modify your XKB maps, e.g. the following to have Ctrl+Alt+(F9-F12) mapped to the above: - compat/xfree86: interpret XF86LogGrabInfo { action = Private(type=0x86, data="PrGrbs"); }; interpret XF86Ungrab { action = Private(type=0x86, data="Ungrab"); } interpret XF86ClearGrab { action = Private(type=0x86, data="ClsGrb"); } interpret XF86LogWindowTree { action = Private(type=0x86, data="PrWins"); } - symbols/pc: key <FK09> { type="CTRL+ALT", [ Return, XF86LogGrabInfo ] }; key <FK10> { type="CTRL+ALT", [ Return, XF86Ungrab ] }; key <FK11> { type="CTRL+ALT", [ Return, XF86ClearGrab ] }; key <FK12> { type="CTRL+ALT", [ Return, XF86LogWindowTree ] }; At the moment, this only works if the grabbing client continues to call AllowEvents, as the server does no event processing at all when a device is frozen. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> |
||
---|---|---|
.. | ||
.gitignore | ||
atom.c | ||
buildatoms | ||
BuiltInAtoms | ||
colormap.c | ||
cursor.c | ||
devices.c | ||
dispatch.c | ||
dispatch.h | ||
dixfonts.c | ||
dixutils.c | ||
enterleave.c | ||
enterleave.h | ||
eventconvert.c | ||
events.c | ||
extension.c | ||
ffs.c | ||
gc.c | ||
getevents.c | ||
globals.c | ||
glyphcurs.c | ||
grabs.c | ||
initatoms.c | ||
inpututils.c | ||
main.c | ||
Makefile.am | ||
pixmap.c | ||
privates.c | ||
property.c | ||
protocol.txt | ||
ptrveloc.c | ||
region.c | ||
registry.c | ||
resource.c | ||
selection.c | ||
swaprep.c | ||
swapreq.c | ||
tables.c | ||
window.c | ||
Xserver-dtrace.h.in | ||
Xserver.d |