# tigervnc-1.9.0-r1 has weird keyboard layout

## Elleni

Thus I had it masked. Now unfortunately I unmerged my working version, because of virtual/pam became obsolete. I had forgotten that because of that reason I had this version masked before. 

Now having emerged it, I realize that typing qwertz on my server connected via this tigervnc version, it spits out: 7890' trying to delete with <- button, it writes 5 while return button produces t. Whats the matter here? 

As there is no other version in tree, I grabbed tigervnc-1.4.2-r2 ebuild from argent-main overlay to try to build that one as workaround, but ebuild tigervnc-1.4.2-r2.ebuild digest gives error EAPI=4 not being supported. 

Help please. Are there other vnc clients, I could try, or how could I emerge 1.4.2 version or how can the keyboard layout be corrected in actual version?

Edit to add, found that I can use remmina to connect to my vps so I am calmed for the moment   :Smile: 

----------

## Elleni

Anyone? 

This is really weired as logging into the server with ssh I get the correct keyboard layout, only the login with vnc is affected. Can this have something to do, with the host configuration of my provider?

----------

## mike155

Please tell us how you start vncviewer (which parameters) and to which type of VNC server you connect. Is it the QEMU VNC Server? Or a VNC server running inside an OS? Which OS? Which VNC server?

----------

## Hu

When you connect over ssh, your keyboard is processed locally and a sequence of bytes is sent to the peer.  When you connect over VNC, your keyboard is processed as X11 events, which the VNC viewer must translate into something useful to the peer.  Usually, this produces the same result, but that is not guaranteed.

----------

## Elleni

Hello, thanks for your explanation Hu, makes sense to me  :Smile: 

mike155, I use tigervnc client started with desktop icon from startmenu, no manual start over console- the type of vncserver I dont know. I know that the hypervisor of my provider is virtuozzo though. 

Still looking for tigervnc-1.8.0-r3.ebuild as it was the last working version for me, where only some keys were different from my keyboard layout and I had got used to it. Unfortunately it is not available for download @zugaina. 

Edit to add that I found it here and put it in local overlay to re-emerge that version successfully: 

https://gitweb.gentoo.org/repo/gentoo.git/tree/net-misc/tigervnc/tigervnc-1.8.0-r3.ebuild?id=f2f6aef3b135eab4c4f3bfa11264563d19d8f1b0

needed patch for it to compile successfully: 

https://gitweb.gentoo.org/repo/gentoo.git/tree/net-misc/tigervnc/files/java-utf8.patch?id=f2f6aef3b135eab4c4f3bfa11264563d19d8f1b0

With this version, I get qwerty keyboard layout and the numeric characters show up too (not on the numeric keyboard on the right side though). Also for some symbols I have a workaround for example I type "Alt+33" to get "!" - but as said that was good enough for me although not perfect.

----------

## mike155

Elleni, I use vncviewer from net-misc/tigervnc-1.9.0-r1 nearly every day to connect to the QEMU VNC server and to Windows machines. It works perfectly fine - no problems.

It could be that vncviewer doesn't work well with the VNC server of your provider.

However, it is also possible that something is misconfigured on your machine.

Please start vncviewer 1.9.0 from the terminal window and connect to the VNC server. Are there any (error) messages?

Please post the output of

```
setxkbmap -query
```

and of

```
setxkbmap -print -verbose 10
```

Please post the output of

```
emerge -pv net-misc/tigervnc
```

Please start vncviewer 1.9.0 from a terminal window and connect to the VNC server. Add the parameter below when you start vncviewer

```
-log *:stderr:100
```

vncviewer will now show scan codes when you press keys. For example, if I press key 'q', I will get:

```
Fri Oct 18 21:10:36 2019

 Viewport:    Key pressed: 0x0010 => XK_q (0x0071)

 Viewport:    Key released: 0x0010 => XK_q (0x0071)
```

The first number (0x0010 = 16) is the scan code (not the keycode !), the second number the ASCII code. What do you get?

Last edited by mike155 on Fri Oct 18, 2019 7:50 pm; edited 2 times in total

----------

