Mac OS XでEscとしてCaps Lockを使用する


449

Mac OS XのCaps Lockように機能させるにはどうすればよいEscですか?


31
これは、vimを使用するプログラマにとって標準的な作業のようです。したがって、再開の投票
Jeromy Anglim 2013

4
代わりに、Caps Lockをコントロールにマッピングし([システム環境設定]> [キーボード]> [修飾キー])、のエスケープシーケンスCtrl + [を実行しescます。Vimに便利です。
thelostspore

2
macOS Sierraで動作するネイティブソリューション:stackoverflow.com/a/41004544/1940276
Kevin Roth

1
MacOSのシエラで働くネイティブ溶液(@rkusaから)ここではセカンドベストの答えです
マリアンチェルニー

回答:


394

編集:この回答で説明したように、MacOSの新しいバージョンでは、への再バインドがネイティブでサポートされるCaps LockようになりましたEscape。したがって、これを実現するためにサードパーティのソフトウェアをインストールする必要はありません。


これは、Seil(以前はとして知られていたPCKeyboardHack)を使用してこれを達成する方法の包括的で視覚的なウォークスルー回答(リンク付き)での私の試みです。

  1. まず、入るシステム環境設定を選択し、キーボードを、そしてキーボードタブ(最初のタブ)、およびクリック修飾キー

ステップ1

ポップアップダイアログで、Caps Lock KeyNo Action次のように設定します。

アクションを選択しない

2)次に、ここをクリックしてSeilをダウンロードしてインストールします。

3)インストール後、新しいアプリケーション(Mountain Lion以降)がインストールされます。古いOSを使用している場合は、新しい[システム環境設定]ペインを確認する必要があります。

セイルまたは設定ペインを開く

4)「Caps Lockを変更する」というボックスをチェックし、エスケープキーのコードとして「53」を入力します。

キーボードコードを設定する

これで完了です。すぐに機能しない場合は、マシンを再起動する必要があります。

感動した?より細かく制御したいですか?

また、KeyRemap4MacBookをチェックすることもできます。これは、実際には主要なキーボードの再マッピングツールです。pqrs.org。これも無料です。

これらのツールが気に入ったら寄付することができます。私は彼らとは関係がありませんが、私はこれらのツールを長い間使用してきました、そして彼らの向こうの人々はこれらを維持し、機能を追加し、バグを修正する素晴らしい仕事をしてきたと言わざるを得ません。

以下は、(数百の)事前選択可能なオプションのいくつかを示すスクリーンショットです。

画像1.png

PQRSも呼ばれる偉大なユーティリティがあるNoEjectDelayあなたはと組み合わせて使用することができKeyRemap4MacBookイジェクトキーを再プログラミングするために。少し調整した後、AirPort Wifiを切り替えるように設定しました。

これらのユーティリティは、Macキーボードを再マップするときに無制限の柔軟性を提供します。楽しんで!


3
私がKeyRemap4Macbook なしで PCKeyboardHackを単独で使用して、ほぼ2年間これを正確に実行していることを明確にしたいと思います。
rossipedia

13
外部キーボードを使用する場合は、キーボードごとに手順1を繰り返す必要があります(つまり、Caps Lock =アクションなし)。外付けキーボードでこの手順を実行できませんでした。その結果、偶発的なCaps Lock保護のため、Caps Lockはキーをすばやく押しても反応しませんでした。superuser.com/questions/317900/eliminate-macbook-capslock-delay
Jeromy Anglim 2012年

11
素晴らしいチュートリアル。Caps Lockを約1年間Escにマッピングしました。非常に効率的でした。しかし、ある日、私は上級開発者とペアを組んでいました。私は彼にVimを私の主な編集者として使ったと言いました 私もそう言った。彼は彼の機械を開け、私達は働き始めました。私の番がコードを編集するようになったとき、彼のCaps Lockがマップされていなかったので、私はあちこちとつまずきました。私はずっとEscまで行こうとしましたが、時々Capsを打つと、私の通常のコマンドが変わります。Ctrl-cもビジュアルモードに戻ることを教えてくれました。自分でお願いして、Ctrl-cを使い始めます。
campeterson 2013

