Ubuntu 14.04 でのステートレスレイアウト切り替え

Ubuntu 14.04 でのステートレスレイアウト切り替え

スクリーンショット

私は2つのキーボードレイアウト(英語にはラテン文字、ウクライナ語とロシア語にはキリル文字)を頻繁に使用しており、モードエラーUI 状態の追加ビットのためです:現在のレイアウト

私は以前は、ステートレスレイアウトの切り替えでは、next layoutアクションは発生しません(このようなアクションは現在の状態(これはユーザーが忘れやすく、エラーの原因になります)ではなく、次の 2 つのアクションのみを実行します。

  1. ラテン文字レイアウトを有効にします。
  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 オプションを設定してみてください。

  1. インストールdconf-editorsudo apt-get install dconf-editor
  2. ダッシュボードからdconfエディタを開き、組織ノームデスクトップ入力ソース
  3. XKB 設定をxkb-options配列の形式で追加します。例:['grp:shift_caps_switch']

ソース:起動時にsetxkbmapの設定が実行されるようにします

答え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

結局シナモンデスクトップにはまだそのオプションがあります! いいですね。

関連情報