| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
Makes the code more general and not directly tied to specifically
TCP sockets.
|
|/
|
|
|
| |
The Xserver (at least Xorg 1.19) rejects RRSetCrtcConfig requests if
rotation is zero.
|
|
|
|
|
|
|
|
| |
Change Xserver screen through libXrandr. For complex configurations,
all outputs must have corresponding size modes. As a special case, if
the client requests a single screen with an odd size (for example when
adjusting the size of a non-fullscreen vncviewer), find a smaller
suitable mode, and reduce the framebuffer size as well.
|
|
|
|
|
| |
It wasn't properly updated in 3112f50 when it was split off from
x0vncserver.cxx.
|
|
|
|
|
|
| |
In XDesktop::start() we allocate pixel buffer and set it as the backend to the given VNCServer.
In XDesktop::stop() we deallocate the buffer, so we must unset it from the VNCServer as well.
Otherwise the VNCServer could try to access it and crash, for example in deferred update.
|
|
|
|
|
| |
Colour map support was removed in b6b4dc6, but x0vncserver didn't
properly check if the X server required it.
|
|
|
|
|
|
| |
There were a bunch of parameters that weren't properly added to the
man pages when the features were added. Make sure everything is
properly in sync.
|
|
|
|
|
| |
They share a lot of settings, so make sure the documentation is
identical in those cases.
|
|
|
|
|
| |
The funcationality was removed in 6e49e95, so let's also clean up
the documentation referring to it.
|
|
|
|
|
| |
XShmGetImage is much faster. On my machine, this reduces the CPU usage
of a fullscreen Youtube video playback from 40% to 25%.
|
| |
|
|
|
|
| |
Add a Configuration::removeParam to support such cases.
|
|
|
|
| |
Legacy systems.
|
| |
|
| |
|
|
|
|
|
| |
XFixes only reports cursor changes. We must manually call
XFixesGetCursorImage() when starting.
|
|
|
|
| |
Define ledNames in XDesktop.cxx, rename N_LEDS to XDESKTOP_N_LEDS
|
| |
|
|
|
|
| |
No need for ifdefs; we can assume MITSHM. Already done in vncviewer.
|
|
|
|
| |
It was only used by WinVNC, so push it there instead.
|
|
|
|
|
| |
We would accidentally store they keycode 0 for unknown keysyms, wedging
the lookup table.
|
| |
|
|
|
|
|
| |
This is necessary to make sure the server side rendered cursor works
properly.
|
|
|
|
|
| |
We never un-select it, and it's not a problem if we get extra ones so
register it once right away.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://github.com/TigerVNC/tigervnc/issues/361
This is a simple implementation that refetches and transforms the cursor
image every time it changes, and doesn't use the cursor naming functions
of the XFixes extension to save & cache cursor images.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using XKeysymToKeycode() often gives the incorrect keycode as it
doesn't respect the current modifier state. Use XKB to find the
proper key instead.
This however also means that we need to track the mapping for all
pressed keys to make sure we know the correct keycode when it is
time to release the key.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the client provided (using QEMU extendend key event) scancodes if
available instead of reverse mapping the keysym.
X11 unfortunately uses keyboard driver specific keycodes and provides
no direct way to query this, so guess based on the keyboard mapping.
Handle the two most likely keyboard drivers, the old xorgkbd and evdev.
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
|
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
Listen for XKb XkbIndicatorStateNotify events for scroll/num/caps lock and
map them to the RFB protocol.
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
|
| |
|
| |
|
|
|
|
|
| |
We need to proper respect the timeouts set up by the core RFB code
and not just the polling scheduler.
|
|
|
|
|
|
| |
What to do when a socket is writeable should be handled in the
RFB core code as there may be other events we want to fire off
when this happens.
|
|
|
|
|
|
| |
It is easier to control object life time and avoid magical socket
duplication by having a single TcpListener object to pass around.
We have to be more careful about deleting the object though.
|
|
|
|
|
|
| |
The IPv6 additions deprecated support for netmasks in the access
control lists. Unfortunately some documentation was not updated
to reflect this fact.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TcpListener constructor now takes a 'struct sockaddr*' instead of
a string, and the createTcpListeners function creates TcpListener
instances for an address based on the results from getaddrinfo().
The XserverDesktop class now takes a list of TcpListener instances for
each of the RFB and HTTP sockets.
The TcpListener::closeFd member variable is not used and has been
removed.
|
| |
|
|
|
|
|
| |
The extension libraries might depend on libXext or libX11, so
make sure they come last on the link line.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It's not something we're keeping up to date anyway.
|
| |
|
|
|
|
|
|
| |
It was confusing and not properly used everywhere.
Callers should use the stride they get when they get
the buffer pointer.
|
|
|
|
|
|
|
|
|
| |
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.
|