## Elleni

Hi mike155, I re-emerged actual version so here we go: 

vncviewer

```
TigerVNC Viewer 64-bit v1.9.0

Built on: 2019-10-18 21:00

Copyright (C) 1999-2018 TigerVNC Team and many others (see README.rst)

See http://www.tigervnc.org for information on TigerVNC.
```

setxkbmap -query

```
rules:      evdev

model:      pc105

layout:     ch,ch

variant:    ,

```

setxkbmap -print -verbose 10

```
Setting verbose level to 10

locale is C

Trying to load rules file ./rules/evdev...

Trying to load rules file /usr/share/X11/xkb/rules/evdev...

Success.

Applied rules from evdev:

rules:      evdev

model:      pc105

layout:     ch,ch

variant:    ,

Trying to build keymap using the following components:

keycodes:   evdev+aliases(qwerty)

types:      complete

compat:     complete

symbols:    pc+ch+ch:2+inet(evdev)

geometry:   pc(pc105)

xkb_keymap {

   xkb_keycodes  { include "evdev+aliases(qwerty)"   };

   xkb_types     { include "complete"   };

   xkb_compat    { include "complete"   };

   xkb_symbols   { include "pc+ch+ch:2+inet(evdev)"   };

   xkb_geometry  { include "pc(pc105)"   };

```

emerge tigervnc -pv

```
These are the packages that would be merged, in order:

Calculating dependencies                              ... done!    

[ebuild   R    ] net-misc/tigervnc-1.9.0-r1::gentoo  USE="dri3 drm gnutls nls opengl pam xorgmodule -java -libressl -server -xinerama" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
```

As said - tigervnc-1.8.0-r3 brings me back qwerty wich is not perfect match of my keyboard layout (being swiss qwertz) but is good enough, so something must have changed along with this new version. Remmina by the way has the same qwerty layout as tigervnc in 1.8 version used to have.

----------

## mike155

Your output looks good. I get the same output - well, except that I get 'de' instead of 'ch', but that's umimportant.

I just added another question to my last post. Can you look at it, please?

I just read https://tools.ietf.org/html/rfc6143, chapter 7.5.4 "KeyEvent". What matters is mostly the ASCII code (0x0071). 

```
Fri Oct 18 21:10:36 2019

 Viewport:    Key pressed: 0x0010 => XK_q (0x0071)

 Viewport:    Key released: 0x0010 => XK_q (0x0071)
```

I'm very excited about the output on your machine, when you press 'q' and your VNC server thinks that it is a '7'. It will tell us who is wrong: vncviewer or the VNC server.

----------

## Elleni

Hi Mike, and thanks for taking the time to troubleshoot this  :Very Happy: 

user@localbox_hostname ~ $ LC_ALL=C vncviewer -log *:stderr:100

```
TigerVNC Viewer 64-bit v1.9.0

Built on: 2019-10-18 21:00

Copyright (C) 1999-2018 TigerVNC Team and many others (see README.rst)

See http://www.tigervnc.org for information on TigerVNC.

Fri Oct 18 21:52:51 2019

 DecodeManager: Detected 12 CPU core(s)

 DecodeManager: Creating 4 decoder thread(s)

TcpSocket:   Connecting to myvpserver [ipadress] port number

 CConn:       connected to host myvpserver, Port number

 CConnection: reading protocol version

 CConnection: Server supports RFB protocol version 3.8

 CConnection: Using RFB protocol version 3.8

 CConnection: processing security types message

 CConnection: Server offers security type VncAuth(2)

 CConnection: Choosing security type VncAuth(2)

 CConnection: processing security message

Fri Oct 18 21:53:06 2019

 CConnection: processing security result message

 CConnection: processing security result message

 CConnection: Authentication success!

 CConnection: reading server initialisation

 CConnection: initialisation done

 Viewport:    No key mapping for key LVL3

 Viewport:    No key mapping for key HNGL

 Viewport:    No key mapping for key MDSW

 Viewport:    No key mapping for key ALT

 Viewport:    No key mapping for key META

 Viewport:    No key mapping for key SUPR

 Viewport:    No key mapping for key HYPR

 Viewport:    No key mapping for key I248

 Viewport:    No key mapping for key I249

 Viewport:    No key mapping for key I250

 Viewport:    No key mapping for key I251

 Viewport:    No key mapping for key I252

 Viewport:    No key mapping for key I253

 Viewport:    No key mapping for key I254

 PlatformPixelBuffer: Using shared memory XImage

 CConn:       Using pixel format depth 24 (32bpp) little-endian rgb888

 CConn:       Using Tight encoding

Fri Oct 18 21:53:45 2019

 Viewport:    Key pressed: 0x0010 => XK_q (0x0071)

 Viewport:    Key released: 0x0010 => XK_q (0x0071)
```

