| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| | |
We put the try/catch as close as possible to the writes in all
other case, so make sure this code also follows that pattern.
|
| |
| |
| |
| |
| |
| | |
Setting Ctrl or Alt key on menu only sends the key press, and the
state is lost when focus is lost and recovered.
This checks the menu variable and sends the keys again if needed.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Grabbing (and ungrabbing) the keyboard generates fake focus events
with modern versions of Xorg. This causes an infinite loop since we
update the grab status on focus events.
Work around this by ignoring these fake events.
|
| | |
| | |
| | |
| | | |
It is no longer a workaround but rather intended behaviour.
|
|/ /
| |
| |
| |
| | |
We might not get one from the default configuration (we might not have
a default configuration at all), so make things more robust.
|
| |
| |
| |
| |
| |
| | |
We should start by getting the remote end in sync with the actual
keyboard state. This would work randomly before depending on if we
got the first LED state message before or after we got focus.
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Patch originally by Dag-Erling Smørgrav for University of Oslo.
|
| |/
| |
| |
| |
| | |
Makes the code more general and not directly tied to specifically
TCP sockets.
|
| |
| |
| |
| |
| | |
The user might just want to load a bunch of settings and not
initiate a connection.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The user can specify a tigervnc configuration file as an argument to the
viewer. Previously the viewer assumed this to be a server, but now we
will first check if there is any file matching the given argument. If
so, try to load the content of that file, like we normally do.
Fixes issue #38.
|
| | |
| | |
| | |
| | | |
Make the code simpler by handling it just like any escaped character.
|
| |/
|/|
| |
| | |
We decoded "\\n" as "n" rather than "\n".
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
We don't want to surprise the user with unexpected clipboard changes
when vncviewer is in the background, and it is both wasteful and
possibly insecure to inform the server of every clipboard update
when the user isn't interacting with it.
|
| | |
|
| |
| |
| |
| |
| | |
Apply workaround for FLTK's bad focus handling so that we can let
Viewport handle LED synchronisation without help from DesktopWindow.
|
| |
| |
| |
| |
| | |
That way both incoming and outgoing clipboard are both in the same
place, making things clearer.
|
|/
|
|
|
|
| |
The handler is for incoming data and we should not be abusing that
class for the writer class. Do proper write prototypes for the
relevant functions.
|
|
|
|
|
|
| |
The VNC servers aren't great at getting full frames with each update,
so avoid calling it "frames per second" in the statistics as that
can be misleading.
|
|\ |
|
| |
| |
| |
| |
| | |
Improve AltGr detection even further on Windows so we can detect the
case when Ctrl and AltGr are pressed together.
|
| |
| |
| |
| |
| |
| | |
Try to properly detect the fake CtrlL+AltR sequence Windows sends
when pressing AltGr. This allows us to send more accurate key
events over to the server.
|
|/
|
|
|
|
|
|
|
| |
Copy paste errors/brain fart:
- Pixels do not need a factor 8 for any conversion
- Multiplying bytes by 8 gives bits, so lower case 'b', and bits
use SI prefixes, not IEC
|
| |
|
| |
|
|
|
|
|
|
| |
Fl::arg accepts several arguments which we are not documenting. Also,
it accepts a -geometry argument, which clashes with our own -geometry
option.
|
|
|
|
|
| |
macOS no longer uses the old Aqua look, so tweak our things to fit
in better with the current state of things.
|
|
|
|
|
|
| |
Similar to 841e9f32d5952d6f16f67294c2da8bf395066a9b but for the
pointer. Fixes a problem where the desktop environment is unresponsive
(to the mouse) after fullscreen exit; Fixes #579.
|
|\ |
|
| |
| |
| |
| |
| | |
Ctrl+Pause sends break which results in a different VKEY on Windows.
Make sure we map that properly to the equivalent keysym.
|
| |
| |
| |
| |
| | |
The shift buttons are a bit buggy on Windows unfortunately, but we
can do slightly better than we're doing today.
|
| |
| |
| |
| |
| | |
Windows mostly follows the AT set 1 scan codes that we want, but
there are a few exceptions.
|
| |
| |
| |
| |
| | |
We've fixed the issue more properly in the server now, so remove the
workaround we had in the client.
|
| |
| |
| |
| | |
E.g. vncviewer server.example.com:2 -display :2
|
|/
|
|
|
| |
We have to wait until we've passed the command line arguments or
we might overlook a -display argument.
|
|
|
|
|
| |
We might be calling this outside a normal FLTK event, so we cannot
trust fl_event_time to have a sane value.
|
| |
|
| |
|
|
|
|
|
|
| |
We don't need the grab any more if the pointer cannot click on our
window. This makes it possible to shift focus to another application
when we aren't covering all monitors.
|
|\ |
|
| |
| |
| |
| |
| | |
Indicate to the user how secure the transport channel is so they
can avoid entering their password for untrusted sites.
|
| |
| |
| |
| |
| | |
Avoid having two separate code paths for the user/password and
only password dialogs. Makes it easier to extend things in the future.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
Make sure it can map between the key codes of the local system
in to the key codes used by the protocol.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
The state might have changed when we didn't have focus. Get
everything back in sync once we're back in control.
|