xserver-multidpi/Xi
Keith Packard cfcb3da75e Make button down state a bitmask. Master buttons track union of slave buttons
Mixing usage where some parts of the code treated this field as a bitmask
and other parts as an array of card8 was wrong, and as the wire protocol
wanted bitmasks, it was less invasive to switch the newer counting code use
booleans.

Master devices track slave buttons by waiting for all slave buttons to be
released before delivering the release event to the client.

This also removes the state merging code in DeepCopyDeviceClasses -- that
code was changing master device state without delivering any events,
violating protocol invariants. The result will be that existing slave
button state which does not match the master will not be visible through the
master device. Fixing this would require that we synthesize events in this
function, which seems like a bad idea. Note that keyboards have the same
issue.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-06-19 17:41:00 +09:30
..
allowev.c Merge branch 'master' into mpx 2008-01-03 17:04:54 +10:30
allowev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chaccess.c Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
chaccess.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
chdevcur.c Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
chdevcur.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
chdevhier.c Fix "warning: ‘rc’ may be used uninitialized in this function". 2008-06-13 22:46:51 -04:00
chdevhier.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
chgdctl.c Merge branch 'master' into mpx 2008-03-04 18:11:10 +10:30
chgdctl.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgfctl.c XACE: Change access modes for some device-related requests. 2008-02-13 20:20:49 -05: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 XACE: Change access modes for some device-related requests. 2008-02-13 20:20:49 -05:00
chgkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgprop.c Fix for CVE-2007-6427 - Xinput extension memory corruption. 2008-01-17 15:27:34 +01:00
chgprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgptr.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
chgptr.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
closedev.c Merge branch 'master' into mpx 2008-03-04 18:11:10 +10:30
closedev.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
devbell.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
devbell.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
exevents.c Make button down state a bitmask. Master buttons track union of slave buttons 2008-06-19 17:41:00 +09:30
exglobals.h Xi: add IEventBase global variable. Stores event base for X Input events. 2008-04-29 14:19:42 +09:30
extgrbdev.c Xi: don't drop the grab status in XExtendedGrabDevice(). 2008-06-18 10:07:37 +09:30
extgrbdev.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
extinit.c Xi: Fix up ProcIVector, got out of sync with the protocol. 2008-05-13 11:17:02 +09:30
getbmap.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
getbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getcptr.c Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
getcptr.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
getdctl.c Xi: specify correct struct when calculating size of GetDeviceControl reply. 2007-12-19 18:18:10 +10:30
getdctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfctl.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
getfctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfocus.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
getfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getkmap.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
getkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getmmap.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
getmmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getprop.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
getprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getselev.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
getselev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getvers.c Revert "Xi: disable XI for clients < XI 2.0" 2008-04-26 19:37:57 +09:30
getvers.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabdev.c Merge branch 'master' into mpx 2008-01-26 13:55:07 +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 2008-01-26 13:55:07 +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 2008-01-26 13:55:07 +10:30
grabdevk.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
gtmotion.c Fix "warning: unused variable `tsize'". 2008-06-13 22:47:10 -04:00
gtmotion.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
listdev.c Xi: stop excessive use of _X_EXPORT. 2008-04-29 15:24:55 +09:30
listdev.h Xi: make SizeDeviceInfo public and re-use from CreateClassesChangedEvent. 2008-02-18 18:42:46 +10:30
Makefile.am Xi: remove GetPairedPointer handling. 2008-02-25 17:52:45 +10:30
opendev.c Xi: Only return VCP, VCK and floating SDs to Xi 1.x clients. 2008-04-28 10:26:01 +09:30
opendev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
qryacces.c Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
qryacces.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
querydp.c Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
querydp.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
queryst.c input: fix up usage of button->down, used to be a bitmask, is now an array. 2008-06-18 10:17:08 +09:30
queryst.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
selectev.c Fix for CVE-2007-6427 - Xinput extension memory corruption. 2008-01-17 15:27:34 +01:00
selectev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
sendexev.c Merge branch 'master' into mpx 2008-01-26 13:55:07 +10:30
sendexev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setbmap.c XACE: Change access modes for some device-related requests. 2008-02-13 20:20:49 -05:00
setbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setcptr.c Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
setcptr.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
setdval.c Merge branch 'master' into mpx 2008-01-03 17:04:54 +10:30
setdval.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setfocus.c xace: add new hooks + access controls: XInput extension. 2007-09-28 08:02:00 -04:00
setfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setmmap.c XACE: Change access modes for some device-related requests. 2008-02-13 20:20:49 -05: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 2008-01-03 17:04:54 +10:30
setmode.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
stubs.c Merge branch 'master' into mpx 2008-01-03 17:04:54 +10:30
ungrdev.c Merge branch 'master' into mpx 2008-01-03 17:04:54 +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 2008-01-03 17:04:54 +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 2008-01-03 17:04:54 +10:30
ungrdevk.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
warpdevp.c input: instead of lastx/y, use a last.valuators[] array on the device. 2008-05-23 12:01:37 +09:30
warpdevp.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
xiselev.c Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30
xiselev.h Replace UniSA with full Uni name in Author affiliation. 2008-05-21 21:51:27 +09:30