[PATCH xwayland v3 0/7] Pointer locking/confinement fixes

Peter Hutterer peter.hutterer at who-t.net
Wed Jun 7 06:07:25 UTC 2017


On Sun, May 28, 2017 at 03:56:15PM +0200, Carlos Garnacho wrote:
> Hey,
> 
> Here's an updated version of the patches loosening some restrictions for
> pointer confinement/locking to work. The patches were originally reported
> as helping for Wine, but since then I've also seen them fixing problems
> with blender[1] and some other "native" linux games from Steam that would
> also do the "confine, but don't warp" trick.
> 
> The main changes are:
> - The checks on confinement/warp got again more lenient compared to v2
>   patches. We can't successfully correlate the focus client with the
>   client doing the grab/warp operation in some situations.
> - Instead of special casing relative motion while the pointer is confined
>   and has no cursor, just lock the pointer and rely on the warp_emulator.
> 
> Cheers,
>   Carlos
> 
> [1] https://bugs.freedesktop.org/show_bug.cgi?id=100740
> 
> Carlos Garnacho (7):
>   dix: assume warping on the RootWindow always happens on visible coords
>   xwayland: Allow pointer warp on root/None window
>   xwayland: "Accept" confineTo on InputOnly windows
>   xwayland: Update root window size when desktop size changes
>   xwayland: Lock the pointer if it is confined and has no cursor
>   Xi: Use WarpPointerProc hook on XI pointer warping implementation
>   xwayland: Remove two unused proc pointers.
> 
>  Xi/xiwarppointer.c            |  4 ++++
>  dix/events.c                  |  2 +-
>  hw/xwayland/xwayland-input.c  | 29 ++++++++++++++++++++++++++++-
>  hw/xwayland/xwayland-output.c |  3 +++
>  hw/xwayland/xwayland.c        | 33 ++++++++++++++++++++++++++++++++-
>  hw/xwayland/xwayland.h        |  2 --
>  6 files changed, 68 insertions(+), 5 deletions(-)

Series pushed as:
remote: Updating patchwork state for https://patchwork.freedesktop.org/project/Xorg/list/
remote: I: patch #121052 updated using rev f065721e6fa6e9057cca4eadaf145a4dc22a08d2.
remote: E: failed to find patch for rev c217fcb4c4640ffd2fefee63c6fcd7ea5e64b942.
remote: I: patch #158632 updated using rev fafdb0cc9697eb53635ed1e78bec1d4cd87ab3a2.
remote: I: patch #121054 updated using rev 513e3bd3870fdb8a8e0e2e52c0fa93872300bc8b.
remote: I: patch #158635 updated using rev ca17f3e9fd3b59fdc5ffd0e5d78e4db6ddc87aa1.
remote: I: patch #121057 updated using rev 95febc42cadf392a888104ad6d5cf4f34fdde7d5.
remote: I: patch #121058 updated using rev d5e2f271ad93e50412ff3605fb25cb9622f437e0.
remote: I: 6 patch(es) updated to state Accepted.
To git+ssh://git.freedesktop.org/git/xorg/xserver
   7c88977d3..d5e2f271a  master -> master

Cheers,
   Peter


More information about the xorg-devel mailing list