Comment 32 for bug 388547

Revision history for this message
In , Alexander Betaev (infestator) wrote :

Hi,

I am a little bit aware about this problem.

It seems think that issue is in how full-screen games are launched inside desktop environments. Initially, when user interacts with their desktop all keyboard event are handled by window manager. When focus is on application's window all keyboard events are dispatched to that application by window manager. This way standard keyboard shorcuts work: window manager just handles all input.

In window mode games are not exceptions: all events are dispatched to them by window manager. But when game goes full screen window manager occasionally looses ability to handle any keyboard events (as far as all input events). This is well known libSDL 1.2 issue which is going to be fixed in 2.0 major release. There are also some workarounds for this issue.

I am also not aware about internals of X server, but I can propose the idea:
Initially all events are anyway captured by X server. So the X server should provide special input API (don't know if there already one exists) which allows any application exclusively lock keyboard shortcuts. This "shortcut lock" should be done so that any other application will not ever receive it until first one unlock it. Also after locking shortcut by one application other applications should not be able to lock it.
This is just bare idea. If such API already exists then its not X issue: all required abilities were provided, it a task of desktop environment to use it. and we should post bugs to window manager's trackers.

Thanks!