Edited at

Mac OS X High Sierra のキー入力速度を速くする

今まで自分のMacのキー入力が割ともっさりしてるなと思っていたのですが、Macのキー入力の設定変更でかなり快適になって感動したので、メモしておきます。


環境


  • Mac OS X 10.13.6 High Sierra


設定方法

大きく分けて2種類あります。手軽さは 1.の方法、システム上限を超えてキー入力を速くしたい場合は2. の方法を使う形になります。


  1. システム環境設定から設定する


  2. defaults コマンドから設定する


システム環境設定から設定する

手軽に設定したい場合はこちらから。

[System Preferences] - [Keyboard] より、Key Repeat(キーのリピート)、Delay Until Repeat(リピート入力認識までの時間)をどちらも一番右の最速にします。設定は即時反映されます。

image.png


defaults コマンドでシステム環境設定より速く

システム環境設定の上限よりも速くしたい場合は、defauts コマンドを使います。

※システム上限値を超えた設定を行うので、設定値の吟味・実際の設定は自己責任でお願いします。

defaults とは MacOSX の 各種ユーザー設定をストレージ管理する、User Defaults System を操作するコマンドです。こちらを使ってキー入力の設定を変更できます。

設定には以下のコマンドを実行します。なお、設定の反映はログアウトが必要です。

$ defaults write -g InitialKeyRepeat -int 10

$ defaults write -g KeyRepeat -int 1

※ 設定値は以下の Github Issue で盛んに議論されていた内容を設定しました。

Key repeat broken in macOS Sierra · Issue #687 · mathiasbynens/dotfiles · GitHub

write で書き込み、-g オプションが NSGlobalDomain というすべてのアプリケーションから参照される共通設定を表します。

設定項目はそれぞれ以下の通りです。


  • InitialKeyRepeat: リピート入力認識までの時間

  • KeyRepeat: キーのリピート

-int は値の型を表します。1 あたり 15 ms のようです。つまり、


  • InitialKeyRepeat: 10 * 15 ms = 150 ms

  • KeyRepeat: 1 * 15 ms = 15ms

となります。

ちなみにシステム環境設定からの設定だと下記の通りです。


  • InitialKeyRepeat: 15 * 15 ms = 225 ms

  • KeyRepeat: 2 * 15 ms = 30ms

設定内容は defaults read コマンドで確認できます。

$ defaults read -g InitialKeyRepeat

$ defaults read -g KeyRepeat


キー入力速度の比較

今回の設定変更で、どんなふうに速度が上がったかをまとめてみました。システム環境設定の最速にするだけでもかなり速度が改善されますが、defaults コマンドで変更すると更に速くなります…!


設定変更前

before.gif


システム環境設定の最速

system.gif


defaults コマンドで設定

fastest.gif


終わりに

Mac 使いの方々には常識だったのかも知れませんが、僕はこれを知ってかなり快適になりました。もっと早く知っていればよかった…


参考