xserver/hw/dmx/input
Chase Douglas 65c0fc81eb Add support for per-axis valuator modes (Relative/Absolute)
The XI2 protocol supports per-axis modes, but the server so far does
not. This change adds support in the server.

A complication is the fact that XI1 does not support per-axis modes.
The solution provided here is to set a per-device mode that defines the
mode of at least the first two valuators (X and Y). Note that initializing
the first two axes to a different mode than the device mode will fail.

For XI1 events, any axes following the first two that have the same mode
will be sent to clients, up to the first axis that has a different mode.
Thus, if a device has relative, then absolute, then relative mode axes,
only the first block of relative axes will be sent over XI1.

Since the XI2 protocol supports per-axis modes, all axes are sent to the
client.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
2010-10-22 13:37:57 +10:00
..
ChkNotMaskEv.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ChkNotMaskEv.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
Makefile.am dmx: purge DMX EQ leftovers 2009-09-13 10:30:17 +10:00
atKeynames.h dix: purge leftover manual key down bit setting. 2010-07-07 13:29:46 +10:00
dmxarg.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxarg.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxbackend.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
dmxbackend.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxcommon.c Move each screen's x/y origin into ScreenRec. 2010-06-03 14:03:23 -07:00
dmxcommon.h XKB: Make XKB mandatory 2009-01-22 15:06:25 +11:00
dmxconsole.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
dmxconsole.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxdetach.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxdummy.c XKB: Make XKB mandatory 2009-01-22 15:06:25 +11:00
dmxdummy.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxevents.c Abstract valuator masks through a set of APIs. 2010-10-22 11:02:48 +10:00
dmxevents.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxinputinit.c Add support for per-axis valuator modes (Relative/Absolute) 2010-10-22 13:37:57 +10:00
dmxinputinit.h dmx: Fix XSetExtensionErrorHandler calls to agree on constness. 2010-06-03 14:03:22 -07:00
dmxmap.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxmap.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxmotion.c Add support for per-axis valuator modes (Relative/Absolute) 2010-10-22 13:37:57 +10:00
dmxmotion.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxsigio.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxsigio.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxxinput.c input: Purge AddOtherInputDevices DDX hook. 2010-09-01 15:26:52 +10:00
lnx-keyboard.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
lnx-keyboard.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
lnx-ms.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
lnx-ms.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
lnx-ps2.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
lnx-ps2.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
usb-common.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
usb-common.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
usb-keyboard.c dmx: Get rid of xstrdup when argument is definitely non-NULL 2010-06-11 19:04:23 +07:00
usb-keyboard.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
usb-mouse.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
usb-mouse.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
usb-other.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
usb-other.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
usb-private.h Death to RCS tags. 2007-06-29 14:06:52 -04:00