xserver-multidpi/dix
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 dix and os: gitignore dix.O and os.O 2011-09-23 17:14:47 -07:00
atom.c Misc coding style cleanup 2010-05-13 06:16:48 +07:00
buildatoms XFree86 4.3.0.1 2003-11-14 16:49:22 +00:00
BuiltInAtoms R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
colormap.c Revert "Bug #6924: Restore the ABI for DrawableRec and ColormapRec to the state" 2011-09-19 22:31:21 -07:00
cursor.c Eliminate MAXSCREENS-sized CursorScreenKey array. 2011-09-19 22:53:05 -07:00
devices.c input: change pointer screen crossing behaviour for multiple ScreenRecs 2011-10-13 11:34:43 +10:00
dispatch.c Store desktop dimensions in screenInfo. 2011-10-13 11:26:09 +10:00
dispatch.h xserver: delete pervasively use of DISPATCH_PROC 2010-09-28 16:45:05 +03:00
dixfonts.c dix: fix memory leak in SetDefaultFontPath 2011-04-04 15:41:13 +03:00
dixutils.c dix: avoid calling deleted block and wakeup handlers 2011-06-30 16:38:29 +10:00
enterleave.c Use GetCurrentRootWindow or equivalent instead of spriteTrace[0]. 2010-10-13 15:58:12 +10:00
enterleave.h dix: call SetFocusOut and LeaveWindow when disabling a device. 2009-08-03 10:11:48 +10:00
eventconvert.c dix: copy the source ID into the RawEvent (#34240) 2011-10-10 10:49:10 +10:00
events.c Move pointOnScreen to inpututils.c 2011-10-04 13:01:33 +10:00
extension.c dix: fix memory leak in ProcListExtensions 2011-04-04 15:47:58 +03:00
ffs.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
gc.c Un-export CreateScratchGC now that nothing external uses it. 2010-09-13 15:58:08 -07:00
getevents.c input: change pointer screen crossing behaviour for multiple ScreenRecs 2011-10-13 11:34:43 +10:00
globals.c dix: delete logo hack screen saver 2010-11-11 23:20:35 +02:00
glyphcurs.c Replace dixChangeGC with calls directly to the right variant. 2010-05-13 17:14:07 -07:00
grabs.c dix: ignore devices when adding passive core grabs to list (#39545) 2011-08-22 15:56:50 +10:00
initatoms.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
inpututils.c Store desktop dimensions in screenInfo. 2011-10-13 11:26:09 +10:00
main.c Terminate the log with one last message. 2011-07-27 09:31:02 +10:00
Makefile.am Don't use empty source files 2011-06-23 05:28:31 -07:00
pixmap.c Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
privates.c Add fence sync driver interface 2010-12-06 19:15:26 -08:00
property.c DIX: Reset window properties when freeing them 2010-12-31 12:52:50 +00:00
protocol.txt Add DRI2 requests to protocol.txt 2009-08-28 23:29:05 -04:00
ptrveloc.c Input: Convert acceleration code to using ValuatorMask 2011-09-29 12:24:34 +10:00
region.c Delete RegionClipSpans() 2011-03-01 07:58:06 -05:00
registry.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
resource.c dix: silence compiler warning 2011-04-21 13:43:46 +10:00
selection.c Fix property and selection devPrivate allocation. 2010-09-10 11:44:12 -07:00
swaprep.c Cast char* buffers to swap functions 2011-09-21 17:14:44 -04:00
swapreq.c Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
tables.c dix: remove proc tables initialization 2010-09-28 16:46:46 +03:00
window.c Fix non-Composite builds in PrintWindowTree 2011-07-15 15:44:06 +10:00
Xserver-dtrace.h.in Sun's copyrights now belong to Oracle 2010-12-07 11:10:35 -08:00
Xserver.d Sun's copyrights now belong to Oracle 2010-12-07 11:10:35 -08:00