X2Go Bug report logs - #978
change set-kbd option default to 1 on mac osx clients

version graph

Package: x2goclient; Maintainer for x2goclient is X2Go Developers <x2go-dev@lists.x2go.org>; Source for x2goclient is src:x2goclient.

Reported by: joerg@hydrops.han.de

Date: Thu, 7 Jan 2016 20:20:02 UTC

Severity: normal

Found in version

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox

Report forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#978; Package x2goclient. (Thu, 07 Jan 2016 20:20:02 GMT) (full text, mbox, link).

Acknowledgement sent to joerg@hydrops.han.de:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Thu, 07 Jan 2016 20:20:02 GMT) (full text, mbox, link).

Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

From: joerg@hydrops.han.de
To: submit@bugs.x2go.org
Subject: change set-kbd option default to 1 on mac osx clients
Date: Thu, 7 Jan 2016 20:46:45 +0100
Package: x2goclient
  This bug affects mac clients only.
    OSX 10.6.8 + XQuartz 2.7.5 from macports
    OSX 10.10.5 + XQuartz 2.7.5 from macports


The keyboard works fine in x2goclient session (if xmodmap  is found at
hardcoded path "/opt/X11/bin/xmodmap")(see Bugs #487 and #977)
only using virtualbox gives a completely garbled keyboard.

Explanation for the virtualbox part:
virtualbox on a linux host has to find a mapping from X11 keycodes to
scancodes that are to be sent to the guest system.
It uses three methods to guess this mapping: "byXKB", "byType" and
"byLayout". All three methods look at the keycode to keyname 
mapping of X11, if method "byXKB" gives a result that matches one of
several known keyboard layouts, this result is used. Failing this, 
the results of the other two methods are checked. 
This works quite well for 
- linux local access
- native X11 remote access from linux client systems
- x2goclient access from windows clients
- x2goclient access from linux clients
but it does not work for x2goclient access from mac clients, because the
x2goserver provides bogus keynames for the XkbGetKeyboard() call. 

This could be fixed using the x2goclient command line parameter
--set-kbd=1 because then x2goserver uses some other way to set up
XKB key mappings. This method results in virtualbox getting a good
keyname to keycode mapping with XkbGetKeyboard().

I have not seen any problems with other X11 clients using the
--set-kbd=1 parameter. 

Unfortunately  the parameter value for "--set-kbd" is silently
overridden for max osx client in onmainwindow.cpp to 0 .
I spent some hours of testing and looking at the source code of
virtualbox, x2goserver, the nx part of x2goserver and at last
found this code in onmainwindow.cpp:

#ifdef Q_OS_DARWIN  

in two places. I changed it to "usekbd=1" and virtualbox found a
perfect keycode to scancode mapping.

As I did not find any problems using this setting, I suggest to use    

as default for x2goclient on OSX. 


Send a report that this bug log contains spam.

X2Go Developers <owner@bugs.x2go.org>. Last modified: Thu May 30 19:30:13 2024; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.