setxkbmapは3つのレイアウトのうち2つを切り替えます。

setxkbmapは3つのレイアウトのうち2つを切り替えます。

次のコマンドを実行します。

setxkbmap -layout "us,ua,ru" -variant ",winkeys" -option "grp:shift_caps_toggle,grp_led:scroll" -model pc105 -rules xorg

Caps Lock+をクリックすると、Shift英語(us)とウクライナ語(ua)のレイアウトは切り替わりますが、ロシア語(ru)の間は切り替わりません。

次のコマンドを使用してリセットしようとしました。

setxkbmap -layout "us,ua,ru" -option ""

そして、さまざまなオプションを試しましたが、何の役にも立ちませんでした。

私のシステムはGentoo Linuxとウィンドウマネージャwmiiです。

答え1

コマンドをテストし(矢印キーを処理するために「-keycodes evdev」を追加する必要がありましたが、問題ありません)、3つのレイアウト間で循環できます。

Caps + Shiftはウィンドウマネージャによってブロックされていますか?

xkbcomp $DISPLAY somefile.txt(または)コマンドを実行してxkbcomp $DISPLAY - | less、次のようにCAPSの定義を確認することもできます。

key <CAPS> {         [       Caps_Lock,  ISO_Next_Group ] };

Caps + Shiftを使用してキーボードレイアウトを変更するときにxkbcompダンプが変更されることを確認してください(そうではありません!)

答え2

setxkbmap -model pc104 -layout us,ua,ru -variant ,winkeys -option grp:lwin_switch,grp:caps_toggle,grp_led:caps

ヒットCAPSLOCKすると、これら3つの間で切り替えられます。を押し続ける
と、WIN現在次のレイアウトが開きます。たとえば、現在のレイアウトが「ua」の場合、「ru」と入力されます。

関連情報