現在のキーボード構成は非常に複雑ですが、関連する行は次のとおりです。
setxkbmap -option -option 'grp:rshift_toggle, compose:rctrl' dmru,ru,ua &
Rshiftは今dmru、ru、uaの間を循環します。画面がロックされているときにパスワードを入力するためにどのレイアウトを使用しているのかわかりません。 (この場合、dmruはカスタムレイアウトです。)切り替えるたびにsetxkbmap $言語を実行することはできません。これはxcapeとxmodmapの設定を実行すると毎回数秒かかり、実用的ではないからです。
毎回setxkbmapを実行せずに特定の言語に切り替えることはできますか?
答え1
ISO_First_Group
グループ切り替えオプションは、ISO_Last_Group
および4ISO_Next_Group
つのキーシンボルを使用して機能しますISO_Prev_Group
。使用するオプションgrp:rshift_toggle
のみが使用できるISO_Next_Group
ため、表示されるのはレイアウト全体を循環するだけです。
探しているアクション(特定のレイアウトを選択)はISO_First_Group
またはISO_Last_Group
キー記号にあります。これらのコアシンボルの1つ以上を提供する既存のオプションを見つけたり、新しいオプションを作成したいと思います。
一目で、man xkeyboard-config
これらの既存のオプションには次のものが含まれているようですISO_First_Group
。
grp:shift_caps_switch
:Caps Lockは最初のレイアウトに固定され、Shift + Capsは最後のレイアウトに固定されます。grp:win_menu_switch
:Winを最初のレイアウトに保ち、右のWin / Menuを最後のレイアウトに保ちます。grp:lctrl_rctrl_switch
:左のCtrlは最初のレイアウトに移動します。右のCtrlは最後のレイアウトに移動します。grp:lctrl_lwin_rctrl_menu
:左 Ctrl+左 Win は最初のレイアウトに移動し、右 Ctrl+Menu は 2 番目のレイアウトに移動します。
これらのオプションはで定義されています/usr/share/X11/xkb/symbols/group
。そのうちの1つが適切かもしれません。必要なものを正確に提供しない場合は、定義を使用して必要に応じてキーマップを調整できます。