After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 440429 - vino (vnc) keyboard mapping problem
vino (vnc) keyboard mapping problem
Status: RESOLVED FIXED
Product: vino
Classification: Applications
Component: Server
2.18.x
Other Linux
: Normal normal
: ---
Assigned To: Vino Maintainer(s)
Vino Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2007-05-22 12:23 UTC by Sebastien Bacher
Modified: 2007-05-23 11:36 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18



Description Sebastien Bacher 2007-05-22 12:23:52 UTC
The bug has been opened on https://bugs.launchpad.net/ubuntu/+source/vino/+bug/112955

"Binary package hint: vino

I'm pretty sure this started after an upgrade from Edgy to Feisty.

VNC / Vino no longer works correctly. The main alphanumeric keys map from the client to the server OK (so if I press A on the client keyboard A appears on the VNC screen in whatever application I'm working in), but others do not. For example:

| (pipe) is interpreted by vino as ` (backquote)
< and > are interpreted as z and x

Other people seem to have a similar problem - see http://ubuntuforums.org/showthread.php?t=382441

I can't find any obvious configuration files to tweak. Both client and server machines have UK keyboards (and Ubuntu is configured with UK keyboard layout). The client machine is Win98 running realvnc 3.3.6 but I've just tried 4.1.2 and that doesn't fix it.
..."
Comment 1 Jonh Wendell 2007-05-22 20:21:22 UTC
This patch seems to fix this, but for some reason there are more than one keysym for each keycode and modifier:

guint32 keysym = XKeycodeToKeysym (xdisplay, keycode, modifier);

I just dropped out the verification for duplicates, so, last entry will override the first one. (On my tests this is what we want - i mean, the keys '< >' worked as expected)

Mark, any clue on this?

Index: vino-input.c
===================================================================
--- vino-input.c        (revision 602)
+++ vino-input.c        (working copy)
@@ -123,9 +123,6 @@
 
          if (VINO_IS_LATIN1_KEYSYM (keysym))
            {
-             if (global_input_data.keycodes [keysym] != 0)
-               continue;
-
              global_input_data.keycodes  [keysym] = keycode;
              global_input_data.modifiers [keysym] = modifier;
 
Comment 2 Mark McLoughlin 2007-05-23 11:17:58 UTC
(In reply to comment #1)

> I just dropped out the verification for duplicates, so, last entry will
> override the first one. (On my tests this is what we want - i mean, the keys '<
> >' worked as expected)

That sounds very strange - it means that XKeycodeToKeysym() returns a keysym for  a given keycode, but when we inject that keycode we get a different keysym

I'm fine with the fix, though
Comment 3 Jonh Wendell 2007-05-23 11:36:12 UTC
2007-05-23  Jonh Wendell <jwendell@gnome.org>

	* server/vino-input.c: Fix keyboard mapping problem, closes #440429