Setting (non-us) keyboard layout
PWM-Master opened this issue · comments
I am using Debian Sid and Cage 0.1.5
Within the Debian setup "de" (german) is set for keyboard layout.
Default XKBDEFAULT under /etc/default/keyboard is set to "de".
Config "dpkg-reconfigure keyboard-configuration" was set to "de".
~/.profile contains environment variable "export XKB_DEFAULT_LAYOUT=de"
(This last step/hint was found in Cage docu/wiki)
Shell uses the correct german keyboard layout
but Cage persists using the us layout.
How could I customize a non-us keyboard layout for Cage?
Or should I open a bug?
export XKB_DEFAULT_LAYOUT=de
should be enough for Cage.
How are you starting Cage?
My (first) Cage application was freerdp2 in X11 and Wayland mode - syntax/start is with:
cage wlfreerdp -- /v:{rdp-ip}
or
cage xfreerdp -- /v:{rdp-ip}
In both cases keyboard does not change from "us" -
not in the freerdp authentication dialogue, nor in the rdp session itself.
I just installed/cross-checked the app xterm with
cage xterm
and keyboard was set succesfully to "de".
So the issue might (only?) be a freerdp related one...
I testet other apps now and export XKB_DEFAULT_LAYOUT=de
/setting keyboard layouts worked fine with Cage until now.
The problem seems to be caused by xfreerdp. Their documentation tells something about a "keyboard layout detection"
https://github.com/FreeRDP/FreeRDP/wiki/Keyboard#keyboard-layout-detection
(I dont understand the purpose - why not using the system settings?)
Their process seems to rely on some fancy X11 infrastructure that is not presesent in a pure (X)Wayland\Cage config.
For me (and possible other users of freerdp) the following workaround allows the setting of an keyboard layout with freerdp in a wayland/cage environment:
cage wlfreerdp -- /v:{rdp-ip} /kbd:0x{layout-id}
where layout-id is 0407 for german - other IDs could be find here: