macOSで英字キー長押し時のアクセントを無効化|キーリピートを有効にする方法

macOSを新規にインストールした際、いつも悩まされる問題があります。

英字キーを長押しすると、キーリピートせずにアクセント記号のポップアップが表示されてしまうのです。

毎回解決方法を忘れてしまうので、ここにメモしておきます。

症状

  • ターミナルではキーリピートが効く
  • ブラウザや多くのアプリでは、英字キー長押しでアクセント記号パネルが表示され、キーリピートしない

Image in a image block

原因

OS X 10.8(Mountain Lion)以降の標準仕様で、英字キー長押し時にアクセント付き文字入力のためのパネルが表示されるためです。

解決方法(全アプリで無効化)

アクセントパネルを無効化してキーリピートを有効にします。

  1. ターミナルを開く
  2. 次のコマンドを実行
defaults write -g ApplePressAndHoldEnabled -bool false
  1. 対象アプリを再起動(反映されない場合はMacを再起動)

元に戻す場合は以下を実行:

defaults write -g ApplePressAndHoldEnabled -bool true

アプリ単位で設定する場合

グローバルの -g の代わりに、アプリの Bundle ID を指定します。

例(Visual Studio Code のみでアクセントパネルを無効化):

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

実行後は当該アプリを再起動してください。

補足・注意点

  • 「システム設定 → キーボード」からは変更できません
  • 反映にはアプリ再起動、場合によってはMacの再起動が必要です
  • 一部アプリは独自の入力処理を持つ場合があります