Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: TigerVNC/tigervnc
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: geoboom/tigervnc
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Feb 5, 2023

  1. Copy the full SHA
    4911e66 View commit details
  2. Copy the full SHA
    76a69bc View commit details
Showing with 27 additions and 12 deletions.
  1. +13 −9 BUILDING.txt
  2. +14 −3 vncviewer/menukey.cxx
22 changes: 13 additions & 9 deletions BUILDING.txt
Original file line number Diff line number Diff line change
@@ -37,7 +37,8 @@ Build Requirements (Unix)

-- Non-Mac platforms:
* X11 development kit
* PAM
* PAM (sudo apt install libpam-dev -y)
* sudo apt install libvncserver-dev -y

-- If building Xvnc/libvnc.so:
* Xorg server source code, 1.16 or later
@@ -56,7 +57,7 @@ Build Requirements (Windows)
You also need the Inno Setup Preprocessor, which is available in the
Inno Setup QuickStart Pack.

Add the directory containing iscc.exe (for instance,
Add the directory containing iscc.exe (for instance,
C:\Program Files\Inno Setup 5) to the system or user PATH environment
variable prior to building TigerVNC.

@@ -93,11 +94,14 @@ Building the TigerVNC Viewer on Unix/Mac Systems
------------------------------------------------

The following procedure will build the TigerVNC Viewer on Linux and Unix
systems.
systems. Note that you will have to build everything and can't just build
vncviewer i.e. `cmake -G "Unix Makefiles" ../vncviewer` as there are local
`rfb/*` dependencies `vncviewer` depends on.

cd {build_directory}
cmake -G "Unix Makefiles" [additional CMake flags] {source_directory}
make
# In the project root
mkdir build && cd build
cmake -G "Unix Makefiles" [additional CMake flags] ..
make -j32


Building the TigerVNC Server on Unix/Linux Systems
@@ -227,8 +231,8 @@ command line, an alternate certificate may be used for signing.
-DJAVA_TSA_URL=${url_of_timestamping_authority}

The values of the JAVA_STOREPASS and JAVA_KEYPASS arguments may optionally be
read from file or environment variables by prefixing the value with ":env "
or ":file " (see the jarsigner documentation for more info):
read from file or environment variables by prefixing the value with ":env "
or ":file " (see the jarsigner documentation for more info):

export StorePass=tigervnc
export KeyPass=tigervnc
@@ -243,7 +247,7 @@ Building TLS Support
======================================

TLS requires GnuTLS, which is supplied with most Linux distributions and
with MinGW for Windows and can be built from source on OS X and other
with MinGW for Windows and can be built from source on OS X and other
Unix variants. However, GnuTLS versions > 2.12.x && < 3.3.x should be
avoided because of potential incompatibilities during initial handshaking.

17 changes: 14 additions & 3 deletions vncviewer/menukey.cxx
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
/* Copyright 2011 Martin Koegler <mkoegler@auto.tuwien.ac.at>
* Copyright 2011 Pierre Ossman <ossman@cendio.se> for Cendio AB
*
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this software; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
@@ -54,8 +54,19 @@ static const MenuKeySymbol menuSymbols[] = {
{"Home", FL_Home, 0xc7, XK_Home},
{"Page_Up", FL_Page_Up, 0xc9, XK_Page_Up},
{"Page_Down", FL_Page_Down, 0xd1, XK_Page_Down},
{"Control_R", FL_Control_R, 0x9d, XK_Control_R},
};

// How to add support for new MenuKeySymbol:
// { name, fltkcode, keycode, keysym }
// Name it anything you like e.g. { "Control_R", ... }
// Need: int fltkcode; int keycode; rdr::U32 keysym;
// - Look for fltkcode in /usr/include/FL/Enumerations.H. Need to install
// fltk `sudo apt install libfltk1.3-dev -y` first.
// - Look for corresponding int keycode by grepping for any keycode above
// e.g. 0xc9, 0xd1, 0x9d. Should be in a file called qnum_to_xorgevdev.c
// - Look for corresponding rdr::U32 keysym in common/rfb/keysymdef.h

int getMenuKeySymbolCount()
{
return sizeof(menuSymbols)/sizeof(menuSymbols[0]);