summaryrefslogtreecommitdiffstats
path: root/common/rfb/VNCServer.h
Commit message (Collapse)AuthorAgeFilesLines
* Add support for notifying clients about pointer movementslhchavez2021-03-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | 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
* Improved clipboard APIPierre Ossman2019-07-011-3/+16
| | | | | 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-011-1/+1
| | | | | | 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.
* Inherit SocketServer directly from VNCServerPierre Ossman2018-10-261-3/+4
| | | | | | | This makes VNCServer a sufficiently complete interface that callers don't need to know about the specific implementation (VNCServerST currently). And assuming that all servers will use sockets is not that outrageous.
* Move access rights and closing to SConnection objectPierre Ossman2018-10-101-0/+4
| | | | | This makes it generally useful and other code doesn't have to know of the specific sub-class.
* Use accessor methods for VNCServerSTPierre Ossman2018-10-101-1/+1
| | | | | Avoid having VNCSConnectionST poking around in VNCServerST's internals and instead access things via safer methods.
* Remove QueryConnectionHandlerPierre Ossman2018-10-101-0/+10
| | | | | Make things simpler by making this a part of the SDesktop interface that always needs to be implemented.
* Add server side lock key sync heuristicPierre Ossman2017-08-241-0/+4
| | | | Based on QEMU's behaviour.
* Change cursor API to use RGBA dataPierre Ossman2017-02-221-9/+3
| | | | | This will allow us to use better formats that preserve the entire alpha channel.
* Get rid of the direct access abuse of FullFramePixelBuffer's dataPierre Ossman2014-07-071-1/+1
|
* Remove full support for colour mapsPierre Ossman2014-07-071-6/+0
| | | | | | | | | Gets rid of a loooot of code and complexity. Colour map clients are still supported through an automatically generated map, but we lose the ability to develop a client or server that uses colour maps internally.
* Fix a race condition where we might get updates thrown at us right after aPierre Ossman2012-01-231-0/+7
| | | | | | | | framebuffer switch, but before we've been given the pointer to the new framebuffer. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4839 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Reimplement the deferred update handling, this time in a more robust andPierre Ossman2011-11-081-4/+0
| | | | | | | well-behaved manner. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4784 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Clean up the interface for VNCSConnectionST. Entry points are more apparentPierre Ossman2011-11-071-4/+0
| | | | | | | and the data flow is now more strictly aimed towards this connection class. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4771 3789f03b-4d11-0410-bbf8-ca57d06f2519
* [Development] Replace SSecurityFactoryStandard class by simplier Security class.Adam Tkac2010-04-231-4/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4039 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Implement server side support for SetDesktopSize.Pierre Ossman2009-03-231-3/+10
| | | | | | | | It has some warts, but should be feature complete. Most of the magic happens in the desktop class though. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3713 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Sending updates for "video area".Constantin Kaplinsky2007-09-031-0/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2331 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Migrating to new directory structure adopted from the RealVNC's source tree. ↵Constantin Kaplinsky2006-05-251-0/+86
More changes will follow. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519