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 4.0.5.0

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 and rfc822 format available.

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 and rfc822 format available.

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

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
Version: 4.0.5.0
  
  This bug affects mac clients only.
    
    Systems:
    OSX 10.6.8 + XQuartz 2.7.5 from macports
    OSX 10.10.5 + XQuartz 2.7.5 from macports

Hi,

Problem:
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  
  usekbd=0;
  type="query";
#endif 

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    
 
   usekbd=1;
   type="query";

as default for x2goclient on OSX. 

Joerg


Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Thu Dec 13 13:47:15 2018; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.