xserver/hw/dmx
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
..
config Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
doc input: Purge Register*Device() functions. 2010-09-01 15:26:47 +10:00
examples Rename xdmx client to dmxinfo 2010-03-22 00:45:46 -05:00
glxProxy dmx: Delete '#undef Xmalloc' and friends. 2010-09-13 15:55:16 -07:00
input Add support for per-axis valuator modes (Relative/Absolute) 2010-10-22 13:37:57 +10:00
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
Makefile.am Fix .man.N targets for AM_SILENT_RULES 2010-03-22 00:45:55 -05:00
Xdmx.man Add Distributed Multihead X (DMX) support 2004-06-30 20:06:56 +00:00
dmx-config.h dmx: remove doxygen-generated files. 2009-10-20 13:32:16 +10:00
dmx.c xserver: delete pervasively use of DISPATCH_PROC 2010-09-28 16:45:05 +03:00
dmx.h Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
dmx_glxvisuals.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
dmx_glxvisuals.h Update to SGI FreeB 2.0. 2008-09-19 12:02:28 -04:00
dmxcb.c Centralize declaration of ConnectionInfo. 2008-08-20 13:14:34 -04:00
dmxcb.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxclient.h unifdef -B -DRENDER to always include RENDER code 2010-04-19 09:26:10 -07:00
dmxcmap.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
dmxcmap.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxcursor.c Move each screen's x/y origin into ScreenRec. 2010-06-03 14:03:23 -07:00
dmxcursor.h Add an array of integers for use as per-screen cursor private keys. 2008-08-27 19:27:13 -04:00
dmxdpms.c xace: restore the old SaveScreens function and introduce new API, since the 2007-11-19 16:59:34 -05:00
dmxdpms.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxextension.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
dmxextension.h dmx: remove doxygen-generated files. 2009-10-20 13:32:16 +10:00
dmxfont.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
dmxfont.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxgc.c Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxgc.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxgcops.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
dmxgcops.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxinit.c dmx: Delete unused GLX visual matching code. 2010-09-13 15:55:16 -07:00
dmxinit.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxinput.c Revert "Add a "flags" field to DeleteInputDeviceRequest." 2010-05-26 07:54:35 -07:00
dmxinput.h dmx: remove doxygen-generated files. 2009-10-20 13:32:16 +10:00
dmxlog.c Remove all traces of #ifdef XINPUT and the matching bits from the configure.ac 2008-04-25 16:49:35 +09:30
dmxlog.h Remove all traces of #ifdef XINPUT and the matching bits from the configure.ac 2008-04-25 16:49:35 +09:30
dmxpict.c Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxpict.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxpixmap.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
dmxpixmap.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxprop.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
dmxprop.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxscrinit.c Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxscrinit.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxshadow.c Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
dmxshadow.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxstat.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
dmxstat.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxsync.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
dmxsync.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxvisual.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxvisual.h Death to RCS tags. 2007-06-29 14:06:52 -04:00
dmxwindow.c Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dmxwindow.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00