Go to file
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
composite Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
config Merge remote-tracking branch 'herrb/master' 2011-10-03 13:56:06 -07:00
damageext Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
dbe Unconditionally #include <stdint.h> 2011-09-23 16:46:23 -07:00
dix input: change pointer screen crossing behaviour for multiple ScreenRecs 2011-10-13 11:34:43 +10:00
doc Xserver-spec: use appropriate copyright markup 2011-10-03 12:19:58 -07:00
exa EXA/mixed: Update sys_pitch in MPH even when there's no system memory copy. 2011-08-10 09:30:08 -07:00
fb fb: Rename wfbTriangles and wfbTrapezoids 2011-09-21 14:14:05 -07:00
glx Remove unnecessary #undefs of [f]abs and old comments 2011-09-21 17:12:04 -04:00
hw Store desktop dimensions in screenInfo. 2011-10-13 11:26:09 +10:00
include input: change pointer screen crossing behaviour for multiple ScreenRecs 2011-10-13 11:34:43 +10:00
m4 Use XORG_STRICT_OPTION from util-macros 1.14 to set -Werror flags 2011-05-27 19:51:05 -07:00
man config: add udev/systemd multi-seat support 2011-08-22 15:56:49 +10:00
mi input: change pointer screen crossing behaviour for multiple ScreenRecs 2011-10-13 11:34:43 +10:00
miext Merge remote-tracking branch 'whot/for-keith' 2011-07-01 15:45:45 -07:00
os Merge remote-tracking branch 'alanc/master' 2011-10-03 11:49:23 -07:00
randr Use correct swap{l,s} (or none at all for CARD8) 2011-09-21 17:14:16 -04:00
record Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
render Unconditionally #include <stdint.h> 2011-09-23 16:46:23 -07:00
test Store desktop dimensions in screenInfo. 2011-10-13 11:26:09 +10:00
Xext Unconditionally #include <stdint.h> 2011-09-23 16:46:23 -07:00
xfixes Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
Xi Input: Add smooth-scrolling support to GetPointerEvents 2011-09-30 09:24:18 +10:00
xkb Add #include "inpututils.h" to xkbAccessX.c for init_device_event 2011-10-03 08:54:09 +10:00
.gitignore doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac Merge remote-tracking branch 'herrb/master' 2011-10-03 13:56:06 -07:00
COPYING Add asprintf() implementation for platforms without it 2010-12-07 11:10:35 -08:00
devbook.am devbook.am: maintenance update from docbook.am 2011-09-21 14:07:52 -07:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-09-21 14:07:49 -07:00
fix-miregion Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-miregion-private Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-patch-whitespace Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fix-region Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
Makefile.am man: relocate manual pages in the man subdir outside doc 2011-05-13 14:08:17 -07:00
manpages.am Xdmx.man: Show actual configured XKB defaults instead of old hardcoded values 2011-06-21 17:54:14 -07:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08:00
xorg-server.pc.in config: declare xserver private dependencies in xorg-server.pc 2010-06-22 11:34:47 -07:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage