aboutsummaryrefslogtreecommitdiffstats
path: root/win
Commit message (Collapse)AuthorAgeFilesLines
* Add support for notifying clients about pointer movementslhchavez2021-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* Update copyright year to 2021Pierre Ossman2021-01-252-2/+2
|
* Merge branch 'noblock' of https://github.com/CendioOssman/tigervncPierre Ossman2021-01-191-5/+32
|\
| * Change streams to be asynchronousPierre Ossman2020-05-211-5/+32
| | | | | | | | | | | | | | | | | | | | Major restructuring of how streams work. Neither input nor output streams are now blocking. This avoids stalling the rest of the client or server when a peer is slow or unresponsive. Note that this puts an extra burden on users of streams to make sure they are allowed to do their work once the underlying transports are ready (e.g. monitoring fds).
* | Don't clear complex objects using memset()Pierre Ossman2020-05-312-4/+2
|/ | | | This is fine for simple structs but not class based objects.
* Use standard install dir variable namesPierre Ossman2020-03-123-3/+3
| | | | | This makes our builds directly compatible with most distributions without packagers/users having to specify extra flags.
* Update copyright year to 2020Pierre Ossman2020-01-162-2/+2
|
* Clean up initialization of DIBSectionBufferPierre Ossman2020-01-034-35/+8
| | | | | | We had an unintentional conflict with PixelBuffer::setSize() here. But we can simplify this further as this initialization is only used by the subclass DeviceFrameBuffer, and only once.
* Use size_t for lengths in stream objectsPierre Ossman2019-11-152-6/+6
| | | | | | | | Provides safety against them accidentally becoming negative because of bugs in the calculations. Also does the same to CharArray and friends as they were strongly connection to the stream objects.
* Encapsulate PixelBuffer internal detailsPierre Ossman2019-11-151-25/+16
| | | | | | Don't allow subclasses to just override dimensions or buffer details directly and instead force them to go via methods. This allows us to do sanity checks on the new values and catch bugs and attacks.
* Use display polling by default in WinVNCPierre Ossman2019-09-061-1/+1
| | | | | Window hooks aren't working well on modern systems so switch the default to polling until we can fix things.
* Use UTF-8 in clipboard APIPierre Ossman2019-07-011-54/+19
| | | | | In prepartion for better clipboard extensions that can send Unicode data between the client and server.
* Improved clipboard APIPierre Ossman2019-07-014-36/+65
| | | | | Change the internal clipboard API to use a request based model in order to be prepared for more advanced clipboard transfers.
* Clean up internal clipboard handlingPierre Ossman2019-07-014-12/+12
| | | | | | We now filter incoming data, which means we can start assuming the clipboard data is always null terminated. This allows us to clean up a lot of the internal handling.
* Make sure clipboard uses \n line endingsPierre Ossman2019-07-011-14/+2
| | | | | | This is required by the protocol so we should make sure it is enforced. We are tolerant of clients that violate this though and convert incoming clipboard data.
* Add missing throws for exceptionPierre Ossman2019-03-261-1/+1
| | | | | It is not enough to create an exception object, you need to throw it as well.
* Update visible copyright years to 2019Samuel Mannehed2019-02-272-2/+2
|
* Merge branch 'exittimer' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-094-2/+15
|\
| * Get rid of SocketServer::checkTimeouts()Pierre Ossman2018-11-091-1/+2
| | | | | | | | | | | | It doesn't belong on each socket server object as timers are global. Force implementations to call the Timer system directly instead, avoiding any middle men.
| * Properly terminate server on timeoutsPierre Ossman2018-11-093-1/+13
| | | | | | | | | | | | Do a proper cleanup when one of the termination timeouts trigger rather than just exiting on the spot. This makes sure we don't leave stray stuff around, e.g. unix socket files.
* | Merge branch 'vncserver' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-0911-39/+304
|\|
| * Stop trying to send ListConnInfo via WM_COPYDATAPierre Ossman2018-11-092-3/+3
| | | | | | | | | | | | Windows tries to do a copy of it, and it is too complex to survive that. Just reference the object directly as we know the source of the message here.
| * Move ListConnInfo to WinVNC directoryPierre Ossman2018-11-098-20/+253
| | | | | | | | | | It is functionality specific to WinVNC, so move the code there to make things more clear.
| * Encapsulate client handling in VNCServerSTPierre Ossman2018-10-261-0/+1
| | | | | | | | | | | | Removed the last parts of VNCSConnectionST's back door in to VNCServerST and let the parent class fully handle coordination of clients, and access to the desktop.
| * Remove QueryConnectionHandlerPierre Ossman2018-10-104-6/+38
| | | | | | | | | | Make things simpler by making this a part of the SDesktop interface that always needs to be implemented.
| * Force common flow of connection queriesPierre Ossman2018-10-092-11/+10
| | | | | | | | | | | | Force queryConnection() to always call back to approveConnection() rather than return special values. This makes the flow easier to follow as it will be the same in all cases.
* | Merge branch 'nojava' of https://github.com/CendioOssman/tigervncPierre Ossman2018-10-2614-288/+2
|\|
| * Remove Java web serverPierre Ossman2018-10-0914-288/+2
| | | | | | | | | | Applets don't work anymore so remove everything that has to do with serving them.
* | Change to https for tigervnc URLPierre Ossman2018-10-193-3/+3
|/ | | | Our main web site now supports https, so update all references.
* Interpret Meta as AltPierre Ossman2018-09-211-0/+2
| | | | | Shift+Alt often generates Meta on Unix systems. Assume this is the same thing as Alt on Windows.
* Merge branch 'unix' of https://github.com/CendioOssman/tigervncPierre Ossman2018-05-292-5/+5
|\
| * Use abstract SocketListener classPierre Ossman2018-05-042-5/+5
| | | | | | | | | | Makes the code more general and not directly tied to specifically TCP sockets.
* | Catch exceptions by referencePierre Ossman2018-05-295-11/+11
|/ | | | | We use polymorphic exception objects, so catching by value invokes the copy constructor and stuff that we don't really want.
* Fix another compile error on Windows when not building with GnuTLSPeter Åstrand (astrand)2018-05-021-0/+2
|
* Update visible copyright year to 2018Samuel Mannehed2018-02-082-2/+2
|
* Rename README.txt to README.rst and convert to reStructuredTextPeter Åstrand (astrand)2018-01-312-2/+2
|
* Stop using CopyRect in WinVNCPierre Ossman2017-11-241-5/+5
| | | | | | It cannot keep itself in sync with the actual screen contents well enough for CopyRect to work accurately. Graphical glitches could be seen in some cases.
* Merge branch 'pause' of https://github.com/CendioOssman/tigervncPierre Ossman2017-11-171-0/+31
|\
| * Handle Ctrl+Alt+Delete in raw keyboard modePierre Ossman2017-11-131-0/+8
| | | | | | | | | | Ctrl+Alt+Delete requires special handling to trigger on Windows. Make sure this works in raw keyboard mode as well.
| * Handle Windows scan code exceptionsPierre Ossman2017-11-131-0/+23
| | | | | | | | | | Windows mostly follows the AT set 1 scan codes that we want, but there are a few exceptions.
* | Fix compile error on windows when not building with GnuTLSBrian P. Hinz2017-11-161-0/+2
| |
* | Merge pull request #500 from bphinz/issue106-rebaseBrian Hinz2017-11-151-3/+52
|\ \ | |/ |/| Hook up the "Load X.509 Cert/Key" dialogs in winvnc. Fixes #106
| * Move gnutls functions into SSecurityTLSBrian P. Hinz2017-11-141-33/+2
| |
| * Hook up the "Load X.509 Cert/Key" dialogs in winvncBrian P. Hinz2017-08-211-3/+83
| |
* | Configuration::listParams wants width/nameWidth; not ConfigurationObjectPeter Åstrand (astrand)2017-11-081-1/+1
| |
* | Get rid of getFbSize()/getDesktopSize() in commonPierre Ossman2017-09-225-6/+15
| | | | | | | | It was only used by WinVNC, so push it there instead.
* | rfb_win32: Use scan codes if availableRahul Kale2017-09-115-4/+46
| | | | | | | | | | | | | | | | | | | | | | If scan codes are available using QEMU Extended Keyboard Messages from clients, use that to inject scancodes directly into the system using the SendInput API. No conversion is needed as Windows uses the same scancode encoding. Signed-off-by: Rahul Kale <Rahul.Kale@barco.com> Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
* | Basic support for QEMU Extended Key EventsPierre Ossman2017-08-284-5/+5
| | | | | | | | | | | | This adds the basic infrastructure and handshake for the QEMU Extended Key Events extension. No viewer or server makes use of the extra functionality yet though.
* | rfb_win32: Add support for LED state notificationsRahul Kale2017-08-282-1/+31
|/ | | | | | | | | | LED support added using Windows GetKeyState() API call. The state is polled for change in CapsLock/NumLock/ScrollLock status in the same code block where chages to Cursor shape is polled. Signed-off-by: Rahul Kale <Rahul.Kale@barco.com> Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
* Update visible copyright year to 2017Samuel Mannehed2017-03-202-2/+2
|