|
Hello
There is a problem with the rdesktop keyboard management. When
rdesktop is run from the Linux main consol (the Linux PC itself) everything is
fine. But when rdesktop is run from an X terminal the keyboard is totally
broken.
Of course this problem can be solved by compiling rdesktop
with BROKEN_X_KB defined. But in this case the needed kbcodes.h file is
nationality dependent. Furthermore the rdesktop binary fits for the X terminal
but not for the Linux main consol !
To solve this problem the rdesktop keyboard
management must be deeply modified.
The current keyboard decoding method:
When a key is pressed ui_process_event function gives the
keycode of this key (this keycode is hardware dependent). This keycode is
translated in scancode and this scancode is sent to Windows by the
rdp_send_input function (with RDP_INPUT_SCANCODE).
This method is hardware
dependent.
Guideline for an alternative method:
When a key is pressed ui_process_event
function gives the keycode of this key. The keycode is translated in keysym
(symbolic code) by using XKeycodeToKeysym X function. Then the keysym code is
translated in Windows virtual keycode (given in table 8-97 of T128
recommendations). This virtual keycode is sent to windows by the rdp_send_input
function (with RDP_INPUT_VIRTKEY).
I have yet implemented this method but I suppose this is a
better way.
Does somebody able to create a patch ?
Vincent
deep implementation problem about keyboard
management. Indeed rdesktop sends keyboard event
|