xserver/hw/xwayland
Jonas Ådahl a6e85e6330 xwayland: Add pointer warp emulator
Emulate pointer warps by locking the pointer and sending relative
motion events instead of absolute. X will keep track of the "fake"
pointer cursor position given the relative motion events, and the
client warping the cursor will warp the faked cursor position.

Various requirements need to be met for the pointer warp emulator to
enable:

The cursor must be invisible: since it would not be acceptable that a
fake cursor position would be different from the visual representation
of the cursor, emulation can only be done when there is no visual
representation done by the Wayland compositor. Thus, for the emulator
to enable, the cursor must be hidden, and would the cursor be displayed
while the emulator is active, the emulator would be destroyed.

The window that is warped within must be likely to have pointer focus.
For example, warping outside of the window region will be ignored.

The pointer warp emulator will disable itself once the fake cursor
position leaves the window region, or the cursor is made visible.

This makes various games depending on pointer warping (such as 3D
first-person shooters and stategy games using click-to-drag-map like
things) work.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2016-10-05 13:51:02 -04:00
..
.gitignore xwayland: Bind pointer constraints global 2016-10-05 13:50:46 -04:00
Makefile.am xwayland: Bind pointer constraints global 2016-10-05 13:50:46 -04:00
drm.xml xwayland: Add glamor and DRI3 support 2014-06-24 15:09:55 -07:00
xwayland-cursor.c xwayland: Add pointer warp emulator 2016-10-05 13:51:02 -04:00
xwayland-cvt.c xwayland: do not include frequency in mode name 2016-03-28 14:09:09 -04:00
xwayland-glamor-xv.c xwayland: Fix compiler warning in GLAMOR Xv 2016-04-15 16:22:16 -04:00
xwayland-glamor.c xwayland: Fix whitespace errors 2016-06-20 15:40:07 +10:00
xwayland-input.c xwayland: Add pointer warp emulator 2016-10-05 13:51:02 -04:00
xwayland-output.c xwayland: Avoid double free of RRCrtc and RROutput 2016-08-15 14:20:54 -04:00
xwayland-shm.c xwayland: Close the shm fd as early as possible 2016-09-28 14:23:59 -04:00
xwayland-vidmode.c xwayland: Pretend we support viewport in vidmode 2016-03-28 14:10:59 -04:00
xwayland.c xwayland: Add pointer warp emulator 2016-10-05 13:51:02 -04:00
xwayland.h xwayland: Add pointer warp emulator 2016-10-05 13:51:02 -04:00