私は2つのキーボードレイアウト(英語にはラテン文字、ウクライナ語とロシア語にはキリル文字)を頻繁に使用しており、モードエラーUI 状態の追加ビットのためです:現在のレイアウト。
私は以前は、ステートレスレイアウトの切り替えでは、next layout
アクションは発生しません(このようなアクションは現在の状態(これはユーザーが忘れやすく、エラーの原因になります)ではなく、次の 2 つのアクションのみを実行します。
- ラテン文字レイアウトを有効にします。
- キリル文字レイアウトを有効にします。
これは、Saucy 以前のリリースでは簡単に実現できました。上のスクリーンショットに示されているとおりです。
しかし、その設定ウィンドウ破壊されました生意気な。
ステートレス スイッチングを今すぐ実現するにはどうすればいいですか?
答え1
Ubuntu と GNOME のキーボード オプションは、X キーボード拡張 (XKB) のフロントエンドにすぎません。手動で設定することに問題がない場合は、コマンド ラインを使用して、現在失われているすべてのオプションを簡単に再度有効にすることができますsetxkbmap
。
たとえば、ロシア語と英語のキーボード レイアウト間の非モーダル スイッチを設定するには、次のコマンドを使用できます。
setxkbmap -layout us,ru -option grp:shift_caps_switch
これにより、現在のセッションでこれらのXKB設定が有効になります。変更を永続的にしたい場合は、上記のコマンドをスタートアップアプリケーションに追加します。
で制御できるその他のさまざまな設定に興味がある場合はsetxkbmap
、マニュアル ( man setxkbmap
) に目を通し、 を確認することをお勧めします/usr/share/X11/xkb/rules/base.lst
。 には、作成キー、キーボード レイアウトの切り替えなどを構成するさまざまな方法がすべて記載されています。
以下はbase.lst
キーボードレイアウトの切り替えに関するセクションです。
! option
grp Key(s) to change layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win key (while pressed)
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout)
grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift keys together
grp:alts_toggle Both Alt keys together
grp:ctrls_toggle Both Ctrl keys together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)
さまざまな XKB 設定についても に記載されていますman 7 xkeyboard-config
。
setxkbmap
うまくいかない場合は、dconf
代わりに次の方法で XKB オプションを設定してみてください。
- インストール
dconf-editor
(sudo apt-get install dconf-editor
) - ダッシュボードからdconfエディタを開き、組織→ノーム→デスクトップ→入力ソース
- XKB 設定を
xkb-options
配列の形式で追加します。例:['grp:shift_caps_switch']
答え2
このコマンドは、レイアウトを最初のものに設定します (Unity/Gnome Indicator、Ubuntu 13.10/14.04 で正常に動作します)。
gsettings set org.gnome.desktop.input-sources current 0
調整ツール、gnome アクション、compiz アクション プラグインなどを使用して、キーボード ショートカットを作成できます。
レイアウトは 0 からインデックス付けされます。そのため、リスト内の任意のレイアウトのショートカットを作成できます。
これを使用すると、インデックスを指定せずに最後のレイアウト用の複雑なスクリプトを作成できます。
gsettings get org.gnome.desktop.input-sources sources
のように:
gsettings set org.gnome.desktop.input-sources current $(($(gsettings get org.gnome.desktop.input-sources sources | grep -Po "'[[:alpha:]]+'\)" | wc -l)-1))
答え3
おそらく、調整ツールを使用するだけです:
HTH
答え4
結局シナモンデスクトップにはまだそのオプションがあります! いいですね。