ElementaryOSプロジェクトでArchlinuxとPantheon Shellを使用していますが、不便な問題があります。抜け穴トグルレイアウトがあります。今私はこのスクリプトレイアウト間を切り替えます。完全には動作しませんが(スイッチ間にまだ少しの遅延があります)、標準スイッチよりも高速です。パネルから不要なマークも削除しました。今、私は別の言語を学んでいるので、システムに別のレイアウトを追加する必要があります。
setxkbmap us
50行のPythonスクリプトが遅く実行されるため、上記のものとは異なり、すぐに実行できるsetxkbmap ru
スイッチsetxkbmap eo
を使用したいと思います。問題は、それらをスクリプトに結合してCAPSLOCK
open US
、SHIFT + CAPSLOCK
open RU
、SHIFT + TAB
openを押す方法ですEO
。私はこのようなスクリプトを書いたことがなく、それがどのように見えるのかわかりません。
答え1
スクリプトを書かなくても同様のことをする方法があります。英語、ロシア語、エスペラントを組み合わせた新しいキーボードレイアウトを作成することができ、ほぼ希望通りに動作します。
/usr/share/X11/xkb/symbols/
まず、(またはディストリビューションに応じてキーボード設定ファイルがどこにあっても)、ファイルを作成し、/usr/share/kbd/keymaps/
既存のファイルと競合しないoo
名前を指定します(私は鉱山として名前を付けました)。そして、このファイルにいくつかの行を追加して、正しく機能していることを確認してください。
xkb_symbols "multi" {
include "us(basic)"
include "level3(ralt_switch)"
name[Group1] = "english";
name[Group2] = "esperanto";
name[Group3] = "russian";
key <CAPS> {[ISO_Next_Group, ISO_Prev_Group]};
key.type[group1]="FOUR_LEVEL";
key.type[group2]="FOUR_LEVEL";
key.type[group3]="FOUR_LEVEL";
key <AD01> {[], [scircumflex, Scircumflex], [Cyrillic_shorti, Cyrillic_SHORTI]};
};
それからsetxkbmap oo -variant multi
。
- を押して
q
書きますq
。この例は文字にのみ適用されますq
(ただし、他の文字に対しては簡単にこれを行うことができます)。ŝ
エスペラントやロシア語で書くことができますй
。 Caps
us
、eo
およびをru
繰り返します(3回繰り返すとレイアウトISO_Next_Group
に戻ります)。us
Shift + Caps
ループを逆順に入力しますISO_Prev_Group
。
レイアウト間の反復方法が気に入らない場合(<CAPS>
ファイルの行の変更)を使用できます。
key <CAPS> {[ISO_First_Group, ISO_Last_Group]};
- 入力すると、現在どこにいてもレイアウトに移動します
Caps
。us
ISO_First_Group
- どこにいても、入力は
Shift + Caps
レイアウトに入ります。ru
ISO_Last_Group
- 残念ながらこれはない
ISO_Second_Group
ので、2つのレイアウトに直接アクセスできます(ただし、2つ以上を使用したい場合は繰り返すことができます)。他の同様のキーコードのリストがあります。ここ。
このファイルの仕組み:
xkb_symbols "multi" { ... };
キーボードレイアウトバリアントの名前です。include "us(basic)"
レイアウトが含まれているため、設定ファイルにキーを入れるqwerty
必要はありません。qwerty
include "level3(ralt_switch)"
時々利用したい場合はAltgr
。key <NAME>{ [group 1 content], [group 2 content], [group 3 content]};
Shift
、各コンテンツグループは、主キー、キー、およびキーと...のカンマ区切りの名前で、Altgr
最大8つの値です。ここでは、最初のグループの内容を省略できます。
注:グループの変更は、setxkbmap
毎回実行するよりも高速です。