Previous: , Up: Events and Input   [Contents][Index]

13.12 Releasing Queued Events

A client grabbing the keyboard or pointer can freeze the reporting of events on that device. When an input device is thus frozen, the server queues events until explicitly requested to release them by the grabbing client. CLX programs can use the allow-events function to release queued events from a frozen input device.

Function: allow-events display mode &optional time

A display.


One of: :async-pointer, :sync-pointer, :reply-pointer, :async-keyboard, :sync-keyboard, :replay-keyboard, :async-both, :sync-both.


A timestamp.

Releases some queued events if the client has caused a device to freeze. The request has no effect if the time is earlier than the last-grab time of the most recent active grab for the client, or if the time is later than the current server time. If time is nil, the current server time is used. The effect of this function depends on the specified mode.

:async-pointer, :sync-pointer, and :replay-pointer have no effect on processing of keyboard events. :async-keyboard, :sync-keyboard, and :replay-keyboard have no effect on processing of pointer events.

It is possible for both a pointer grab and a keyboard grab to be active simultaneously by the same or different clients. When a device is frozen on behalf of either grab, no event processing is performed for the device. It is possible for a single device to be frozen due to both grabs. In this case, the freeze must be released on behalf of both grabs before events can again be processed.

Previous: , Up: Events and Input   [Contents][Index]