私はBépo(フランス語 - dvorak)レイアウトからazertyレイアウトに簡単に切り替えるようにKDEを設定しました。 KDEインターフェイス()で設定しましたが、systemsettings
ちょうどsetxkbmap be
and setxkbmap fr
。 azertyレイアウトはデフォルトのレイアウトです(レイアウトリストの最初のレイアウトです)。
ただし、ショートカットはまだ物理キーに接続されています。qキーを押すと、azertyでは「q」が生成され、bepoレイアウトでは「a」が生成されます。ただし、ctrl+を押すとqどちらの場合も同じ効果が表示されます(ほとんどのソフトウェアでを使用またはkwrite
終了するなどkonsole
)。ただし、一部のソフトウェア(例firefox
:)は切り替えられます(jキーを押すと、bepoレイアウトとともに「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
設定(setxkbmap):
$ setxkbmap -query
rules: evdev
model: pc104
layout: us,fr
variant: intl-unicode,bepo
options: grp:caps_toggle
(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
関連ページ:
- キーボードレイアウトとは無関係のショートカットキー(この質問は私と正反対です!)
- http://kate-editor.org/2013/10/07/multiple-keyboard-layouts-and-shortcuts/(2年前に提案されたソリューション)。 「[レイアウト]の順序は優先順位を定義し、ショートカットは常にリストの最初の項目を使用します。」
- https://bugs.kde.org/show_bug.cgi?id=197552(バグ報告、閉鎖されたと主張)
- https://bugreports.qt.io/browse/QTBUG-32908
- https://codereview.qt-project.org/c/qt/qtbase/+/96993
- http://forums.linuxmint.com/viewtopic.php?f=56&t=189004(シングルキーを再マッピングするソリューション)
- キーボードレイアウト間の切り替え時にスクリプトを実行する方法レイアウトの順序を変更するスクリプトをトリガーすることでこれを行うことができます。
編集する:この問題が開かれました。2131数日前、受け取りました。サムバウンティ、賛成31個、お気に入り11個、これはこれまでに最も多くの賛成票を受けた答えがない質問です。しかし、真剣で動機付けの答えを提供していませんか?バグレポートを提出する必要があるようですが、どのソフトウェアが原因なのかわかりません!
答え1
設定できます
localectl set-keymap --no-convert <keymap>
これにより、起動時に使用されるキーマップが変更されます。ここのキーマップを使用したいキーマップに置き換えてください。また、他のロケール情報も変更してください。
答え2
現在の設定ではこの問題は解決されているようです。
~$ 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