xserver-multidpi/include
Peter Hutterer 401150d7dc input: change pointer screen crossing behaviour for multiple ScreenRecs
miPointerSetPosition traditionally took coordinates on a per-screen basis,
triggering a screen switch when these went out-of-bounds. For absolute
devices, this prevented screen crossing in the negative x/y direction.

This patch changes the event generation patch to handle screen coordinates
in a desktop range (i.e. all screens together). Screen switches are
triggered when these coordinates are not on the current screen.

This unifies the pointer behaviour of single ScreenRec multihead and
multiple ScreenRecs multihead in that the cursor by default moves about the
whole screen rather than be confined to one single screen. The
transformation matrix may then be used to actually confine the cursor to the
screen again.

Note: fill_pointer_events has to deal with several different coordinate
systems. Make sure you read the comment before trying to understand the code.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-10-13 11:34:43 +10:00
..
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
callback.h dix: optimize CallCallbacks 2010-10-13 09:24:06 -07:00
client.h os: Add facilities for client ID tracking. 2010-12-23 13:53:18 +02:00
closestr.h dixfonts: Deobfuscate GC ops calls. 2010-09-13 15:55:17 -07:00
closure.h Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
colormap.h Quit using clientErrorValue in dix/colormap.c. 2010-05-13 17:14:07 -07:00
colormapst.h Revert "Bug #6924: Restore the ABI for DrawableRec and ColormapRec to the state" 2011-09-19 22:31:21 -07:00
cursor.h Eliminate MAXSCREENS-sized CursorScreenKey array. 2011-09-19 22:53:05 -07:00
cursorstr.h Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
dix-config-apple-verbatim.h Move the apple fat binary hacks back to a header file, and make it apple-only. 2009-01-30 16:36:45 -08:00
dix-config.h.in udev: make use of udev_enumerate_add_match_tag() only when it is available 2011-10-03 11:55:36 -07:00
dix.h dix: rename ProcessRawEvents to dix/events.c:DeliverRawEvent 2011-09-29 14:09:40 +10:00
dixaccess.h dix: add a new DixAccess bit, "DixPostAccess". 2009-06-26 17:05:52 -04:00
dixevents.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
dixfont.h dix: use one single function to register fpe fonts 2010-06-24 13:55:28 -07:00
dixfontstr.h Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
dixgrabs.h XKB: Add debug key actions for grabs & window tree 2011-07-01 08:46:20 +10:00
dixstruct.h Remove unused ClientStateAuthenticating 2011-09-20 07:41:11 -07:00
eventconvert.h Input: Allow EventToCore to return multiple events 2011-02-17 09:40:59 +10:00
events.h XQuartz: Transition from xEvent based mieq to InternalEvent 2009-09-27 23:31:07 -07:00
eventstr.h Input: Make DeviceEvent use doubles internally 2011-09-29 12:24:34 +10:00
exevents.h Input: Add smooth-scrolling support to GetPointerEvents 2011-09-30 09:24:18 +10:00
extension.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
extinit.h include: XInputExtensionInit doesn't need to be exported. 2009-08-17 10:14:20 +10:00
extnsionst.h Declare functions that unconditionally call FatalError as _X_NORETURN. 2010-05-22 01:00:04 -07:00
gc.h Un-export CreateScratchGC now that nothing external uses it. 2010-09-13 15:58:08 -07:00
gcstruct.h Delete unused lastWinOrg field from GCs. 2010-09-13 15:55:17 -07:00
globals.h config: add udev/systemd multi-seat support 2011-08-22 15:56:49 +10:00
hotplug.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
input.h Store desktop dimensions in screenInfo. 2011-10-13 11:26:09 +10:00
inputstr.h input: change pointer screen crossing behaviour for multiple ScreenRecs 2011-10-13 11:34:43 +10:00
inpututils.h Input: Convert ValuatorMask to double-precision internally 2011-09-29 12:23:51 +10:00
kdrive-config.h.in kdrive: Add option to compile out input drivers 2010-01-06 19:47:53 +06:00
list.h Add null-terminated list interface. 2011-08-22 15:56:53 +10:00
Makefile.am os: Add facilities for client ID tracking. 2010-12-23 13:53:18 +02:00
misc.h Remove incorrect & in swap_uint32 2011-10-03 10:23:54 -07:00
miscstruct.h Merge branch 'master' into XACE-SELINUX 2007-08-28 07:25:21 -04:00
opaque.h dix: adds support for none root window background 2010-11-11 23:24:43 +02:00
os.h os/log: Add LogVHdrMessageVerb and friends 2011-08-22 15:49:18 +10:00
pixmap.h dix: Remove the memory of the multibuffer extension 2010-10-13 09:18:41 -07:00
pixmapstr.h Revert "dix: Remove usage_hint from pixmaps, store it in ->drawable.class" 2011-03-17 23:48:52 -07:00
privates.h "privates.h", line 198: warning: void function cannot return value 2011-05-27 19:52:10 -07:00
property.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
propertyst.h dix: Shrink PropertyRec on LP64 2011-03-14 13:44:46 -04:00
protocol-versions.h Support (and require) XI 2.1 2011-09-29 14:09:41 +10:00
ptrveloc.h Input: Widen pointer acceleration types to double 2011-09-29 12:24:33 +10:00
region.h Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
regionstr.h Add RegionInitBoxes(), and fix some buggy callers of RegionInit(). 2011-04-22 21:39:31 -04:00
registry.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
resource.h dix: Define RESTYPE as uint32_t 2011-03-14 13:57:20 -04:00
rgb.h Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
screenint.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
scrnintstr.h Store desktop dimensions in screenInfo. 2011-10-13 11:26:09 +10:00
selection.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
servermd.h xfree86: nds32: add nds32 related definitions into include headers. 2010-09-23 15:35:48 -07:00
site.h dix: delete logo hack screen saver 2010-11-11 23:20:35 +02:00
swaprep.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
swapreq.h Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
validate.h Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
version-config.h.in Move VENDOR_* defines from AC_SUBST to a header to avoid angering shave. 2009-04-14 10:35:44 -04:00
window.h DIX: Make PrintWindowTree actually useful 2011-07-01 08:46:15 +10:00
windowstr.h composite: Inhibit window background paint with manual subwindow redirection 2011-08-03 20:46:36 -07:00
XIstubs.h input: Purge AddOtherInputDevices DDX hook. 2010-09-01 15:26:52 +10:00
xkb-config.h.in XKB: Allow build-time configuration of XKB defaults 2009-01-20 15:32:18 +11:00
xkbfile.h XKB: Remove support for setting combined keymaps 2009-01-22 15:08:56 +11:00
xkbrules.h XKB: Remove descriptions from maprules 2009-01-22 15:08:56 +11:00
xkbsrv.h xkb: Release XKB component names when compiling keymap. 2011-03-16 15:21:41 +10:00
xkbstr.h Revert "XKB: Sanitise * actions" commits (#19602) 2009-07-10 11:23:52 +10:00
xorg-config.h.in Remove PC98 support. 2011-09-15 10:11:43 -05:00
xorg-server.h.in xfree86: Fix the sdk headers to be multilib-safe 2011-02-23 13:39:22 -05:00
Xprintf.h Add asprintf() implementation for platforms without it 2010-12-07 11:10:35 -08:00
xserver-properties.h Input: Add vertical and horizontal scroll axes 2011-09-29 12:26:43 +10:00
xsha1.h Move SHA1 computation from render/glyph.c to os/ 2009-10-15 01:17:44 +02:00
xwin-config.h.in Cygwin/X: Allow the default log location to be configurable 2010-03-16 14:02:17 +00:00