Clé*_*ent 34 kde keyboard-layout qt
我将 KDE 配置为从 bépo (french-dvorak) 轻松切换到 azerty 布局。我用 KDE 接口 ( systemsettings
)配置了它,但我猜它只是调用setxkbmap be
和setxkbmap fr
. azerty 布局是默认布局(也是布局列表中的第一个)。
但是,快捷方式仍然附加到物理键上:按下该q键会在 azerty 中产生一个“q”,在 bepo 布局中产生一个“a”。但是,在两种情况下按ctrl+q具有相同的效果(退出,在大多数软件中,例如使用kwrite
或konsole
)。但是请注意,某些软件(as firefox
)会进行切换(按下j键,会打印带有 bépo 布局的“t”,ctrl同时打开一个新选项卡,这是预期的行为)。根据此评论,GTK 应用程序会进行切换,而 Qt 应用程序不会。
如何让快捷键的按键和输入文字的按键在所有软件中重合
更准确地说,快捷方式是根据列表中的第一个布局定义的。如何为 Qt 应用程序切换快捷方式的定义?
配置(系统):
$ 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
Run Code Online (Sandbox Code Playgroud)
配置(setxkbmap):
$ setxkbmap -query
rules: evdev
model: pc104
layout: us,fr
variant: intl-unicode,bepo
options: grp:caps_toggle
Run Code Online (Sandbox Code Playgroud)
(其中 fr 实际上是 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
Run Code Online (Sandbox Code Playgroud)
相关页面:
编辑:这个问题已在2131天前开放,收到了3 个赏金,31 个赞成票,有 11 个收藏,这是迄今为止投票最多的未回答问题,但没有提供一个认真的动机答案?我可能应该提交错误报告,但我什至不知道是什么软件负责!
这似乎在我当前的设置中得到了解决:
~$ 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
Run Code Online (Sandbox Code Playgroud)