7
(毎日もっと学ぶ)CTRL-[は実際にはESCに相当するものです。stackoverflow.com/questions/5030164/...
campeterson

5
新しいユーザーがサードパーティのソフトウェアをダウンロードする必要がないように、編集して、これがmacOS 10.12.1の@rkusaの回答に基づくネイティブ機能であることを上部で言及できればすばらしいでしょう
edhurtig

309

macOS 10.12.1以降ではCaps LockEscネイティブに再マッピングすることができます(システム環境設定->キーボード->修飾キー)。

ここに画像の説明を入力してください


11
驚くばかり!新しいMBPにはエスケープキーがないと聞いて、これを発見しました。Appleは多少の反発を予想していたようだ。
アンディE

1
El Capitan 10.11.6を実行していて、この設定はすでに利用可能です。
zool 2016年

1
これについて神に感謝します。SierraがSeil / Karabinerを破った後、私は運命にあると思った。
フィリップ、

4
奇妙なことに、私は10.11.6を使用しており、このオプションはありません。escをcaps、ctrl、opt、またはcommandに再マッピングすることのみが許可されています。これは私のWASDキーボードv2に当てはまります。
Benny Powers

1
コマンドラインでこれを行う方法はありますか?おそらくこれらに似た方法で?github.com/herrbischoff/awesome-osx-command-line#keyboard
Jordan Eldredge

40

ここでの答えに満足できず、コマンドラインソリューションを探しました。

macOS Sierra 10.12で、Appleはユーザーがキーを再マッピングするための新しい方法を導入しました。

  • システムGUIをいじる必要はありません
  • 特別な権限は必要ありません
  • 完全にカスタマイズ可能
  • PCKeyboardHack / Seil / Karabiner / KeyRemap4MacBook / DoubleCommand / NoEjectDelayのようなサードパーティのがらくたをインストールする必要はありません

それがあなたによく聞こえるなら、見てください hidutil

たとえば、caps-lockをエスケープに再マッピングするには、キーテーブルを参照して、caps-lockの使用法コードが0x39で、escapeの使用法コードが0x29であることを確認します。これらのコードを16進値0x700000000でソースに入れ、次のように宛先を指定します。

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}'

同じコマンドで他のマッピングを追加できます。個人的には、caps-lockをバックスペースに再マップし、バックスペースを再マップして削除します。

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}'

現在のマッピングを表示するには:

hidutil property --get "UserKeyMapping"

変更はシステムの再起動時に失われます。それらを永続化したい場合は、スクリプトに入れてログインフックを設定します。

sudo defaults write com.apple.loginwindow LoginHook /path/to/login_script.sh

3
+!これは、macOSでキーを再マップするための最新かつ正しい方法です
Fanckush

2
繰り返しキーに関するカラビナの問題により、キーの再マッピングのネイティブソリューションを探す必要がありました。この投稿とapple.stackexchange.comの別の投稿は、非常に役立ちました。
2018

これをありがとう、+ 1!私はAppleの投稿にいくつかの接線のメモを追加しました。これは、Escキーを望まないがCaps Lockを望まない貧しい人々に何らかの価値を追加することを期待しています。
tripleee

内蔵キーボードに問題があるMacBookに最適な方法です。鉱山がキーボード設定に問題を引き起こしていたため、そこでキーを再マッピングできませんでした。
Igor

LoginHookメソッドでこれを適切に機能させることができませんでした-実行後に何かがスカンジナビアキーボードのローカルキーボード設定を選択したと思いますか?とにかく、stackoverflow.com / a / 22872222/874188LoginHookは廃止予定であり、launchd代わりに使用することを推奨していると指摘しています。
tripleee

34

それが可能だ。

