diff options
author | marha <marha@users.sourceforge.net> | 2010-03-16 14:28:39 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-03-16 14:28:39 +0000 |
commit | 1bee0ef6e6bd055ba9083c1b3863549b8a9093cc (patch) | |
tree | f16eb3726b7d39a2f201084764526ec447ca4202 /xorg-server/include | |
parent | df40506fa41bfbd37a1f73fec1ff501750300b28 (diff) | |
download | vcxsrv-1bee0ef6e6bd055ba9083c1b3863549b8a9093cc.tar.gz vcxsrv-1bee0ef6e6bd055ba9083c1b3863549b8a9093cc.tar.bz2 vcxsrv-1bee0ef6e6bd055ba9083c1b3863549b8a9093cc.zip |
Git update 16/3/2010
Diffstat (limited to 'xorg-server/include')
-rw-r--r-- | xorg-server/include/inputstr.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/xorg-server/include/inputstr.h b/xorg-server/include/inputstr.h index 29ad5a814..15184d071 100644 --- a/xorg-server/include/inputstr.h +++ b/xorg-server/include/inputstr.h @@ -557,4 +557,34 @@ typedef struct _QdEvent { InternalEvent *event; } QdEventRec; +/** + * syncEvents is the global structure for queued events. + * + * Devices can be frozen through GrabModeSync pointer grabs. If this is the + * case, events from these devices are added to "pending" instead of being + * processed normally. When the device is unfrozen, events in "pending" are + * replayed and processed as if they would come from the device directly. + */ +typedef struct _EventSyncInfo { + QdEventPtr pending, /**< list of queued events */ + *pendtail; /**< last event in list */ + /** The device to replay events for. Only set in AllowEvents(), in which + * case it is set to the device specified in the request. */ + DeviceIntPtr replayDev; /* kludgy rock to put flag for */ + + /** + * The window the events are supposed to be replayed on. + * This window may be set to the grab's window (but only when + * Replay{Pointer|Keyboard} is given in the XAllowEvents() + * request. */ + WindowPtr replayWin; /* ComputeFreezes */ + /** + * Flag to indicate whether we're in the process of + * replaying events. Only set in ComputeFreezes(). */ + Bool playingEvents; + TimeStamp time; +} EventSyncInfoRec, *EventSyncInfoPtr; + +extern EventSyncInfoRec syncEvents; + #endif /* INPUTSTRUCT_H */ |