Bug#920483: The keyboard layout displays “us” whatever the current layout until a key is pressed
Control: tags -1 patch The attached patch fixed the issue for me for 0.18.0-1, but should also work for 0.18.1-1. It requires 2 additional dependencies on x11-xkb-utils and xinput. Regards, Dennis.Description: Set keymaps for virtual devices before login prompt. For this to work Depends: on x11-xkb-utils and xinput are needed. Author: Dennis Filder Bug-Debian: https://bugs.debian.org/920483 Last-Update: 2020-09-10 --- a/sddm-0.18.1/data/scripts/Xsetup +++ b/sddm-0.18.1/data/scripts/Xsetup @@ -1,3 +1,19 @@ #!/bin/sh # Xsetup - run as root before the login dialog appears +# Here we have to set the keymap of virtual keyboards to that of the +# first-found physical one since the X server doesn't (#920483). +# +# This is also important for autologin setups in combination with +# programs that take a snapshot of the current keymap to restore it +# later (e.g. Orca). +if [ -x /usr/bin/setxkbmap -a -x /usr/bin/xinput ]; then +PHYNAME="$(xinput --list --name-only | grep keyboard | grep -v '^Virtual core' | head -n 1)" +PHYID="$(xinput --list --id-only "${PHYNAME}" | head -n 1)" +VCKID="$(xinput --list --id-only "Virtual core keyboard" | head -n 1)" +XTESTID="$(xinput --list --id-only "Virtual core XTEST keyboard" | head -n 1)" +KEYMAP="$(setxkbmap -device "$PHYID" -query |grep ^layout|cut -d : -f 2|tr -d ' ')" +for id in "$VCKID" "$XTESTID"; do +setxkbmap -device "$id" -layout "$KEYMAP" +done +fi
Bug#920483: The keyboard layout displays “us” whatever the current layout until a key is pressed
I don't have much to add, except a confirmation of the issue being in Deb/testing. I have the exact same issue, it confuses the users to see the American flag and "us" right next to "Clavier" (keyboard in French), everything else is in French. Also note, if the user tries to chose their keyboard layout before typing, they have no other options, just "us". Debian testing/Buster 10.0 Cheers, -- Emmanuel Revah