xserver-multidpi/Xi
Peter Hutterer a511c445de Remove generation of core events, long live XI!
Let the drivers only generate XI events and put those into the event queue.
When processing events, generate core events as needed. This fixes a number of
problems with XKB and the DIX in general.

The previous approach was to put core events and XI events as separate events
into the event queue. When being processed, the server had no knowledge of
them coming from the same device state change. Anything that would then change
the state of the device accordingly was in danger of changing it twice,
leading to some funny (i.e. not funny at all) results.

Emulating core events while processing XI events fixes this, there is only one
path that actually changes the device state now. Although we have to be
careful when replaying events from synced devices, otherwise we may lose
events.

Note: XI has precedence over core for passive grabs, but core events are
delivered to the client first.

This removes the wrapping added in 340911d724
2007-09-28 18:46:41 +09:30
..
allowev.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
allowev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chaccess.c Xi: unify ErrorFs. Prefix all with [Xi]. 2007-09-26 15:15:34 +09:30
chaccess.h Xi: Add access control request handling. 2007-02-22 20:00:59 +10:30
chdevcur.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
chdevcur.h Xi: Adding ChangeDeviceCursor request 2007-01-08 12:31:18 +10:30
chgdctl.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
chgdctl.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgfctl.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
chgfctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
chgkbd.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
chgkbd.h Xi: disallow changing core keyboard and pointer 2006-10-29 03:43:34 +03:00
chgkmap.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
chgkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgprop.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
chgprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgptr.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
chgptr.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
chpkpair.c Cleaning up a bit. 2007-05-02 18:16:40 +09:30
chpkpair.h Send PointerKeyboardPairingChangedNotifyEvent using XGE. 2007-05-01 12:12:58 +09:30
closedev.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
closedev.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
devbell.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
devbell.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
exevents.c Remove generation of core events, long live XI! 2007-09-28 18:46:41 +09:30
exglobals.h Clean up, correct some comments. 2007-05-17 17:59:02 +09:30
extgrbdev.c Use the same struct for generic event masks throughout the code. 2007-07-06 15:43:08 +09:30
extgrbdev.h Add ExtendedGrabDevice handling. 2007-05-14 10:42:03 +09:30
extinit.c Xi: unify ErrorFs. Prefix all with [Xi]. 2007-09-26 15:15:34 +09:30
fakedevdata.c Add handling for FakeDeviceEvent request. 2007-05-02 17:49:20 +09:30
fakedevdata.h Add handling for FakeDeviceEvent request. 2007-05-02 17:49:20 +09:30
getbmap.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getcptr.c Xi: add GetClientPointer and GetPointerPairing requests. 2007-03-22 17:47:01 +10:30
getcptr.h Xi: add GetClientPointer and GetPointerPairing requests. 2007-03-22 17:47:01 +10:30
getdctl.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getdctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfctl.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getfctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfocus.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getkmap.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getmmap.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getmmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getpairp.c Xi: add GetClientPointer and GetPointerPairing requests. 2007-03-22 17:47:01 +10:30
getpairp.h Xi: add GetClientPointer and GetPointerPairing requests. 2007-03-22 17:47:01 +10:30
getprop.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getselev.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getselev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getvers.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
getvers.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabacc.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
grabacc.h Xi: Add access control request handling. 2007-02-22 20:00:59 +10:30
grabdev.c Add a few comments to ProcXGrabDevice. 2007-06-19 11:31:22 +09:30
grabdev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabdevb.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
grabdevb.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabdevk.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
grabdevk.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
gtmotion.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
gtmotion.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
listdev.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
listdev.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
Makefile.am Add ExtendedGrabDevice handling. 2007-05-14 10:42:03 +09:30
opendev.c Input: Don't enable devices when we open them 2007-08-01 03:33:06 +03:00
opendev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
qryacces.c Xi: unify ErrorFs. Prefix all with [Xi]. 2007-09-26 15:15:34 +09:30
qryacces.h Xi: Add access control request handling. 2007-02-22 20:00:59 +10:30
querydp.c Enable event delivery for multiple heads. 2007-04-26 15:58:50 +09:30
querydp.h xfree86: Changing "IsMPDevice" to "SharedPointer" option. Devices will default 2006-12-20 13:05:53 +10:30
queryst.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
queryst.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
regpair.c Xi, dix: Only one client at a time can change the pointer-keyboard pairing, 2007-02-21 10:08:41 +10:30
regpair.h Xi, dix: Only one client at a time can change the pointer-keyboard pairing, 2007-02-21 10:08:41 +10:30
selectev.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
selectev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
sendexev.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
sendexev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setbmap.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
setbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setcptr.c Allow value None for windows when setting ClientPointer. 2007-05-30 16:15:15 +09:30
setcptr.h Xi: Add SetClientPointer request handling. 2007-03-09 15:45:25 +10:30
setdval.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
setdval.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setfocus.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
setfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setmmap.c Xi: remove 'register' keywords. 2007-03-29 15:23:41 +09:30
setmmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setmode.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
setmode.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
stubs.c Input: Allow a pointer to a device to be returned in NIDR 2007-04-11 00:38:16 +03:00
ungrdev.c Remove double-grab option. We only want one grab per device. 2007-05-14 12:34:53 +09:30
ungrdev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
ungrdevb.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
ungrdevb.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
ungrdevk.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
ungrdevk.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
warpdevp.c Merge branch 'master' into mpx 2007-04-02 15:36:26 +09:30
warpdevp.h xfree86: Changing "IsMPDevice" to "SharedPointer" option. Devices will default 2006-12-20 13:05:53 +10:30
xiselev.c Add missing files for ProcXiSelectEvent. 2007-05-02 13:51:16 +09:30
xiselev.h Add missing files for ProcXiSelectEvent. 2007-05-02 13:51:16 +09:30