この記事の目標
CentOS7で,Ctrl+Spaceを押すことで英語入力から日本語入力に切り替えるようにします.
解決したいこと
このテーマについてはすでにこのQiitaの記事(*1)やこのWebページ(*2)にて,
「アプリケーション」→「システムツール」→「設定」→「地域と言語」を選択
とする方法が説明されています.この方法は私の環境ではうまくいきませんでした.なぜなら「設定」に相当する項目を見つけることができないためです.
*1と*2が日本語環境(メインメニューなどが日本語)なのに対して,私は英語環境であることが原因かもしれません.
こうしたら解決しました
まず,*1で
- 右上の「アプリケーション」→「システムツール」→「ソフトウェア」を選択
- 「ibus - kkc(Japanese Kana Kanji input method for ibus)」がダウンロードされていることを確認(入っていなければダウンロード&再起動)
とありますので,この指示に従います.私の場合はすでにダウンロードされていました.
次にIBusの設定をします.ここではまず,System > Preferences に IBus preferences を登場させます.System > Preferences > Look and Feel > Main Menu をクリックします.
左カラム(Menus)でSystem > Preferencesを選択したのち,右カラム(Items)でIBus Preferencesのチェックボックスにチェックします.
Close をクリックし.Main Menuのウィンドウを閉じます.
System > Preferences に IBus Preferences が登場しました.これをクリックします.
Input Method タブを選びAddをクリックします. 登場した Select an input method ウィンドウで Japanese をクリックします.
Select an input method のウィンドウが切り替わります.Kana Kanjiをクリックして,その後Addをクリックします.
IBus Preferences ウィンドウのGeneralタブに移ります.Keyboard Shortcuts > Next input methodの右にある,「...」ボタンをクリックします.登場した Select keyboard shortcut for switching input methodsウィンドウのModifiersでControlを選び,他のチェックを外します.
OKを押します.
ここまで終えたら,IBus Preferences ウィンドウは右上の「×」で閉じてOKです.firefoxなどのブラウザを開き,検索窓をクリックして,Ctrl+Spaceを押すと,ちゃんとかな入力できているはずです.
日本語の入力についてはこれでおしまいです.
キーボードの配列がおかしい!
私はHHKB(Happy Hacking Keyboard)の英字配列を使っていて,キーボードのレイアウトはオーストラリア配列(この名称で正しいのかわかりません.Shift+2で「@」が出力される配列です)を愛用しています.上記のIBusの設定をして,Ctrl+Spaceで入力切り替えをしたところ,レイアウトがおかしくなってしまいました.具体的には,Shift+2で「"」が出力されてしまうようになりました.この問題の対応策を見つけたので以下に記録します.以下の内容はこのWebページを参考にしました.
まずSystem > Preferences > IBus Preferencesを開きます.System > Preferences 以下にIBus Preferencesが見つからない方は,このページの上方にあります,①から④の手順を実行してください.
Advancedタブ をクリックし,Keyboard Layout以下にある,Use system keyboard layoutのチェックボックスにチェックを入れます.
IBus Prefecenses ウィンドウは右下の「Close」をクリックして閉じます.
次に,System > Preferences > Hardware > Keyboardをクリックします.
Layout タブをクリックし,English(Australian)のレイアウトを追加します.すでにEnglish(Australian)が追加されている方でも,もう一度「+Add」から新しくEnglish(Australian)を追加し,古いEnglish(Australian)は「-Remove」することをおすすめします.私の環境では,新しくEnglish(Australian)を追加し,古いものを削除する必要がありました.