You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
KasmVNC/unix/xserver/hw/vnc
lhchavez 25b8e64adb Add support for notifying clients about pointer movements
This change adds support for the VMware Mouse Position
pseudo-encoding[1], which is used to notify VNC clients when X11 clients
call `XWarpPointer()`[2]. This function is called by SDL (and other
similar libraries)  when they detect that the server does not support
native relative motion, like some RFB clients.

With this, RFB clients can choose to adjust the local cursor position
under certain circumstances to match what the server has set. For
instance, if pointer lock has been enabled on the client's machine and
the cursor is not being drawn locally, the local position of the cursor
is irrelevant, so the RFB client can use what the server sends as the
canonical absolute position of the cursor. This ultimately enables the
possibility of games (especially FPS games) to behave how users expect
(if the clients implement the corresponding change).

Part of: #619

1: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#vmware-cursor-position-pseudo-encoding
2: https://tronche.com/gui/x/xlib/input/XWarpPointer.html
3: https://hg.libsdl.org/SDL/file/28e3b60e2131/src/events/SDL_mouse.c#l804
4 years ago
..
.gitignore Initial commit 5 years ago
Input.c Manually merged region changes 4 years ago
Input.h Manually merged region changes 4 years ago
InputXKB.c Initial commit 5 years ago
Makefile.am Add option to pass the password in an encrypted file, kasmvncpasswd utility 5 years ago
RFBGlue.cc Tolerate specifying -BoolParam 0 and similar 5 years ago
RFBGlue.h Tolerate specifying -BoolParam 0 and similar 5 years ago
RandrGlue.c Initial commit 5 years ago
XorgGlue.c Initial commit 5 years ago
XorgGlue.h Initial commit 5 years ago
XserverDesktop.cc Add support for notifying clients about pointer movements 4 years ago
XserverDesktop.h Add support for notifying clients about pointer movements 4 years ago
Xvnc.man Enable basicauth by default, remove the option to supply it on the command line 4 years ago
buildtime.c Initial commit 5 years ago
qnum_to_xorgevdev.c Update keycode maps to latest version 4 years ago
qnum_to_xorgkbd.c Update keycode maps to latest version 4 years ago
vncBlockHandler.c Initial commit 5 years ago
vncBlockHandler.h Initial commit 5 years ago
vncExt.c Initial commit 5 years ago
vncExtInit.cc Add support for notifying clients about pointer movements 4 years ago
vncExtInit.h Add support for notifying clients about pointer movements 4 years ago
vncHooks.c Add support for notifying clients about pointer movements 4 years ago
vncHooks.h Initial commit 5 years ago
vncModule.c Initial commit 5 years ago
vncSelection.c Drop other selection on ownership change 4 years ago
vncSelection.h Initial commit 5 years ago
xorg-version.h Initial commit 5 years ago
xvnc.c Tolerate specifying -BoolParam 0 and similar 5 years ago