Commit Graph

138 Commits

Author SHA1 Message Date
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
2021-03-29 11:27:54 +03:00
Pierre Ossman
da83ecf86a Drop other selection on ownership change
Otherwise we might end up owners of something we cannot deliver data on,
which can hang applications.
2021-03-29 11:03:38 +03:00
Pierre Ossman
f54dc7829a Update keycode maps to latest version
Mainly fixes for Japanese and Korean keyboard layouts.
2021-03-29 10:57:41 +03:00
Dmitry Maksyoma
da4ff4fa70 Merge branch 'master' into vncserver-remove-basicauth 2021-03-25 23:16:22 +13:00
Dmitry Maksyoma
4e8750e37a Disable passing of basicauth in vncserver 2021-03-25 23:05:20 +13:00
Lauri Kasanen
1632f4888d Enable basicauth by default, remove the option to supply it on the command line 2021-03-25 11:25:30 +02:00
matt
46e03289be Manually merged region changes 2021-03-22 10:36:39 +00:00
Lauri Kasanen
c3e30dcea1 Add support for DLP_Region 2021-03-15 13:48:56 +02:00
Dmitry Maksyoma
7bffbb53da vncserver: remove securitytypes mention from man page
securitytypes is no longer used.
2021-03-15 22:27:19 +13:00
Dmitry Maksyoma
b48fa8a262 vncpasswd man: update the top level description 2021-03-13 21:51:54 +13:00
Dmitry Maksyoma
6f803f744d vncpasswd man: update to be current regarding password length 2021-03-13 21:48:59 +13:00
Dmitry Maksyoma
79682d3dee vncpasswd man: add overview 2021-03-13 20:17:23 +13:00
Dmitry Maksyoma
2b8374f544 Update vncpasswd manual page 2021-03-13 20:07:06 +13:00
Lauri Kasanen
3f6524ee30 Add support for owner screenshot HTTP GET API 2021-03-02 15:23:32 +02:00
Dmitry Maksyoma
489c68f7cc Merge branch 'users' into packages_and_multiuser_passwd 2021-02-28 19:50:27 +13:00
Lauri Kasanen
59fe8ad9db kasmvncpasswd: Nicer behavior when piping a password, add example in help 2021-02-25 13:15:02 +02:00
Dmitry Maksyoma
9084409a20 Merge branch 'users' into packages_and_multiuser_passwd 2021-02-25 22:10:40 +13:00
Dmitry Maksyoma
0d0f8afceb Update FSF address in licences to please rpmlint 2021-02-12 23:06:40 +13:00
Kasm
41d518eda4
Merge pull request #16 from kasmtech/create_ubuntu_packages
Create Ubuntu 18.04 package
2021-01-18 13:02:38 -06:00
Lauri Kasanen
83c83f43ef Add a parameter for separate SSL key 2021-01-15 13:07:53 +02:00
matt
de4ddcb154 Fix auth error and build permissions 2021-01-10 16:24:09 +00:00
Lauri Kasanen
30b9a82c08 kasmvncpasswd: Add delete support 2020-10-12 13:34:18 +03:00
Lauri Kasanen
896950ea13 kasmvncpasswd: Add support for multiple users 2020-10-09 15:36:03 +03:00
matt
0a68500ee3 updated readme and vncserver 2020-10-05 19:10:59 +00:00
Lauri Kasanen
279c41fc32 Add option to pass the password in an encrypted file, kasmvncpasswd utility 2020-10-01 14:37:51 +03:00
Pierre Ossman
45e44a66e5 Tolerate specifying -BoolParam 0 and similar
This is needed by vncserver which doesn't know which parameters are
boolean, and it cannot use the -Param=Value form as that isn't tolerated
by the Xorg code.
2020-09-21 13:54:41 +03:00
Mark Mielke
f814a93214 vncserver: Remove legacy HP-UX support
The check for existence of `/usr/spool/sockets/X11/<n>` has been
removed. This file is only relevant on HP-UX, and TigerVNC dropped
support for HP-UX in commit 31e5aa3.
2020-09-21 13:51:13 +03:00
Pierre Ossman
e5b02f996e Catch errors resizing framebuffer 2020-09-21 13:37:53 +03:00
Pierre Ossman
9eca28a084 Add final line break to FatalError() calls
It expects the callers to include this, so make sure we're consistently
providing one.
2020-09-21 13:37:31 +03:00
Pierre Ossman
a2099e5e40 Avoid using RegionInit() because of empty rects
It creates an invalid region if given an empty rect. Fortunately
RegionInitBoxes() handles that just fine, so use that instead.
2020-09-21 13:29:49 +03:00
Pierre Ossman
f528483975 Stop using legacy region macros
We no longer support such old X servers so start using the current
functions.
2020-09-21 13:29:24 +03:00
Pierre Ossman
a00e40c340 Handle empty changes for every operation
It seems like many of the X11 operations can end up with no pixels
actually changing. So instead of discovering and adding workarounds for
each individually we'll just check very region added if it's empty.
2020-09-21 13:28:33 +03:00
Pierre Ossman
a4e0dbf7db Remove 8-bit support from documentation
We removed support in the code ages ago, but overlooked this part of the
documentation. Also remove some dead code in Xvnc on the same theme.
2020-09-21 13:27:19 +03:00
Pierre Ossman
06f3413446 Remove support for old Xorg versions
No current distribution ship anything this ancient anyway.
2020-09-21 13:25:11 +03:00
Lauri Kasanen
49f9ce8e5b Remove remnants of the old HTTP server 2020-09-21 13:17:11 +03:00
Linus Heckemann
6e5a837c21 xserver: add no-op input thread init function
This allows Xvnc to build with xorg-server 1.20.7, which requires OS
layers to implement a ddxInputThreadInit function when configured with
--enable-input-thread (the default).

relevant xorg-server commit: e3f26605d85d987da434640f52646d728f1fe919
2020-09-21 13:07:43 +03:00
Pierre Ossman
3ee909ffe6 Don't background the main session command
When used with -fg we expect the startup script to remain running until
the session is over. This will not happen if the session command is put
in the background using &.
2020-09-21 12:59:06 +03:00
matt
408c005d3e Initial commit 2020-09-20 12:16:44 +00:00