[PATCH 1/2] Add more keyboards for the RDP compositor
Hardening
rdp.effort at gmail.com
Fri Apr 11 13:10:57 PDT 2014
Le 11/04/2014 21:46, Bill Spitzak a écrit :
> Rather than this ridiculousness, it would help a lot if there was a way
> to send already-decoded keysyms to clients and the input method.
>
> Keyboard mapping on remote X has always been a disaster because of this
> strange requirement that you emulate a fake piece of hardware, and it
> would be nice if Wayland got rid of it. I am sick and tired of having to
> run xmodmap with a manually-configured "fix it up" whenever I use remote
> X so that my arrow and function keys work. This is stupid and makes
> things look absolutely terrible to end users.
>
> On 04/11/2014 01:52 AM, Hardening wrote:
>> This patch complements the table that contains matches between RDP
>> and xkb keyboard layouts. We now handle variants too.
>> ---
>> src/compositor-rdp.c | 132
>> ++++++++++++++++++++++++++++++++++++++++++++++-----
>> 1 file changed, 120 insertions(+), 12 deletions(-)
>>
>> diff --git a/src/compositor-rdp.c b/src/compositor-rdp.c
>> index aecc0a8..437954f 100644
>> --- a/src/compositor-rdp.c
>> +++ b/src/compositor-rdp.c
>> @@ -42,6 +42,7 @@
>> #include <freerdp/codec/color.h>
>> #include <freerdp/codec/rfx.h>
>> #include <freerdp/codec/nsc.h>
>> +#include <freerdp/locale/keyboard.h>
>> #include <winpr/input.h>
>> #include "compositor.h"
>> @@ -618,21 +619,127 @@ xf_peer_capabilities(freerdp_peer* client)
>> return TRUE;
>> }
With the RDP compositor, you have an out-of-the box experience. If your
client announces the right keyboard layout, you will have your keyboard
working correctly without any xmodmap (or equivalent) tricks. At least
it's the way it is expected to work.
I have heard that in some cases windows layouts (which are also RDP
ones) don't match exact the XKB ones :(. So the surprises can come when
using mstsc against a linux host.
Regards.
--
David FORT
website: http://www.hardening-consulting.com/
More information about the wayland-devel
mailing list