[PATCH] Correctly handle extended RDP keycodes

Hardening rdp.effort at gmail.com
Sun Apr 7 03:08:11 PDT 2013


On 07/04/2013 09:32, Ran Benita wrote:
> On Sat, Apr 06, 2013 at 11:39:26PM +0200, Hardening wrote:
>> The keycodes received by the FreeRDP server aren't evdev keycodes.

[...]
> 
> Hi,
> 
> Your approach is almost certainly the best approach. I'll just like to
> mention for the archive: the underlying keymap library (libxkbcommon)
> actually has a keycode abstraction, i.e. you can map them however you
> want with a "keycodes" file (e.g. /usr/share/X11/xkb/keycodes/evdev -
> note that with xkbcommon there is no limit to the number of keycodes or
> the length of their names). So if you have a say in the XKB keymap that
> is used (as the compositor does afaik), you can do it like that. But
> again just translating to evdev is probably the easiest and least
> confusing way to do it.

Hi,
to precise things a little, RDP use its own abstract keycodes. When a
key is pressed on the client side, the client have to compute a virtual
keycode. This virtual keycode is sent over the wire, and the server
treats the virtual keycode with the layout sent during the negociation.

I have the impression that it's almost like if the interpretation of the
keycodes was done only on the serverside. I'm not sure to understand all
aspects of this subject, but the patch did the trick for me (french
keyboard fully functional).

Hardening.



More information about the wayland-devel mailing list