Mac OS XのCaps Lockように機能させるにはどうすればよいEscですか?
Ctrl + [
を実行しesc
ます。Vimに便利です。
Mac OS XのCaps Lockように機能させるにはどうすればよいEscですか?
Ctrl + [
を実行しesc
ます。Vimに便利です。
回答:
編集:この回答で説明したように、MacOSの新しいバージョンでは、への再バインドがネイティブでサポートされるCaps LockようになりましたEscape。したがって、これを実現するためにサードパーティのソフトウェアをインストールする必要はありません。
これは、Seil(以前はとして知られていたPCKeyboardHack
)を使用してこれを達成する方法の包括的で視覚的なウォークスルー回答(リンク付き)での私の試みです。
ポップアップダイアログで、Caps Lock KeyをNo Action
次のように設定します。
2)次に、ここをクリックしてSeilをダウンロードしてインストールします。
3)インストール後、新しいアプリケーション(Mountain Lion以降)がインストールされます。古いOSを使用している場合は、新しい[システム環境設定]ペインを確認する必要があります。
4)「Caps Lockを変更する」というボックスをチェックし、エスケープキーのコードとして「53」を入力します。
これで完了です。すぐに機能しない場合は、マシンを再起動する必要があります。
また、KeyRemap4MacBookをチェックすることもできます。これは、実際には主要なキーボードの再マッピングツールです。pqrs.org
。これも無料です。
これらのツールが気に入ったら寄付することができます。私は彼らとは関係がありませんが、私はこれらのツールを長い間使用してきました、そして彼らの向こうの人々はこれらを維持し、機能を追加し、バグを修正する素晴らしい仕事をしてきたと言わざるを得ません。
以下は、(数百の)事前選択可能なオプションのいくつかを示すスクリーンショットです。
PQRSも呼ばれる偉大なユーティリティがあるNoEjectDelayあなたはと組み合わせて使用することができKeyRemap4MacBookイジェクトキーを再プログラミングするために。少し調整した後、AirPort Wifiを切り替えるように設定しました。
これらのユーティリティは、Macキーボードを再マップするときに無制限の柔軟性を提供します。楽しんで!
CTRL-[
は実際にはESCに相当するものです。stackoverflow.com/questions/5030164/...
ここでの答えに満足できず、コマンドラインソリューションを探しました。
macOS Sierra 10.12で、Appleはユーザーがキーを再マッピングするための新しい方法を導入しました。
それがあなたによく聞こえるなら、見てください 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
LoginHook
メソッドでこれを適切に機能させることができませんでした-実行後に何かがスカンジナビアキーボードのローカルキーボード設定を選択したと思いますか?とにかく、stackoverflow.com / a / 22872222/874188LoginHook
は廃止予定であり、launchd
代わりに使用することを推奨していると指摘しています。
それが可能だ。
- PCKeyboardHackをダウンロードしてインストールします。
- システム環境設定のPCKeyboardHackに移動します。
- 「Caps Lockの変更」を有効にし、キーコードを53に設定します。
このソリューションは、キーボードドライバーへのパッチの適用を含みませんが、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を使用している場合はCtrl、OptionおよびCommandasを使用できますEsc。システム環境設定では、Caps Lockをこれらのキーの1つにマッピングするのは簡単です。
macOS Sierra Caps Lockを使用Escしてキーをマッピングするのがはるかに簡単になりました。
システム環境設定→キーボードを開きます。
右下隅の「修飾キー」ボタンをクリックします。
再マッピングするハードウェアキーの横にあるドロップダウンボックスをクリックし、[Escape]を選択します。
「OK」をクリックして、システム環境設定を閉じます。
私が知っている唯一の方法は、Caps Lockをコントロール、オプション、またはコマンドにマップすることです。これは、システム環境設定の[キーボードとマウス]ペインから実行できます。左下の「修飾キー」をクリックすると、Caps Lock、Control、Option、およびCommandをそれらのいずれかに再マッピングできます。
@クレイグ:これは、Caps Lock を通常のキー、つまり非トグルキーとして使用できることを示唆しています。私のMacBookでは、Caps Lockを制御するように再マップしたので、Caps Lockライトが点灯しません。単にControlキーのように機能します。
SeilはまだmacOS Sierra(10.12ベータ)では利用できません。そのため、私はこれらの設定でキーボードマエストロを使用しています。
このgithubコメントのクレジット:https : //github.com/tekezo/Seil/issues/68#issuecomment-230131664
これらの解決策のいくつかを試してみたので、いくつか注意点があります。
DoubleCommand では、escとcaps-lockを入れ替えることはできません。
PCKeyboardHack を使用すると、capslockをエスケープするようにマップできます。エスケープをcapslockにマップする機能はありません。最近のバージョンでは、両方のキーを編集して完全なスワップを実行できます。
これはあなたのニーズに十分かもしれませんし、そうでないかもしれません(私はそれが私のものであることを知っています)
サードパーティのアプリをインストールしたくなくて、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を送信します。
私はこれが正確に求められたものではないことを知っていますが、このような解決策を探している多くの人々の意図は、実際にはこのより特殊化されたバリアントであると思います。
PCKeyboardHackとKeyRemap4MacBookの両方を使用して、実際にエスケープキーとCaps Lockキーを(一方を他方にマップするだけでなく)交換するには、このスレッドの指示に従って、Caps Lockキーをで使用されていないキーコードにマッピングする必要がありますキーボードですが、KeyRemap4MacBook(例:110)が原因です。次に、PCKeyboardHackで、そのキーコードをエスケープする適切なオプションを選択します(110の場合は、「エスケープするアプリケーションキー」です)。KeyRemap4MacBookの設定は次のようになります(「有効なもののみ表示」チェックボックスを選択した場合)。
私はもともとこの情報をcwdの優れた回答の編集として投稿しようとしましたが、拒否されました。私が説明するルートに行きたい人は、最初に彼/彼女の応答を読むことをお勧めします。
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"
}
}
]
}
DoubleCommandを使用して、これと他のキーを再マッピングすることもできます。
IIRC、Caps LockをEscにマッピングします。
キーボード設定を開き、修飾キーをクリックします... Caps Lockキーを変更して、制御、オプション、エスケープ、またはコマンドを実行できます。
Esc
とはEscape
?(深刻な質問)
Karabiner-Elements macOS用の強力で安定したキーボードカスタマイザ。(フリーウェア)
https://pqrs.org/osx/karabiner/index.html
Mojaveでcaps-lockをバックスペースに変更するために働いた