【コマンドライン不要】macOSのキーリピートで特殊文字選択パネルが現れないようにする
概要
キーリピート、つまり同じキーを押し続けた時には、そのキーを連続入力し続けたいと思うことがあります。しかし最近のmacOS標準環境では、アルファベットでこれを行った場合に、アクセントやウムラウトなどのついた特殊文字を選択するためのパネルが現れ、キーリピートを阻害します。
見回したところ、システム設定にはこれを直接無効化するGUIのオプションが見当たらないようです。
結論
これの無効化には主に以下2通りの方法があり、よく知られている方法としては [B] がありますが、筆者としてはコマンドを操作しなくても実現できる [A]の方がおすすめです。
- A. 英字入力では「ABC」の代わりに「英字」を使用する
-
B. defaultsコマンドで
ApplePressAndHoldEnabled
を操作する
A. 英字入力では「ABC」の代わりに「英字」を使用する
英字の入力ソースには英語の「ABC」があり、おそらく日本語環境ではこれがデフォルト設定になっていると思います。しかしこの「ABC」入力ソースを使うと例の特殊文字選択パネルが現れてしまうため、これを使わず、代わりに日本語の 「英字」 を追加してこちらを使用するようにしてみましょう。
そのままでは「ABC」を削除することができないため、まず 「日本語 — ローマ字入力」 または 「日本語 – かな入力」 内にある入力モード 「英字」 にチェックを入れましょう。
日本語ソースの「英字」 にチェック
次にすべての入力ソースから「ABC」を選択し、下のツールバーにある「-」をクリックして、「ABC」を削除します。先に「英字」を追加しておかないと「ABC」を削除できないため、順序に気をつけてください。
「英字」を追加すると「ABC」を削除できるようになっているので、これを削除
「ABC」の代わりに「英字」が使えるようになっていたら、設定は完了です。アルファベットのキーリピートを試してみてください。
英字入力には「英字」を使うようにする
ApplePressAndHoldEnabled
を操作する
B. defaultsコマンドでグローバルドメインに ApplePressAndHoldEnabled
の設定を false
で書き込んで、特殊文字選択パネル自体を無効化します。この方法では「ABC」入力ソースに対しても有効ですが、そもそもOS標準の特殊文字選択パネルを無効化してしまうことのユーザー体験的な副作用の懸念や、Terminalでの操作が必要になること、再起動が必要になることが初級者には敷居が高い方法になってしまいます。
defaults write -g ApplePressAndHoldEnabled -bool false
実行後にマシンを再起動。元に戻すには false
を true
にして再実行する。
Discussion