Following the output of tigervnc-1.8.0-r3: 

```
LC_ALL=C vncviewer -log *:stderr:100

TigerVNC Viewer 64-bit v1.8.0

Built on: 2019-10-18 22:05

Copyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)

See http://www.tigervnc.org for information on TigerVNC.

Fri Oct 18 22:06:25 2019

 Parameters:  Unknown parameter AlertOnFatalError on line 28 in file

              /home/localuser/.vnc/default.tigervnc

Fri Oct 18 22:06:28 2019

 DecodeManager: Detected 12 CPU core(s)

 DecodeManager: Creating 4 decoder thread(s)

 TcpSocket:   Connecting to virtualservername [ipadress] port number

 CConn:       connected to host virtualservername port number

 CConnection: reading protocol version

 CConnection: Server supports RFB protocol version 3.8

 CConnection: Using RFB protocol version 3.8

 CConnection: processing security types message

 CConnection: Server offers security type VncAuth(2)

 CConnection: Choosing security type VncAuth(2)

 CConnection: processing security message

Fri Oct 18 22:07:09 2019

 CConnection: processing security result message

 CConnection: processing security result message

 CConnection: Authentication success!

 CConnection: reading server initialisation

 CConnection: initialisation done

 PlatformPixelBuffer: Using shared memory XImage

 CConn:       Using pixel format depth 24 (32bpp) little-endian rgb888

 CConn:       Using Tight encoding

 Viewport:    Unexpected release of key code 36

Fri Oct 18 22:07:15 2019

 Viewport:    Key pressed: 0x0018 => XK_q (0x0071)

 Viewport:    Key released: 0x0018 => XK_q (0x0071)
```

As I saw this on the 1.8 version, 

```
 Parameters:  Unknown parameter AlertOnFatalError on line 28 in file

              /home/localuser/.vnc/default.tigervnc
```

I renamed .vnc folder and re-compiled 1.9 version to try with new default.tivervnc configuration file, but still the same result. 

Also compared the useflags on both versions

```
emerge tigervnc -pv

These are the packages that would be merged, in order:

Calculating dependencies                                      ... done!

[ebuild   R    ] net-misc/tigervnc-1.9.0-r1::gentoo  USE="dri3 drm gnutls nls opengl pam xorgmodule -java -libressl -server -xinerama" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

```

and 

```

These are the packages that would be merged, in order:

Calculating dependencies                               ... done!

[ebuild     UD ] net-misc/tigervnc-1.8.0-r3::test [1.9.0-r1::gentoo] USE="dri3 drm gnutls nls opengl pam xorgmodule -java -server -xinerama (-libressl%)" 0 KiB

Total: 1 package (1 downgrade), Size of downloads: 0 KiB
```

----------

## mike155

Elleni, thanks for the output.

Let me summarize. Do I understand correctly, that both vncviewer 1.8.0 and vncviewer 1.9.0 show 'XK_q (0x0071)'  when you press key 'q'. But the VNC server thinks that you pressed a 'q' when you use vncviewer 1.8.0- and a '7' when you use vncviewer 1.9.0?

Now that's really strange. It seems to be a (regression) bug!

You could go to http://www.tigervnc.org and search the 'User forum' and the 'Developer forum' for similar posts. If you don't find any, you could create a bug report in one of those forums. I'm sure developers will be glad to hear about this bug.

----------

