Skip to content
  • Daniel Stone's avatar
    XKB: Add debug key actions for grabs & window tree · 7d2543a3
    Daniel Stone authored and Peter Hutterer's avatar Peter Hutterer committed
    
    
    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's avatarDaniel Stone <daniel@fooishbar.org>
    Reviewed-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    7d2543a3