解決策1

TrueAffection.netの北極点から。

  • PCKeyboardHackをダウンロードしてインストールします。
  • システム環境設定のPCKeyboardHackに移動します。
  • 「Caps Lockの変更」を有効にし、キーコードを53に設定します。

解決策2

このソリューションは、キーボードドライバーへのパッチの適用を含みませんが、Vim固有のソリューションを提供します。

OS Xは、Caps Lockキーの一連のキー全体へのマッピングをサポートしていますが、.plistファイルを編集して「手動」で行う必要があります。プロセスはこの記事で説明されています。そのヒントの補足として、まずシステム環境設定でCaps-Lockを[なし]に設定することをお勧めします。その後、.plistファイルの1つの値のみを変更する必要があります。また、XML変換の手順を実行する代わりに、プロパティリストエディターを使用することもできます。

トリックは、Caps Lockキーをヘルプキー(コード6)にマップすることです。これは、ほとんどのキーボードにはありません。しかし、そうであれば、挿入キーとして扱われます。手を伸ばすことを防ぐためにCaps Lockの再マッピングについて尋ねるので、おそらくそれはおそらくいずれも使用しません;)

その後、vimでヘルプとInsertキーをマップできEscます。

map  <Help> <Esc>
map! <Help> <Esc>
map  <Insert> <Esc>
map! <Insert> <Esc>

これはgvim(Vim.app)で動作します。私はそれをターミナルでvimで動作させることができず、MacVimでテストしていません。

したがって、これはかなり複雑で中途半端なソリューションであるか、サードパーティのハッカーをインストールするものです。あなたの選択;)

編集:解決策3に気づきました。MacVimを使用している場合はCtrlOptionおよびCommandasを使用できますEsc。システム環境設定では、Caps Lockをこれらのキーの1つにマッピングするのは簡単です。


1
解決策3について:MacVimでEscとしてCtrl、Option、またはCommandをどのように使用しますか?この設定が環境設定で見つかりません。
clizzin

システム環境設定=>キーボードでマッピングします。
不正行為者、2011

9
あなたが暗示するヒントはどこにありますか?
Matthew Schinckel、2011

2
マレター-Macvimにコントロールをエスケープとして使用するように指示する場所がない
Scott Schulthess

1
@MatthewSchinckelはそのようなリンクの1つです:hints.macworld.com/article.php?story
Ben

33

macOS Sierra Caps Lockを使用Escしてキーをマッピングするのがはるかに簡単になりました。

  1. システム環境設定→キーボードを開きます。

  2. 右下隅の「修飾キー」ボタンをクリックします。

  3. 再マッピングするハードウェアキーの横にあるドロップダウンボックスをクリックし、[Escape]を選択します。

  4. 「OK」をクリックして、システム環境設定を閉じます。

ここに画像の説明を入力してください

https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/


30

私が知っている唯一の方法は、Caps Lockをコントロール、オプション、またはコマンドにマップすることです。これは、システム環境設定の[キーボードとマウス]ペインから実行できます。左下の「修飾キー」をクリックすると、Caps Lock、Control、Option、およびCommandをそれらのいずれかに再マッピングできます。

@クレイグ:これは、Caps Lock 通常のキー、つまり非トグルキーとして使用できることを示唆しています。私のMacBookでは、Caps Lockを制御するように再マップしたので、Caps Lockライトが点灯しません。単にControlキーのように機能します。

ここに画像の説明を入力してください



1
残念なことに、Logicoolキーボードには対応していないため、CapsLockにエスケープキーがなく、vim ==キーボードが返されません
Enric Ribas

14

SeilはまだmacOS Sierra(10.12ベータ)では利用できません。そのため、私はこれらの設定でキーボードマエストロを使用しています。ここに画像の説明を入力してください

このgithubコメントのクレジット:https : //github.com/tekezo/Seil/issues/68#issuecomment-230131664


