繰り返しではなく、特定の言語に切り替えるためにxkbconfigで追加のキーボードショートカットを作成できますか?

繰り返しではなく、特定の言語に切り替えるためにxkbconfigで追加のキーボードショートカットを作成できますか?

現在のキーボード構成は非常に複雑ですが、関連する行は次のとおりです。

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つが適切かもしれません。必要なものを正確に提供しない場合は、定義を使用して必要に応じてキーマップを調整できます。

関連情報