I recently encountered a keyboard issue while accessing a VirtualBox VM via RDP and an rdesktop session.


Host: OpenSUSE 12.3 (classroom computers)
rdesktop 1.8.2 (updated from 1.7.1) OpenSUSE 12.3 Factory repository
Server: OpenSUSE 12.3 running VirtualBox and several VMs
VirtualBox: v4.3.14 r95030, obtained from Oracle's VirtualBox repository
VirtualBox Extension Pack: v4.3.14-95030, obtained from Oracle's VirtualBox repository


Using rdesktop, either version listed above, to connect to either VirtualBox RDP VM from an OpenSUSE remote host, the numeric keypad malfunctions.  This is consistent across multiple hosts (classroom), connecting to the same or different VM's.
Keyboard map en-us is autoselected.
Using Microsoft's Remote Desktop Connection on a Windows host to access the same VM's, the extended keyboard and numeric keypad functions normally.  The problem was first observed when trying to enter data or formulas in Excel spreadsheets in the Windows 7 VM.  Using the numeric keypad produced undesirable results.

After connecting to the VM, in the guest, open a Notepad (Windows) or gedit (CentOS).
Type numbers from the numeric keypad.  On a new line, the first character typed does not display and the cursor remains in position 1.  The second character typed displays and the cursor moved right one position (as normally should).  Backspace back to character position 1, or press "enter" for a new line and repeat with the same results.  Depending on the character typed in position 1, the cursor may move up (typing 8), down (typing 2), etc.  Pressing the "Home" key produces a "7" on the first keystroke, and behaves normally thereafter.

While re-reading the man page for rdesktop, I became intrigued by an option previously overlooked, the -N option, "Enable numlock synchronization".  By including this option on the command line the extended keyboard and numeric keypad functions properly.

My questions are, is the -N option a workaround to a keyboard mapping issue?  Is there an issue?  Also, I would like to use tsclient to save and recall my session configurations.  How can I include the -N option in a saved session?  (Sorry, I recognize that tsclient is not part of your project.  I'm hoping your expertise may lead me in the right direction.)

Alain Rochon