Bug 323220

Summary: krdc 4.10.97 fails using xfreerdp keyboard selection
Product: [Applications] krdc Reporter: Daniel Eckl <daniel.eckl>
Component: RDPAssignee: Urs Wolfer <uwolfer>
Status: RESOLVED FIXED    
Severity: normal CC: aermler, cedric.devillers, galantan2008, karel.haruda
Priority: NOR    
Version: 4.10.97   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.11.1

Description Daniel Eckl 2013-08-06 08:55:28 UTC
When using krdc 4.10.97 to connect to a Windows Terminal Server, the keyboard selection always is en-us, no matter what I select in the list.

This is because krdc is executing xfreerdp with wrong arguments for keyboard layout selection. If I choose German keyboard in the dropdown list, krdc is using xfreerdp with the flag "-k de"

This is not the correct way to choose keymap with xfreerdp 1.0.2. That's why it then falls back to default en-us layout.

When using "xfreerdp --kbd-list" you find:

[...]
0x00000407      German
[...]

so the correct option to select german keyboard would be "-k 0x00000407"

Reproducible: Always

Steps to Reproduce:
1. Connect to a windows host using RDP
2. Choose a keyboard layout other than English
Actual Results:  
You end up with an english keyboard layout

Expected Results:  
You should have the keyboard layout you choose when connecting
Comment 1 Daniel Eckl 2013-08-06 09:37:34 UTC
My workaround for now is a wrapper for xfreerdp, placed in my ~/bin folder:

#!/bin/sh
options=$( echo "$@" | sed -e 's/ -k de / -k 0x00000407 /' )
/usr/bin/xfreerdp $options
Comment 2 Urs Wolfer 2013-08-07 06:37:41 UTC
I can confirm this issue and will look into it soon.

An even easier workaround: put "-k 0x00000407" into the "Extra options" field (Host configuration dialog).
Comment 3 Daniel Eckl 2013-08-07 12:22:13 UTC
Nice workaround, Urs, thank you. It then sends both options, but the correct one takes precedence (maybe because it is set after "-k de"). 

If your workaround is easier depends on how many different hosts you are using. If one is using more than a hand full hosts, mine could be easier, as it fixes them all at once and revert back later is just an "rm" ;)
Comment 4 Urs Wolfer 2013-08-18 12:19:35 UTC
Git commit 132458537892f5297f94737c529cee186934d020 by Urs Wolfer.
Committed on 18/08/2013 at 12:13.
Pushed by uwolfer into branch 'KDE/4.11'.

fix RDP keyboad layout setting

- got broken due to rdesktop to xfreerdp migration
- just support already supported layouts from rdesktop (due to message freeze in stable branch)
FIXED-IN: 4.11.1

M  +170  -1    rdp/rdpview.cpp
M  +5    -0    rdp/rdpview.h

http://commits.kde.org/krdc/132458537892f5297f94737c529cee186934d020
Comment 5 Urs Wolfer 2013-08-21 14:08:53 UTC
*** Bug 323836 has been marked as a duplicate of this bug. ***
Comment 6 Urs Wolfer 2013-08-22 10:52:51 UTC
*** Bug 323890 has been marked as a duplicate of this bug. ***
Comment 7 Urs Wolfer 2013-09-03 02:34:49 UTC
*** Bug 324046 has been marked as a duplicate of this bug. ***
Comment 8 Urs Wolfer 2013-09-07 01:44:21 UTC
*** Bug 324545 has been marked as a duplicate of this bug. ***