2
私はgithub.com/tekezo/Karabiner-Elements(Sierraで動作)を使用しています。私はそれが「Control_L(あなたはControl_Lのみ、送信エスケープを入力したとき+)Control_Lに」やった希望が、これまでの偉大な作業
atomkirk

1
@atomkirk使用したKarabiner JSON構成を共有していただけませんか?
LandonSchropp

1
{"profiles":[{"name": "Default profile"、 "selected":true、 "simple_modifications":{"caps_lock": "escape"}}}}
atomkirk


Karabinerは、atomkirkのJSONを使用して私に代わってくれました。上のスクリーンショットにもかかわらず、Keyboard Maestro UIはごちゃごちゃしていて、設定できませんでした。
Paul

10

これらの解決策のいくつかを試してみたので、いくつか注意点があります。

DoubleCommand では、escとcaps-lockを入れ替えることできません

PCKeyboardHack 使用すると、capslockをエスケープするようにマップできます。エスケープをcapslockにマップする機能はありません。最近のバージョンでは、両方のキーを編集して完全なスワップを実行できます。

これはあなたのニーズに十分かもしれませんし、そうでないかもしれません(私はそれが私のものであることを知っています)


1
PCKeyboardHackでは、エスケープをcapslockにマップできませんが、コンパニオンアプリKeyRemap4MacBookではできます。「Escape to CapsLock」と「Shift + Escape to CapsLock」をマッピングできます。
Rory O'Kane

9

サードパーティのアプリをインストールしたくなくて、iTerm内のvimのみを気にする場合は、次のように動作します。

ここで説明するように、CapsLockをヘルプに再マップします

ショートバージョン:editにplutilなどを使用します~/Library/Preferences/ByHost/.GlobalPreferences*.plist。これは次のようになります。

<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>

再起動!単純なログアウトとログインではうまくいきませんでした。

iTermで、ヘルプの新しいキーマッピングを追加します。Escapeに対応する16進コード0x1bを送信します。

私はこれが正確に求められたものではないことを知っていますが、このような解決策を探している多くの人々の意図は、実際にはこのより特殊化されたバリアントであると思います。


4

PCKeyboardHackとKeyRemap4MacBookの両方を使用して、実際にエスケープキーとCaps Lockキーを(一方を他方にマップするだけでなく)交換するには、このスレッドの指示に従って、Caps Lockキーをで使用されていないキーコードにマッピングする必要がありますキーボードですが、KeyRemap4MacBook(例:110)が原因です。次に、PCKeyboardHackで、そのキーコードをエスケープする適切なオプションを選択します(110の場合は、「エスケープするアプリケーションキー」です)。KeyRemap4MacBookの設定は次のようになります(「有効なもののみ表示」チェックボックスを選択した場合)。

ここに画像の説明を入力してください

私はもともとこの情報をcwdの優れた回答の編集として投稿しようとしましたが、拒否されました。私が説明するルートに行きたい人は、最初に彼/彼女の応答を読むことをお勧めします。


2

SeilはまだmacOS Sierraでは動作しません。そのため、私はKarabiner Elementsを使用しています。https://pqrs.org/latest/karabiner-elements-latest.dmgからダウンロードしてください

GUIを使用するか、以下をに入れます~/.karabiner.d/configuration/karabiner.json

{
  "profiles" : [
    {
      "name" : "Default profile",
      "selected" : true,
      "simple_modifications" : {
        "caps_lock" : "escape"
      }
    }
  ]
}

Karabiner要素がタッチバーとfnキーを壊すことに注意してください
mperrin


1

キーボード設定を開き、修飾キーをクリックします... Caps Lockキーを変更して、制御、オプション、エスケープ、またはコマンドを実行できます。

ここに画像の説明を入力してください


9
どれもポスターが尋ねた「Esc」ではありません。Vimの使用の可能性があります。
Rafi Jacoby、

1
@RafiJacobyの違いは何だEscとはEscape?(深刻な質問)
byxor

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.