Up arrow key maps to print screen in KDE
In version 4.2.19, a new key was introduced to counteract a bug in KDE on earlier Linux distributions such as Red Hat 5.4. This bug can effect KDE versions 3.x.x and in some much earlier versions of Gnome.
The problem is that when pressing the up arrow key, the print-screen key is activated. In some cases, the down arrow key doesn't work at all. This makes scrolling with the arrow keys impossible.
The root of the problem is related to the use of the 'evdev' device system introduced in recent X.org versions. The stock X.org version of earlier Red Hat (< RHEL 5) for example, still uses the old "core" event system, and so does KDE that comes with the OS. The print-screen key is hardcoded, based on the assumption that the event system is the "core" one. In other words, KDE 3.5.4, for example, would show the same problem with any X server other than the stock server coming with the OS.
When attaching to the physical desktop NoMachine 4 (any version) checks which system is in use and adapts automatically. When running a new virtual desktop, NoMachine uses evdev. The new evdev system is perfectly compatible with old applications, as long as the applications behave according to the rules. If the applications don't follow the rules and make assumptions on how a keysym will be translated by the X server, than the compatibility can't work. In NoMachine 3 it works because, at the time, evdev was not available.
To the same extent, a new application connecting to NX 3 would have similar problems, if it had hardcoded values based on the assumption that the X server would use evdev.
Users of KDE 3.x.x, who are experiencing problems with arrow keys mapped incorrectly, should activate the new setting of 'legacykb' to force old XFree86 keycodes.
It can be done in the node.cfg file:
# Force legacy X11 keyboard support. Enabling this option the display
# server will build the keyboard map using the X11 keycodes, even when
# evdev Linux input driver is supported. The default is to use evdev
# on node machines where it is available.
# 1: Enabled. Always use X11 keycodes even if evdev is supported.
# 0: Disabled. Use evdev if supported or fall back to X11 keycodes.
# AgentLegacyKeyboard 0
