[FreeNX-kNX] Solved "evdev" keyboard mapping issues.

Troban Trumsko trumsko at yahoo.com
Fri Nov 20 00:13:05 UTC 2009


After upgrading my desktop linux to openSuSE 11.2, I got problems with the keyboard mapping, when logging to a freeNX server. (The most obvious symptom were the broken arrow keys).

It turned out, that openSuSE uses the "AutoAddDevices" option by default.

A workaround on the client side was to use the "AutoAddDevices off" option in the "local" xorg.conf:

Section "ServerFlags"
  # Uncomment the following option to reenable kbd/mouse driver input sections.
  # Otherwise evdev driver is used.
  Option       "AutoAddDevices" "off"
  Option       "AllowMouseOpenFail" "on"
EndSection

However, nomachine claimed to have fixed this problem since the beginning of this year:
http://web01.nomachine.com/tr/view.php?id=TR11F02129

Nevertheless even using a recent version of nxagent with the freenx-server did not solve the problem. It turned out, that nxagent needs the "client" option to be passed to work around the "evdev" problem.

A small change in the nxnode script fixed the problem:
@@ -1246,7 +1246,7 @@

        umask 0077



 cat << EOF > "$USER_FAKE_HOME/.nx/C-$sess_id/options"

-${keyboard:+keyboard=$keyboard,}${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}${resize:+resize=$resize,}${CACHE}${IMAGES}${PACK}link=$link,nodelay=$nodelay,type=$realtype,cleanup=0,${ACCEPT}cookie=$proxy_cookie,id=$sess_id,samba=$samba,media=$media${sync:+,sync=$sync}${cups:+,cups=$cups}${keybd:+,keybd=$keybd}${aux:+,aux=$aux}${http:+,http=$http}${rdpcolors:+,rdpcolors=$rdpcolors}${rdpcache:+,rdpcache=$rdpcache}${fullscreen:+,fullscreen=1}${clipboard:+,clipboard=$clipboard}${menu:+,menu=$menu}:$display

+${keyboard:+keyboard=$keyboard,}${client:+client=$client,}${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}${resize:+resize=$resize,}${CACHE}${IMAGES}${PACK}link=$link,nodelay=$nodelay,type=$realtype,cleanup=0,${ACCEPT}cookie=$proxy_cookie,id=$sess_id,samba=$samba,media=$media${sync:+,sync=$sync}${cups:+,cups=$cups}${keybd:+,keybd=$keybd}${aux:+,aux=$aux}${http:+,http=$http}${rdpcolors:+,rdpcolors=$rdpcolors}${rdpcache:+,rdpcache=$rdpcache}${fullscreen:+,fullscreen=1}${clipboard:+,clipboard=$clipboard}${menu:+,menu=$menu}:$display

 EOF

        umask $OLD_UMASK

I hope this might help you as well.

Cheers, Troban.




The problem occurs, if the X-server on the client machine uses the
evdev keyboard driver. In principle this problem is fixed in 'nxagent'
within the 3.3.0 series. However it turns out, that using a recent
(>3.3.0-11) nxagent is not enough to solve the problem. To work
properly, the "client" option has to be passed to nxagent. This can
easily be done by fixing the 'nxnode' script:



@@ -1246,7 +1246,7 @@

        umask 0077



 cat << EOF > "$USER_FAKE_HOME/.nx/C-$sess_id/options"

-${keyboard:+keyboard=$keyboard,}${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}${resize:+resize=$resize,}${CACHE}${IMAGES}${PACK}link=$link,nodelay=$nodelay,type=$realtype,cleanup=0,${ACCEPT}cookie=$proxy_cookie,id=$sess_id,samba=$samba,media=$media${sync:+,sync=$sync}${cups:+,cups=$cups}${keybd:+,keybd=$keybd}${aux:+,aux=$aux}${http:+,http=$http}${rdpcolors:+,rdpcolors=$rdpcolors}${rdpcache:+,rdpcache=$rdpcache}${fullscreen:+,fullscreen=1}${clipboard:+,clipboard=$clipboard}${menu:+,menu=$menu}:$display

+${keyboard:+keyboard=$keyboard,}${client:+client=$client,}${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}${resize:+resize=$resize,}${CACHE}${IMAGES}${PACK}link=$link,nodelay=$nodelay,type=$realtype,cleanup=0,${ACCEPT}cookie=$proxy_cookie,id=$sess_id,samba=$samba,media=$media${sync:+,sync=$sync}${cups:+,cups=$cups}${keybd:+,keybd=$keybd}${aux:+,aux=$aux}${http:+,http=$http}${rdpcolors:+,rdpcolors=$rdpcolors}${rdpcache:+,rdpcache=$rdpcache}${fullscreen:+,fullscreen=1}${clipboard:+,clipboard=$clipboard}${menu:+,menu=$menu}:$display

 EOF

        umask $OLD_UMASK



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/freenx-knx/attachments/20091119/a2522f1e/attachment.html>


More information about the FreeNX-kNX mailing list