xserver-multidpi/Xi
Peter Hutterer 64711a0948 Xi: When switching MD classes, make a deep copy instead of pointer flip.
Turns out it's really really hard synchronising device state across multiple
duplicated events if they all share the same struct. So instead of doing so,
when the SD changes deep-copy all it's classes into the MD. The MD then has
the same capabilities, but the state can be set separately. This should fix
xkb, key state, repeat etc. problems.

Updating the device state allows us to remove the SwitchCoreKeyboard from the
event gathering, it's all done during event processing now.
2007-11-15 10:41:34 +10:30
..
allowev.c Merge branch 'master' into mpx 2007-11-07 15:37:23 +10:30
allowev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chaccess.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
chaccess.h Xi: Add access control request handling. 2007-02-22 20:00:59 +10:30
chdevcur.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
chdevcur.h Xi: Adding ChangeDeviceCursor request 2007-01-08 12:31:18 +10:30
chdevhier.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
chdevhier.h Xi: remove ChangePointerKeyboardPairing in favour of ChangeDeviceHierarchy. 2007-10-19 14:36:37 +09:30
chgdctl.c Merge branch 'master' into mpx 2007-11-07 15:37:23 +10:30
chgdctl.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgfctl.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
chgfctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
chgkbd.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
chgkbd.h Xi: disallow changing core keyboard and pointer 2006-10-29 03:43:34 +03:00
chgkmap.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
chgkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgprop.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
chgprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgptr.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
chgptr.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
chpkpair.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
chpkpair.h Send PointerKeyboardPairingChangedNotifyEvent using XGE. 2007-05-01 12:12:58 +09:30
closedev.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
closedev.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
devbell.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
devbell.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
exevents.c Xi: When switching MD classes, make a deep copy instead of pointer flip. 2007-11-15 10:41:34 +10:30
exglobals.h Clean up, correct some comments. 2007-05-17 17:59:02 +09:30
extgrbdev.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
extgrbdev.h Add ExtendedGrabDevice handling. 2007-05-14 10:42:03 +09:30
extinit.c Xi: remove RegisterPairingClient handling. Deprecated with device hierarchy. 2007-11-13 17:31:20 +10:30
fakedevdata.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
fakedevdata.h Add handling for FakeDeviceEvent request. 2007-05-02 17:49:20 +09:30
getbmap.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getcptr.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
getcptr.h Xi: add GetClientPointer and GetPointerPairing requests. 2007-03-22 17:47:01 +10:30
getdctl.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getdctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfctl.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getfctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfocus.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getkmap.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getmmap.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getmmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getpairp.c Fix up detritus from removing GetPairedPointer/Keyboard. 2007-10-16 14:24:20 +09:30
getpairp.h Xi: add GetClientPointer and GetPointerPairing requests. 2007-03-22 17:47:01 +10:30
getprop.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getselev.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getselev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getvers.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
getvers.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabacc.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
grabacc.h Xi: Add access control request handling. 2007-02-22 20:00:59 +10:30
grabdev.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10: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-11-07 15:37:23 +10: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-11-07 15:37:23 +10: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 usage of alloca 2007-11-05 14:34:46 +00:00
gtmotion.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
listdev.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
listdev.h dix: When the last slave is removed, set master to the original classes. 2007-11-12 11:35:18 +10:30
Makefile.am Xi: remove RegisterPairingClient handling. Deprecated with device hierarchy. 2007-11-13 17:31:20 +10:30
opendev.c Merge branch 'mpx' into mdsd 2007-11-08 09:34:35 +10:30
opendev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
qryacces.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
qryacces.h Xi: Add access control request handling. 2007-02-22 20:00:59 +10:30
querydp.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
querydp.h xfree86: Changing "IsMPDevice" to "SharedPointer" option. Devices will default 2006-12-20 13:05:53 +10:30
queryst.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
queryst.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
selectev.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
selectev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
sendexev.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
sendexev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setbmap.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
setbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setcptr.c Xi: return BadDevice for slave devices on ProcXSetClientPointer 2007-11-08 10:00:35 +10:30
setcptr.h Xi: Add SetClientPointer request handling. 2007-03-09 15:45:25 +10:30
setdval.c Merge branch 'master' into mpx 2007-11-07 15:37:23 +10:30
setdval.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setfocus.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
setfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setmmap.c Input: Return errors to the dispatcher instead of sending them ourself. 2007-09-26 07:26:59 -04:00
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-11-07 15:37:23 +10:30
setmode.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
stubs.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10:30
ungrdev.c Merge branch 'master' into mpx 2007-11-07 15:37:23 +10: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-11-07 15:37:23 +10: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-11-07 15:37:23 +10:30
ungrdevk.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
warpdevp.c Xi: remove trailing whitespaces. 2007-11-13 17:14:35 +10: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