OS/2, eCS & ArcaOS - Technical > Applications

FreeRDP keyboard settings / host does not honor German keyboard layout

(1/2) > >>

Andi B.:
I've tried FreeRDP to connect to different Linux boxes. It works but using FreeRDP the Linux host uses EN keyboard layout. All my Linux boxes does have German keyboards attached and work as expected when I'm sitting in front of them. My OS/2 system has a German keyboard too. But when I connect from my OS/2 system a Linux host via FreeRDP they get the English keys instead the German ones.

I don't see any setting in our FreeRDP port to translate the keys. Is there anything I'v to adjust on Linux (host) side?

Andi B.:
Answering myself, I've to set for the rdp user in hardware setting the keyboard layout. Only problem now is "<Alt Gr>" and "<Alt> <Strg>" do not work as expected. F.i. I can't input a ~ or € on the remote system.

Andi B.:
Now I've still the problem that I've to switch manually from 'en' to 'de' every time I connect to this linux box. This drives me crazy.

Directly connected to the Linux box all works well. I log in and have my default German keyboard layout. But connect in parallel via FreeRDP to the same system it always switch to 'en'. Have to click in the bar (similar what xcenter is) to switch back to 'de'. There must be something FreeRDP related which let Linux think it should use English keyboard instead. Some LANG setting or?

Dariusz Piatkowski:
Hey Andi,


--- Quote from: Andi B. on December 08, 2023, 06:01:55 pm ---I've tried FreeRDP to connect to different Linux boxes. It works but using FreeRDP the Linux host uses EN keyboard layout. All my Linux boxes does have German keyboards attached and work as expected when I'm sitting in front of them. My OS/2 system has a German keyboard too. But when I connect from my OS/2 system a Linux host via FreeRDP they get the English keys instead the German ones...
--- End quote ---

So I picked this up from an on-line FreeRDP User Manual (https://sysadminmosaic.ru/_media/freerdp/freerdp-user-manual.pdf), and while it's specficially calling out the use of xfreerdp, perhaps it works on our port as well:


--- Code: ---xfreerdp .../kbd:0x409

--- End code ---

where "/kbd:0x409" is they remote session keyboard layout you want to use, and in the case of non-EN setups you can use one of these:


--- Code: ---Keyboard Layouts
0x00000401 Arabic (101)
0x00000402 Bulgarian
0x00000404 Chinese (Traditional) - US Keyboard
0x00000405 Czech
0x00000406 Danish
0x00000407 German
0x00000408 Greek
0x00000409 US

--- End code ---

Looking at our port, I see the following option showing up:


--- Code: ---/kbd:[layout:[0x<id>|<name>],lang:<0x<id>>,fn-key:<value>,type:<value>
      subtype:<value>,unicode[:on|off],remap:<key1>=<value1>
      remap:<key2>=<value2>,pipe:<filename>]
                                  Keyboard related options:* layout: set the
                                  keybouard layout announced to the server*
                                  lang: set the keyboard language identifier
                                  sent to the server* fn-key: Function key
                                  value* pipe: Name of a named pipe that can
                                  be used to type text into the RDP session

--- End code ---

So it would at least appear like you should be able to set this. Give it a try and see if that helps?

Andi B.:
Our FreeRDP comes with nice objects to setup a connection. Unfortunately I didn't find how to add additional parameters there. So I played with command line. But no matter what I try I can't get the /kdb: option to work. F.e.
--- Code: ---ofreerdp.exe /u:xxxx /p:xxxx /w:2100 /h:1800 /v:m92p
--- End code ---
works but

--- Code: ---ofreerdp.exe /u:xxxx /p:xxxx /w:2100 /h:1800 /kdb:de /v:m92p
--- End code ---
or any other value I tried for /kdb including /kbd:0x409 does not. :-(

Navigation

[0] Message Index

[#] Next page

Go to full version