2018年3月8日木曜日

MacでGoogle 日本語入力が使えなくなったのでOSを更新したら直ったメモと、Karabiner-Elements 11.6.0の英数・かなキー設定方法

MacでGoogle 日本語入力が急に使えなくなったが、どうにか復旧できたのでそのメモ。

・要点
Google 日本語入力が使えなくなった。
再起動も再インストールも試したけどだめだった。
OSをYosemiteから最新のHigh Sierra (10.13.3) にアップデートしたら直った。
古いKarabinerが使えなくなったので、Karabinerも最新版(11.6.0)にして再設定した。


・原因と症状、バージョン。
原因は不明。
情況としては、Macを使用中に何らかのエラーメッセージ(覚えていない)が出たので再起動をしたら、再起動し終えた時点で既に使えなくなっていた。

具体的な症状は、Google 日本語入力がキーボードからの英数・記号などの入力をまったく受けつけないというもの。
英数モード・かなモードにかかわらず同様の状態。
ソフトウェアキーボードにも無反応なので、キーボードの物理的な不具合ではない。Google 日本語入力を無効化してMac OS標準のIMEに切り替えると普通に入力可能。

最初に使えなくなった段階でのGoogle 日本語入力のバージョンは不明だが、多分最新版だったのではないかと思う。
OSはYosemite(細かなバージョンは不明)。


・やったこと。
1.Google 日本語入力のアンインストール後に再度インストール(効果がなかった)
不具合が起きたときのルーティンとしてOSの再起動を試してみたがだめだったので、Google 日本語入力自体をインストールし直すことにした。
ユーザ辞書の設定だけエクスポートしてから、Google 日本語入力をアプリケーションフォルダの中の"UninstallGoogleJapaneseInput.app"でアンインストール。その後、最新版をダウンロードし再インストール。
しかしやはり文字入力に反応せず。
時折、以下の「変換エンジンプログラムの起動に失敗しました。」のエラーメッセージが表示される。


ここで気づいたが、Google 日本語入力のメニュー(「環境設定」や「単語登録」「手書き文字入力」など)自体がまったく表示されず、アクセスできなくなっていた。
環境設定をいじればどうにかなるかもしれないと思って、"ConfigDialog.app"の起動を試みたところ、以下の「設定の取得に失敗しました。」というエラーが出た。


環境設定のアプリケーション自体は開くことができるが、設定を変更して上書きすることができない。

原因はGoogle 日本語入力の設定ファイルが壊れたことか?と考え、そのファイルを削除すればどうにかなるのではないかと思っていろいろやった(アプリケーション内のGoogle 日本語入力フォルダを直接削除するなど)けれど無駄に終わった。


2.OSの最新化(これで解決した)
行き詰まったのでダメ元でOSを更新してみることにした。
(Yosemiteの最終盤が2015年なので3年ほど更新していなかったらしい。)

App Storeのアップデート欄からHigh Sierraへのアップデートを選択。
ダウンロードされたインストーラを開始したが、インストール作業に数時間かかった(途中で寝たので正確に何時間かかったかはわからない)。
インストール終了後に再起動。この作業にも30分ほど時間を要した。

OSアップデートの完了後にGoogle 日本語入力をインストールすると、入力の不具合が解消していた。
メニューもきちんと表示され、環境設定その他にも問題なくアクセスできる。

不具合発生時は「再変換」から「Google日本語入力について」までがなくなっていた

よくわからないけど直ってよかった。
ちなみにユーザ辞書は以前のものが引き継がれていた。ファイルがどこかに残っていてそれを自動で引き継いだのか、それともエクスポートしたファイルを見つけて自動でインポートしてくれたのか、わからない。
何もわからない。


・オマケ:Karabinerの設定
Karabiner 11.6.0でのcommandキーの英数・かなキーの振り分け方法のメモ。

USキーボードの左右のcommand(⌘)キーをそれぞれ英数キーとかなキーに切り替えることができるKarabinerというソフトを使っていたが、こちらも長らくアップデートしていなかったので、High Sierraへの更新と同時に使えなくなった。バージョンは10(…)だった。
最新の11.6.0はHigh Sierraに対応していたので、古いKarabinerを削除して最新版をインストールしたところ、設定(Preferences)の様子が以前のバージョンと変わっていて戸惑った。
ネット上にはKarabinerでcommandキーを英数・かなに割り当てる方法を紹介する記事が複数あるが、古いバージョンを前提にしたものが多いと思うので、最新版でのやり方を書いておく。

Preferences > Complex Modifications > Rulesから、Add Rulesをクリック。
以前のバージョン(10以前?)では設定のセットが最初から揃っていたが、11.6.0はブラウザを介してネット上から必要な設定をダウンロードすることになっている(らしい)。

Import more rules from the Internet (open a web browser)ボタンをクリックするとWebブラウザが起動してKarabiner-Elements complex_modifications rulesのページが開くので、そこから「International (Language Specific)」欄の「For Japanese(日本語環境向けの設定)」を選んでImportをクリック。(Japaneseでページ内検索すれば早い)

ダイアログが出るので「Karabiner-Elements.appを開く」を選択。


上の画面になったら「コマンドキーを単体で押したときに、英数・かなキーを送信する。(…)」をEnableに。
これで完了。