[Thinlinc-technical] FreeRDP: Keyboard layout detection
Peter Astrand
astrand at cendio.se
Tue Feb 11 10:14:51 CET 2014
On Thu, 6 Feb 2014, Rafael Ostertag wrote:
>> > Now, the question is, is it possible to get FreeRDP work in a
>> > similar way to rdesktop, which more or less "auto detects" the
>> > keyboard layout, regardless of what the VNC Server thinks it is? If
>> > yes, how can that be achieved?
>> >
>> > Thanks for your time.
>>
>> Have you tried downgrading to FreeRDP 1.0.3dev (Use the stable-1.0
>> github tree - https://github.com/FreeRDP/FreeRDP/tree/stable-1.0)?
>>
>> AFAIR this was one of the reasons why we downgraded from 1.1 when
>> using FreeRDP from within a ThinLinc session.
>
> I tried the stable 1.0 branch (to be honest, I just fetched the ZIP
> https://github.com/FreeRDP/FreeRDP/archive/stable-1.0.zip. I did not pull the
> git repo). It seems to behave in the same way as FreeRDP 1.1, i.e. the
> keyboard layout only works properly when first set to match the client's
> layout, using `setxkmap'. Is there anything I have to pay attention to when
> compiling, or a certain command line option?
FreeRDP and rdesktop uses very different methods for auto-detecting the
keyboard layout:
* rdesktop checks the "locale", ie language etc set in the environment.
* FreeRDP, as I understand it, checks the active XKB layout.
None of these methods are perfect. The FreeRDP method, however, is
problematic in a remote desktop environment, because the server side XKB
layout might not match the local client side keyboard layout. You can
connect and reconnect from different terminals with different keyboard
layouts, or even be simultaneiously connected to the same session from two
clients with different keyboards...
So what you want in this context is getting FreeRDP to determine the
keyboard layout from the locale. Don't know if this is possible though,
but you can of course try to create a FreeRDP wrapper script that calls
freerdp with different options depending on $LANG.
Regards,
---
Peter Astrand ThinLinc Chief Developer
Cendio AB http://cendio.com
Teknikringen 8 http://twitter.com/ThinLinc
583 30 Linkoping http://facebook.com/ThinLinc
Phone: +46-13-214600 http://google.com/+CendioThinLinc
More information about the Thinlinc-technical
mailing list