<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">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).<br><br>It turned out, that openSuSE uses the "AutoAddDevices" option by default.<br><br>A workaround on the client side was to use the "AutoAddDevices off" option in the "local" xorg.conf:<br><br>Section "ServerFlags"<br>  # Uncomment the following option to reenable kbd/mouse driver input sections.<br>  # Otherwise evdev driver is used.<br>  Option       "AutoAddDevices" "off"<br>  Option       "AllowMouseOpenFail" "on"<br>EndSection<br><br>However, nomachine claimed to have fixed this problem since the beginning of this year:<br>http://web01.nomachine.com/tr/view.php?id=TR11F02129<br><br>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.<br><br>A small change in the nxnode script fixed the problem:<br>@@ -1246,7 +1246,7 @@
<br>        umask 0077
<br>
<br> cat << EOF > "$USER_FAKE_HOME/.nx/C-$sess_id/options"
<br>-${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
<br>+${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
<br> EOF
<br>        umask $OLD_UMASK<br><br>I hope this might help you as well.<br><br>Cheers, Troban.<br><br><br><br><br>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:
<br>
<br>@@ -1246,7 +1246,7 @@
<br>        umask 0077
<br>
<br> cat << EOF > "$USER_FAKE_HOME/.nx/C-$sess_id/options"
<br>-${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
<br>+${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
<br> EOF
<br>        umask $OLD_UMASK
</td></tr></table><br>