前提
- あえてmacOSの日本語入力プログラム(macOSデフォルトの日本語IME)だけで生活しようとしている場合の記事
- ふつうはKarabiner Elementsを使えばよいはず
これまで
以前Ctrlでひらがなと英字モードをトグルするようにした。
結果としては、これは使いにくかった。理由:
- ノートブックのキーボードだとCtrlが小さい
- Option ⌥と誤打する
- どちらのモードなのかメニュー上のIMEの表示を見ないと人間が把握できない
- 見ればいいのだが見ない
日本語入力ソースの中のモードを使う
実はトグルではない方法で日本語と英語の入力モードを切り替える方法がある。
日本語入力プログラムのドキュメント (https://support.apple.com/ja-jp/guide/japanese-input-method/jpimf6ffb247/mac) を読むと、日本語入力ソースに「ひらがな」と「英字」という日本語入力モードがあることがわかる(英語だと"Hiragana"と"Romaji"という表記)。この「英字」は"ABC"で表される英字ソースとは別物。
「ひらがな」と「英字」のモードはそれぞれCtrl+Shift+JとCtrl+Shift+;で切り替えることができる*1。トグルではないので、キーバインドを打鍵すれば確実にそのモードになったことが保証される。
最近はこちらの方法を使っている。
現在の問題点
英字モードのときにGoogle Chromeでフォームのテキストエリアっぽい箇所に文字を入力すると、ブラウザがしばらく反応しなくなることがある(少なくともM1 Macbook Pro + mac OS 12.6 + Chrome 109で発生)。GitHubのインクリメンタルサーチやRedashでクエリを書くときに困る。現象が起きている最中に日本語入力プログラムのメニューを開くと、ロード中のようなUIのまま固まっていることが確認できる。日本語ソースではなく"ABC"表記の英字ソースだと発生しないので、必要ならそちらに切り替えるのがワークアラウンド。
他には、Shiftでローマ字モードに切り替える機能もあるのだが、機能を有効にしても動かない。USキーボードだとうまく動かないという仮説があるが、JISキーボードを持っていないので未検証。Ctrl+JとCtrl+;でとくに困らないというのはある。
*1:入力モードとしてあらかじめ「ひらがな」と「英字」だけを使うようにしておくと、「英字」への切り替えはCtrl+Shift+;が使える。設定を変えて「半角カタカナ」なども使えるようにしてしまうと、そちらにCtrl+Shift+;が奪われてしまい、「英字」はCtrl+Shift+'に変わる。ホームポジションに近いほうがいいので「ひらがな」と「英字」だけ入力モードとして有効にしておくのがベター