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/common/rfb
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
..
Blacklist.cxx Initial commit 5 years ago
Blacklist.h Initial commit 5 years ago
CConnection.cxx Initial commit 5 years ago
CConnection.h Initial commit 5 years ago
CMakeLists.txt Apply read-only perms upon connecting 5 years ago
CMsgHandler.cxx Initial commit 5 years ago
CMsgHandler.h Initial commit 5 years ago
CMsgReader.cxx Initial commit 5 years ago
CMsgReader.h Initial commit 5 years ago
CMsgWriter.cxx Simplify stream availability handling 4 years ago
CMsgWriter.h Initial commit 5 years ago
CSecurity.h Initial commit 5 years ago
CSecurityNone.h Initial commit 5 years ago
CSecurityPlain.cxx Initial commit 5 years ago
CSecurityPlain.h Initial commit 5 years ago
CSecurityStack.cxx Initial commit 5 years ago
CSecurityStack.h Initial commit 5 years ago
CSecurityTLS.cxx Initial commit 5 years ago
CSecurityTLS.h Initial commit 5 years ago
CSecurityVeNCrypt.cxx Initial commit 5 years ago
CSecurityVeNCrypt.h Initial commit 5 years ago
CSecurityVncAuth.cxx Initial commit 5 years ago
CSecurityVncAuth.h Initial commit 5 years ago
ComparingUpdateTracker.cxx Initial commit 5 years ago
ComparingUpdateTracker.h Initial commit 5 years ago
Configuration.cxx Enable basicauth by default, remove the option to supply it on the command line 4 years ago
Configuration.h Use size_t for lengths in stream objects 5 years ago
Congestion.cxx Initial commit 5 years ago
Congestion.h Initial commit 5 years ago
ConnParams.cxx Add support for notifying clients about pointer movements 4 years ago
ConnParams.h Add support for notifying clients about pointer movements 4 years ago
CopyRectDecoder.cxx Initial commit 5 years ago
CopyRectDecoder.h Initial commit 5 years ago
Cursor.cxx Initial commit 5 years ago
Cursor.h Initial commit 5 years ago
DecodeManager.cxx Initial commit 5 years ago
DecodeManager.h Initial commit 5 years ago
Decoder.cxx Initial commit 5 years ago
Decoder.h Initial commit 5 years ago
EncCache.cxx Initial commit 5 years ago
EncCache.h Initial commit 5 years ago
EncodeManager.cxx Add support for owner screenshot HTTP GET API 4 years ago
EncodeManager.h Add a debug-level print on the last ~second's maximum encoding time 5 years ago
EncodeManagerBPP.cxx Initial commit 5 years ago
Encoder.cxx Initial commit 5 years ago
Encoder.h Initial commit 5 years ago
Exception.h Initial commit 5 years ago
HextileDecoder.cxx Initial commit 5 years ago
HextileDecoder.h Initial commit 5 years ago
HextileEncoder.cxx Initial commit 5 years ago
HextileEncoder.h Initial commit 5 years ago
Hostname.h Initial commit 5 years ago
InputHandler.h Manually merged region changes 4 years ago
JpegCompressor.cxx Remove special functions from JPEG compressor 4 years ago
JpegCompressor.h Remove special functions from JPEG compressor 4 years ago
JpegDecompressor.cxx Initial commit 5 years ago
JpegDecompressor.h Initial commit 5 years ago
KeyRemapper.cxx Initial commit 5 years ago
KeyRemapper.h Initial commit 5 years ago
ListConnInfo.h Initial commit 5 years ago
LogWriter.cxx Initial commit 5 years ago
LogWriter.h Initial commit 5 years ago
Logger.cxx Initial commit 5 years ago
Logger.h Initial commit 5 years ago
Logger_file.cxx Initial commit 5 years ago
Logger_file.h Initial commit 5 years ago
Logger_stdio.cxx Initial commit 5 years ago
Logger_stdio.h Initial commit 5 years ago
Logger_syslog.cxx Initial commit 5 years ago
Logger_syslog.h Initial commit 5 years ago
Palette.h Initial commit 5 years ago
Password.cxx Use size_t for lengths in stream objects 5 years ago
Password.h Use size_t for lengths in stream objects 5 years ago
Pixel.h Initial commit 5 years ago
PixelBuffer.cxx Initial commit 5 years ago
PixelBuffer.h Initial commit 5 years ago
PixelFormat.cxx Handle pixel formats with odd shift values 5 years ago
PixelFormat.h Initial commit 5 years ago
PixelFormat.inl Initial commit 5 years ago
PixelFormatBPP.cxx Initial commit 5 years ago
RREDecoder.cxx Initial commit 5 years ago
RREDecoder.h Initial commit 5 years ago
RREEncoder.cxx Initial commit 5 years ago
RREEncoder.h Initial commit 5 years ago
RawDecoder.cxx Initial commit 5 years ago
RawDecoder.h Initial commit 5 years ago
RawEncoder.cxx Initial commit 5 years ago
RawEncoder.h Initial commit 5 years ago
Rect.h Initial commit 5 years ago
Region.cxx Initial commit 5 years ago
Region.h Initial commit 5 years ago
SConnection.cxx Initial commit 5 years ago
SConnection.h Initial commit 5 years ago
SDesktop.h Initial commit 5 years ago
SMsgHandler.cxx Prevent read-only clients from changing kasm settings 5 years ago
SMsgHandler.h Prevent read-only clients from changing kasm settings 5 years ago
SMsgReader.cxx Manually merged region changes 4 years ago
SMsgReader.h Add support for bottleneck stats 5 years ago
SMsgWriter.cxx Add support for notifying clients about pointer movements 4 years ago
SMsgWriter.h Add support for notifying clients about pointer movements 4 years ago
SSecurity.h Initial commit 5 years ago
SSecurityNone.h Initial commit 5 years ago
SSecurityPlain.cxx Initial commit 5 years ago
SSecurityPlain.h Initial commit 5 years ago
SSecurityStack.cxx Initial commit 5 years ago
SSecurityStack.h Initial commit 5 years ago
SSecurityTLS.cxx Initial commit 5 years ago
SSecurityTLS.h Initial commit 5 years ago
SSecurityVeNCrypt.cxx Initial commit 5 years ago
SSecurityVeNCrypt.h Initial commit 5 years ago
SSecurityVncAuth.cxx Initial commit 5 years ago
SSecurityVncAuth.h Initial commit 5 years ago
ScaleFilters.cxx Initial commit 5 years ago
ScaleFilters.h Initial commit 5 years ago
ScreenSet.h Initial commit 5 years ago
Security.cxx Initial commit 5 years ago
Security.h Initial commit 5 years ago
SecurityClient.cxx Initial commit 5 years ago
SecurityClient.h Initial commit 5 years ago
SecurityServer.cxx Initial commit 5 years ago
SecurityServer.h Initial commit 5 years ago
ServerCore.cxx Manually merged region changes 4 years ago
ServerCore.h Manually merged region changes 4 years ago
TightConstants.h Initial commit 5 years ago
TightDecoder.cxx Make ZlibInStream more robust against failures 5 years ago
TightDecoder.h Initial commit 5 years ago
TightEncoder.cxx Initial commit 5 years ago
TightEncoder.h Initial commit 5 years ago
TightEncoderBPP.cxx Initial commit 5 years ago
TightJPEGEncoder.cxx Initial commit 5 years ago
TightJPEGEncoder.h Initial commit 5 years ago
TightWEBPEncoder.cxx Initial commit 5 years ago
TightWEBPEncoder.h Initial commit 5 years ago
Timer.cxx Initial commit 5 years ago
Timer.h Support calling methods from timers 4 years ago
UnixPasswordValidator.cxx Initial commit 5 years ago
UnixPasswordValidator.h Initial commit 5 years ago
UpdateTracker.cxx Initial commit 5 years ago
UpdateTracker.h Initial commit 5 years ago
UserMsgBox.h Initial commit 5 years ago
UserPasswdGetter.h Initial commit 5 years ago
VNCSConnectionST.cxx Add support for notifying clients about pointer movements 4 years ago
VNCSConnectionST.h Add support for notifying clients about pointer movements 4 years ago
VNCServer.h Add support for notifying clients about pointer movements 4 years ago
VNCServerST.cxx Add support for notifying clients about pointer movements 4 years ago
VNCServerST.h Add support for notifying clients about pointer movements 4 years ago
WinPasswdValidator.cxx Initial commit 5 years ago
WinPasswdValidator.h Initial commit 5 years ago
XF86keysym.h Initial commit 5 years ago
ZRLEDecoder.cxx Initial commit 5 years ago
ZRLEDecoder.h Initial commit 5 years ago
ZRLEEncoder.cxx Remove unused bufSize argument from streams 4 years ago
ZRLEEncoder.h Initial commit 5 years ago
ZRLEEncoderBPP.cxx Initial commit 5 years ago
adler32.h Initial commit 5 years ago
d3des.c Initial commit 5 years ago
d3des.h Initial commit 5 years ago
encodings.cxx Initial commit 5 years ago
encodings.h Add support for notifying clients about pointer movements 4 years ago
fenceTypes.h Initial commit 5 years ago
hextileConstants.h Initial commit 5 years ago
hextileDecode.h Initial commit 5 years ago
hextileEncode.h Initial commit 5 years ago
hextileEncodeBetter.h Initial commit 5 years ago
keysymdef.h Initial commit 5 years ago
ledStates.h Initial commit 5 years ago
msgTypes.h Add support for bottleneck stats 5 years ago
pam.c Initial commit 5 years ago
pam.h Initial commit 5 years ago
qemuTypes.h Initial commit 5 years ago
rreDecode.h Initial commit 5 years ago
rreEncode.h Initial commit 5 years ago
screenTypes.h Initial commit 5 years ago
tightDecode.h Handle empty Tight gradient rects 5 years ago
util.cxx Initial commit 5 years ago
util.h Use size_t for lengths in stream objects 5 years ago
xxhash.c Initial commit 5 years ago
xxhash.h Initial commit 5 years ago
zrleDecode.h Make ZlibInStream more robust against failures 5 years ago