Multiple Keyboard Layouts and Shortcuts

I configured KDE to switch easily from a bépo (french-dvorak) to an azerty layout. I configured it with the KDE interface (systemsettings), but I guess it just call setxkbmap be and setxkbmap fr.
The azerty layout is the default (and the first in the list of the layouts).

However, the shortcuts remains attached to the physical keys: pressing the q key yields a "q" in azerty and an "a" with the bepo layout.
However, pressing ctrl + q have the same effect in both cases (quitting, in most softwares, for instance with kwrite or konsole). Note however that some softwares (as firefox) do the switch (pressing the j key, which prints a "t" with the bépo layout, and ctrl at the same time, opens a new tab, which is the expected behaviour). According to this comment, GTK apps do the switching, whereas Qt apps do not.

How to make the keys of the shortcuts and the key to enter text coincide in all software

More precisely, the shortcuts are defined according to the first layout in the list. How to make the definition of the shortcuts switch as well for Qt apps?

Configuration (system):

$ kded4 --version
Qt: 4.8.7
KDE Development Platform: 4.14.38
KDE Daemon: 4.14.38

$ uname -a
Linux debian 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

Configuration (setxkbmap):

$ setxkbmap -query
rules:      evdev
model:      pc104
layout:     us,fr
variant:    intl-unicode,bepo
options:    grp:caps_toggle

(where fr is actually bepo)

$ localectl list-x11-keymap-variants fr
azerty
bepo
bepo_latin9
bre
dvorak
geo
latin9
latin9_nodeadkeys
latin9_sundeadkeys
mac
nodeadkeys
oci
oss
oss_latin9
oss_nodeadkeys
oss_sundeadkeys
sundeadkeys
us

Related pages :

Edit: This question has been opened 2131 days ago, received three bounties, 31 upvotes, has 11 favorites, it is the most upvoted unanswered question as of now, but it wasn’t offered one serious motivated answer? I should probably being submitting bug report, but I don’t even know what software is responsible!

Asked By: Clément

||

You can set

localectl set-keymap --no-convert <keymap>

Which will change the keymap used at startup. Substitute keymap here with the one you’d like to use. Also ensure that you change your other locale information.

Answered By: Usi

This seems to be solved on my current set-up:

~$ kded5 --version
kded5 5.78.0


~$ uname -a
Linux XXX 5.10.0-19-amd64 #1 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux

~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
Answered By: Clément
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.