何が起きているのか
MacbookのUSキーボードを使用。もともとJSキーボード出身なので、手になじんだ親指で「英数」「かな」の入力切り替えを再現すべくKarabinorのお世話になっていた。左右の⌘キー単発押しをそれぞれ「英数」「かな」にアサインするという平和な日々。
あの頃(El Capitan)は良かったな。
事態が急変したのは、新しいMacbook Proを購入してプリインストールされているSierraを使い始めてから。
SierraではKarabinorが使えないというではないか。
Karabinor Elementsという後継プロジェクトが起ち上がっているようだが、⌘キー単発押しには未対応。
代替として⌘英かなを使い始めた。これで再び平和が訪れる・・はずだった。
- あれ?入力モード変更できない → ツールバーから⌘英かな終了 → Dockに置いたショートカットから起動。 というのを繰り返すこと数回。
- どうやら ⌘英かな ver.2.2.1は不安定。いつの間にか死んでいることが多い。
- 日に2回以上再起動した時点でめんどくさい。
- AppleScriptで再起動させるスクリプトを書き、cronで自動実行させることにした。
Apple Script
1) スクリプトエディタで以下のスクリプトを作成する。
再生ボタンでテスト実行。
tell application "⌘英かな"
quit
delay 1
run
end tell
ちなみに「⌘」という文字は、絵文字パレット(control + command + space)から選んで表示できる。
僕はそれをATOKに単語登録して使用。
2) ~/Documentsにscptフォルダを作成し、eikana_reboot.scpというファイル名で保存
もちろん任意の場所でOK。
3) 試しに実行してみる。
スクリプトエディタの再生ボタンでも確認済みだが、コマンドラインからも実行可能か確認してみる。
$ osascript /Users/yutaka/Documents/scpt/eikana_reboot.scpt
コマンドラインからAppleScriptを実行するのは、osascriptだそうだ。
cron
4) cronに登録
あとはこのコマンドをcronに登録すれば完了。
crontab -e で直接編集するのはお勧めできないので、一旦homeにファイルを作ってそこで編集する。
$ crontab -l > ~/crontab
↑もしまだcrontabを実行したことが無いなら、vim ~/crontabで一時ファイルを作成する。
50 * * * * osascript /Users/hogehoge/Documents/scpt/eikana_reboot.scpt
※hogehogeの書類ディレクトリに保存したスクリプトを毎時50分にosascriptコマンドを実行する例
Apple Watchのスタンド促しが50分に来るので、その間に⌘英かなを再起動してもらうのだ笑
5) crontabに反映
$ crontab < ~/crontab
6) 確認
$ crontab -l
50 * * * * osascript /Users/hogehoge/Documents/scpt/eikana_reboot.scpt
さっき書いた内容が表示されればOK
以上で快適なUSキーライフが送れることと思う。
ま、こんなことやらずに済むのが一番なので、⌘英かなが安定することを望みます。