xserver-multidpi/Xi
Peter Hutterer e92dcb6ce0 input: unify button numbers on master devices.
Master devices provide the union of all attached slave devices' buttons,
i.e. the number of buttons on the master device is always the number of
buttons of the slave device with the highest number of buttons. When slaves
are attached or detached, the master device adjusts the button number to
reflect the new buttons.

On a slave switch, this slave's button labels are copied into the master (up
to slave->num_buttons). The remaining button labels (if any) stay as they
are. Thus, if any of the higher buttons is still pressed, it reflects the
label of the last pressed device that provided this button.

If two devices press the same button and it is differently labelled the last
pressed one will be reflected in the master device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-18 15:50:47 +10:00
..
allowev.c dix: remove un-used parameter "core" from AllowSome 2009-04-19 22:28:11 +10:00
allowev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgdctl.c input: reduce the number of superfluous hierarchy events 2009-05-16 12:20:58 +10:00
chgdctl.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgfctl.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
chgfctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
chgkbd.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
chgkbd.h Xi: disallow changing core keyboard and pointer 2006-10-29 03:43:34 +03:00
chgkmap.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
chgkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgprop.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
chgprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
chgptr.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
chgptr.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
closedev.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
closedev.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
devbell.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
devbell.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
exevents.c input: unify button numbers on master devices. 2009-06-18 15:50:47 +10:00
exglobals.h Xi: purge old device enter/leave masks. 2009-03-20 15:17:57 +10:00
extinit.c Xi: valuator/button labels are called labels now, not 'names' 2009-06-18 14:41:49 +10:00
getbmap.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
getbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getdctl.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
getdctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfctl.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
getfctl.h Static cleanup on Xi/ 2007-03-25 21:18:39 -04:00
getfocus.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
getfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getkmap.c Input: Remove core keysyms from KeyClassRec 2009-01-22 15:08:59 +11:00
getkmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getmmap.c Input: Remove modifierKeyMap 2009-01-22 15:08:55 +11:00
getmmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getprop.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
getprop.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getselev.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
getselev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
getvers.c Xi: remove the GetExtensionVersion hack. 2009-04-19 22:24:13 +10:00
getvers.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabdev.c Xi: fix wrong grabtype from ProcXGrabDevice. 2009-06-03 12:17:54 +10:00
grabdev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabdevb.c input: Add grabtype to GrabParameters. 2009-06-01 13:48:43 +10:00
grabdevb.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
grabdevk.c input: Add grabtype to GrabParameters. 2009-06-01 13:48:43 +10:00
grabdevk.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
gtmotion.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
gtmotion.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
listdev.c Input: rename DeviceIntRec->isMaster to ->type. 2009-05-22 15:44:50 +10:00
listdev.h Xi: Change ChangeMasterDeviceClasses to new XI2 events. 2009-03-20 15:17:55 +10:00
Makefile.am Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
opendev.c Input: rename DeviceIntRec->isMaster to ->type. 2009-05-22 15:44:50 +10:00
opendev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
queryst.c input: change axisVal from uint to double. 2009-06-18 14:40:53 +10:00
queryst.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
selectev.c input: update to inputproto 1.9.99.8 XI2 defines. 2009-05-08 14:33:44 +10:00
selectev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
sendexev.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
sendexev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setbmap.c Xi: remove un-used IsOn macro. 2009-06-14 18:47:21 +10:00
setbmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setdval.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
setdval.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setfocus.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
setfocus.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setmmap.c dix: Force deviced ids of 2 and higher for actual devices. 2009-03-20 15:17:54 +10:00
setmmap.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
setmode.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
setmode.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
stubs.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ungrdev.c input: replace GrabRec's coreGrab field with grabtype. 2009-04-19 22:28:08 +10:00
ungrdev.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
ungrdevb.c input: ensure various ProcUngrabKey/Buttons have the right grabtype set. 2009-05-04 17:40:29 +10:00
ungrdevb.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
ungrdevk.c input: ensure various ProcUngrabKey/Buttons have the right grabtype set. 2009-05-04 17:40:29 +10:00
ungrdevk.h indent fixes (OMG SO UGLY), and nuke old RCS keywords. 2006-02-20 22:16:49 +00:00
xiallowev.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xiallowev.h Xi: add support for XIAllowEvents. 2009-04-19 22:28:11 +10:00
xichangecursor.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xichangecursor.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xichangehierarchy.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xichangehierarchy.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xigetclientpointer.c Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xigetclientpointer.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xigrabdev.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xigrabdev.h Xi: Add support for XI2 active grabs and ungrabs. 2009-04-19 22:28:11 +10:00
xipassivegrab.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xipassivegrab.h Xi: add GrabButton and GrabKeysym code. 2009-05-06 14:37:33 +10:00
xiproperty.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xiproperty.h Xi: Add XI2 property requests. 2009-05-08 14:33:23 +10:00
xiquerydevice.c Xi: valuator/button labels are called labels now, not 'names' 2009-06-18 14:41:49 +10:00
xiquerydevice.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xiquerypointer.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10: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 input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xiselectev.h Xi: rename ProcXISelectEvent to ProcXISelectEvents. 2009-06-11 13:42:49 +10:00
xisetclientpointer.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xisetclientpointer.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00
xisetdevfocus.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xisetdevfocus.h Update to new XI2 names 2009-05-16 12:20:58 +10:00
xiwarppointer.c input: bump to ints for deviceids - XI2 requires 16-bit deviceids. 2009-06-18 14:40:54 +10:00
xiwarppointer.h Xi: namespace XI2 files. 2009-06-17 09:05:22 +10:00