[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