Find a file
Yufeng Shen bea56fc9c4 dix: fix scale_to_desktop for edge ABS events
Scale_to_desktop() converts ABS events from device coordinates
to screen coordinates:
[dev_X_min, dev_X_max]  -> [screen_X_min, screen_X_max]
[dev_Y_min, dev_Y_max]  -> [screen_Y_min, screen_Y_max]

An edge ABS event with X = dev_X_max (e.g., generated from the
edge of a touchscreen) will be converted to have screen X value
= screen_X_max, which, however, will be filterd out when xserver
tries to find proper Window to receive the event, because the
range check for a Window to receive events is
       window_X_min <= event_screen_X < window_X_max
Events with event_screen_X = screen_X_max will fail the test get
and rejected by the Window.

To fix this, we change the device to screen coordinates mapping to
[dev_X_min, dev_X_max]  -> [screen_X_min, screen_X_max-1]
[dev_Y_min, dev_Y_max]  -> [screen_Y_min, screen_Y_max-1]

Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Yufeng Shen <miletus@chromium.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 0b02150c27)
2012-10-12 09:47:21 +10:00
composite Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
config config/udev: respect seat for hotplugged video devices. 2012-09-04 16:16:02 +10:00
damageext Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
dbe Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
dix dix: fix scale_to_desktop for edge ABS events 2012-10-12 09:47:21 +10:00
doc Add screen-specific privates. 2012-07-05 13:39:50 -07:00
exa exa: pixmap sharing infrastructure (v3) 2012-07-07 10:37:10 +01:00
fb fb: reorder Bresenham error correction to avoid overshoot. 2012-08-14 12:14:25 -07:00
glx glx: Skip multisampled configs when matching pre-existing X visuals. 2012-08-15 13:25:08 -07:00
hw xf86: call enter/leave VT for gpu screens as well 2012-09-04 16:16:17 +10:00
include Merge remote-tracking branch 'jeremyhu/master' 2012-09-05 11:02:58 -07:00
m4 Use XORG_STRICT_OPTION from util-macros 1.14 to set -Werror flags 2011-05-27 19:51:05 -07:00
man os: Add -displayfd option 2012-05-01 11:36:30 +10:00
mi mi: don't check for core events in miPointerSetPosition (#53568) 2012-08-23 14:48:14 +10:00
miext cw: Remove 2012-07-25 14:02:44 -07:00
os os: fix typo, fsync when WIN32 is _not_ defined 2012-08-23 14:48:18 +10:00
randr Merge remote-tracking branch 'alanc/master' 2012-08-06 16:40:54 -07:00
record Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
render Only free Render filter names on last screen close 2012-08-14 17:12:21 -07:00
test Merge remote-tracking branch 'jeremyhu/master' 2012-09-05 11:02:58 -07:00
Xext sync: Fix logic error from b55bf24858 2012-08-06 16:14:37 -07:00
xfixes Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
Xi Xi: Don't check for TOUCH_END, it's never set 2012-10-08 11:19:39 +10:00
xkb xwin: Clean up os wrappers for System, Popen and Pclose on Windows 2012-07-17 16:08:04 +01: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 Version bumped to 1.13 2012-09-05 14:45:08 -07:00
COPYING Loader: Remove extension initialisation sorting 2012-07-10 00:31:02 -07: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 Add 'install-headers' target in the top-level Makefile 2012-07-09 16:29:04 -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 xfree86: link modules against Xorg symbols on Cygwin 2012-04-05 21:57:07 -05: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