xserver/Xi
Eoghan Sherry 36b614dedf Xi: Fix master button update when slave buttons are mapped. #24887
It is currently assumed that an event button delieved to a master device
corresponds to the slave button states. However, the event button is a
logical (mapped) slave button and slave button states correspond to
physical (unmapped) slave buttons. This leads to incorrect update of the
master button state and incorrect events devlivered to clients. Fix the
situation by taking the slave button map into account when querying a
slave button state.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=24887

Signed-off-by: Eoghan Sherry <ejsherry@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-12-07 08:07:54 +10:00
..
Makefile.am Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
allowev.c dix: remove un-used parameter "core" from AllowSome 2009-04-19 22:28:11 +10:00
allowev.h
chgdctl.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
chgdctl.h
chgfctl.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
chgfctl.h
chgkbd.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
chgkbd.h
chgkmap.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
chgkmap.h
chgprop.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
chgprop.h
chgptr.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
chgptr.h
closedev.c input: remove OpenInputDevice and CloseInputDevice DDX hooks. 2010-09-01 15:26:51 +10:00
closedev.h
devbell.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
devbell.h
exevents.c Xi: Fix master button update when slave buttons are mapped. #24887 2010-12-07 08:07:54 +10:00
exglobals.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
extinit.c Xi: move property reset from extension shutdown to init. 2010-11-12 11:48:28 +10:00
getbmap.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
getbmap.h
getdctl.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
getdctl.h
getfctl.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
getfctl.h
getfocus.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
getfocus.h
getkmap.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
getkmap.h
getmmap.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
getmmap.h
getprop.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
getprop.h
getselev.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
getselev.h
getvers.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
getvers.h
grabdev.c Xi: remove obsolete comment. 2009-07-30 08:43:14 +10:00
grabdev.h
grabdevb.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
grabdevb.h
grabdevk.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
grabdevk.h
gtmotion.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
gtmotion.h
listdev.c Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-api 2010-11-11 12:54:46 +10:00
listdev.h Xi: Change ChangeMasterDeviceClasses to new XI2 events. 2009-03-20 15:17:55 +10:00
opendev.c input: remove OpenInputDevice and CloseInputDevice DDX hooks. 2010-09-01 15:26:51 +10:00
opendev.h
queryst.c input: remove "mode" field from ValuatorClassRec. 2010-10-22 16:19:00 +10:00
queryst.h
selectev.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
selectev.h
sendexev.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
sendexev.h
setbmap.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
setbmap.h
setdval.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
setdval.h
setfocus.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
setfocus.h
setmmap.c Xi: use byte-counting macros instead of manual calculation. 2009-07-14 10:05:53 +10:00
setmmap.h
setmode.c input: remove "mode" field from ValuatorClassRec. 2010-10-22 16:19:00 +10:00
setmode.h
stubs.c input: Purge AddOtherInputDevices DDX hook. 2010-09-01 15:26:52 +10:00
ungrdev.c input: replace GrabRec's coreGrab field with grabtype. 2009-04-19 22:28:08 +10:00
ungrdev.h
ungrdevb.c input: ensure various ProcUngrabKey/Buttons have the right grabtype set. 2009-05-04 17:40:29 +10:00
ungrdevb.h
ungrdevk.c input: ensure various ProcUngrabKey/Buttons have the right grabtype set. 2009-05-04 17:40:29 +10:00
ungrdevk.h
xiallowev.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xiallowev.h Xi: standardise XI2 headers. 2009-09-03 08:39:27 +10:00
xichangecursor.c Move each screen's root-window pointer into ScreenRec. 2010-06-03 14:03:23 -07:00
xichangecursor.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xichangehierarchy.c Xi: if XTEST device creation fails, fail the master devices. 2010-11-09 07:59:56 +10:00
xichangehierarchy.h Xi: standardise XI2 headers. 2009-09-03 08:39:27 +10:00
xigetclientpointer.c Xi: fix up access modes for calls to dixLookupDevice(). 2009-06-23 20:50:29 -04:00
xigetclientpointer.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xigrabdev.c Xi: Unify checking for invalid bits in grab masks. 2009-09-03 08:39:27 +10:00
xigrabdev.h Xi: standardise XI2 headers. 2009-09-03 08:39:27 +10:00
xipassivegrab.c Return an appropriately-typed error from dixLookupResourceByType. 2010-05-19 12:32:48 -07:00
xipassivegrab.h Xi: standardise XI2 headers. 2009-09-03 08:39:27 +10:00
xiproperty.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
xiproperty.h Xi: reset the known properties at the end of the server generation. 2010-05-07 12:16:43 -07:00
xiquerydevice.c Convert some leftover axes->mode access to valuator_get_mode() 2010-10-25 10:37:46 +10:00
xiquerydevice.h xace: Fake return values on denials in input polling requests. 2009-10-14 19:19:19 -04:00
xiquerypointer.c Move each screen's x/y origin into ScreenRec. 2010-06-03 14:03:23 -07:00
xiquerypointer.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xiqueryversion.c Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xiqueryversion.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xiselectev.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
xiselectev.h Xi: standardise XI2 headers. 2009-09-03 08:39:27 +10:00
xisetclientpointer.c Xi: check for Use permission on the device in SetClientPointer(). 2009-06-23 20:50:29 -04:00
xisetclientpointer.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xisetdevfocus.c Xi: add swapping hook for XIGetFocus reply. 2009-08-24 10:09:05 +10:00
xisetdevfocus.h Xi: standardise XI2 headers. 2009-09-03 08:39:27 +10:00
xiwarppointer.c Xi: return BadDevice for master kbds and attached slaves in XIWarpPointer 2009-09-03 10:00:34 +10:00
xiwarppointer.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00