在Mac OS X中将Caps Lock用作Esc

如何在Mac OS X中使Caps LockEsc一样工作?

这里是我用一个全面的,直观的解答(包括链接)来解释如何使用Seil (以前称为PCKeyboardHack )来实现这个function。

  1. 首先,进入系统偏好设置 ,select键盘 ,然后键盘选项卡 (第一个选项卡),然后单击修改键

步骤1

在popup的对话框中设置Caps Lock Key to No Action

选择不采取行动

2)现在, 请点击这里下载Seil并安装它:

3)安装完成后,您将安装一个新的应用程序(Mountain Lion和更新版本),如果您使用的是较旧的操作系统,则可能需要检查新的“系统首选项”窗格:

打开seil或偏好窗格

4)勾选“更改大写locking”并input“53”作为退出键的代码:

设置键盘代码

你完成了! 如果不能立即运行,则可能需要重新启动机器。

印象深刻? 想要更多的控制?

您可能还想看看KeyRemap4MacBook ,它实际上是pqrs.org的旗舰键盘重新映射工具 – 它也是免费的。

如果你喜欢这些工具,你可以捐款 。 我和他们没有任何关系,但是我一直在使用这些工具很长一段时间,不得不说这些工具在维护这些工具方面做得非常出色,增加了function并修复了错误。

下面是一个屏幕截图,显示一些(数百个)可预先select的选项:

图片1.png

PQRS还有一个称为NoEjectDelay的很好的实用程序,您可以与KeyRemap4MacBook结合使用来重新编程popup键。 经过一点调整,我有我的设置切换AirPort Wifi。

重新映射Mac键盘时,这些实用程序提供无限的灵活性。 玩的开心!

从MacOS 10.12.1开始,可以将Caps Lock本身重新映射到Esc (系统首选项 – >键盘 – >修改键)。

在这里输入图像说明

这是可能的。

解决scheme1

来自TrueAffection.net上的一个arcticle。

  • 下载PCKeyboardHack并安装它。
  • 在系统偏好设置中转到PCKeyboardHack。
  • 启用“更改大写locking”并将键码设置为53。

解决scheme2

此解决scheme不涉及修补键盘驱动程序,但给你一个Vim特定的解决scheme。

OS X支持将大写locking键映射到一大堆键,但是您必须“手动”,编辑.plist文件。 这个过程描述在http://www.macosxhints.com/article.php?story=20060825072451882'>这个提示。; 作为该提示的附录,我build议您首先在“系统偏好设置”中将“大写locking”设置为“无”,然后只需更改.plist文件中的一个值即可。 另外,您当然也可以使用Property List Editor而不是经过XML转换步骤。

诀窍是将大写locking键映射到不在大多数键盘上的帮助键(代码6)。 但是,如果是,它将被视为插入键,您可能不会使用它,因为您询问重新映射Caps Lock以防止伸出双手;)

然后,您可以将帮助和插入键映射到vim中的Esc。

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

这将适用于gvim(Vim.app)。 我没有得到它在terminal与VIM的工作,我还没有testing与MacVim。

所以,这是一个复杂的,一半的解决scheme或安装第三方的骇客。 你的select;)

编辑:刚注意到解决scheme3,如果您使用MacVim,您可以使用Ctrl,Option和Command作为Esc。 使用系统偏好设置将Caps Lock映射到其中一个键是很简单的。

使用macOS Sierra将Caps Lock键映射到Esc现在更容易了。

  1. 打开系统首选项→键盘。

  2. 点击右下angular的修饰键。

  3. 点击您要重新映射的硬件按键旁边的下拉框,然后select退出。

  4. 单击确定并closures系统首选项。

在这里输入图像说明

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

Seil尚未在macOS Sierra(10.12 beta)上提供。 因此,我一直在使用键盘大师这些设置: 在这里输入图像说明

感谢这个github评论: https : //github.com/tekezo/Seil/issues/68#issuecomment-230131664

我知道如何做的唯一的事情是映射大写locking到控制,或选项或命令。 这可以通过系统偏好设置的键盘和鼠标窗格来完成。 点击左下方的“Modifier Keys”,你可以将Caps Lock,Control,Option和Command重新映射到其中的任何一个。

@Craig:这表明Caps Lock 可以用作普通的 – 也就是非切换键。 在我的MacBook上,由于我已将Caps Lock重新映射为Control,因此Caps Lock灯不会亮起。 它只是像控制键一样。

尝试了几种解决scheme后,我有一些注意事项:

DoubleCommand不允许你交换esc和大写locking。

PCKeyboardHack 允许您映射大写locking逃脱, 但是没有能力将转义映射到大写字母 。 最近的版本将允许您通过编辑这两个键来执行完整的交换。

这可能或可能不足以满足您的需求(我知道这是我的)。

如果你不想安装第三方应用程序,你真的只关心iTerm内的vim,下面的工作:

按照此处所述重新映射CapsLock以进行帮助。

短版本:使用plutil或类似的编辑~/Library/Preferences/ByHost/.GlobalPreferences*.plist ,它应该看起来类似于:

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

重新开始! 简单的注销和login不适合我。

在iTerm中,为帮助添加一个新的键映射:发送对应于Escape的hex代码0x1b。

我知道这不是所要求的,但我认为很多人寻找这样的解决scheme的意图实际上是这个更专业化的变种。

为了使用PCKeyboardHack和KeyRemap4MacBook实际上将换码键与大写locking键(不仅仅是映射到另一个)进行交换,您必须按照此线程中的说明将大写字母locking键映射到未使用的键码键盘,但由KeyRemap4MacBook(例如110)来解释。 然后,在PCKeyboardHack中,select映射该键码的适当选项以进行转义(在110的情况下,它是“应用程序转义键”)。 以下是您的KeyRemap4MacBook首选项的外观(只要您select了“仅显示启用”checkbox)。

在这里输入图像说明

我原本试图把这个信息作为编辑来发表,但是却被拒绝了。 我鼓励任何想要走上我描述的路线的人先读他/她的回答。

Seil在macOS Sierra上不起作用,所以我使用Karabiner元素 ,从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" } } ] } 

我对这里的任何答案都不满意,并且正在寻找一个命令行解决scheme

在macOS Sierra 10.12中,苹果推出了一种新的方式让用户重新映射密钥。

  • 无需摆弄系统graphics用户界面
  • 没有特别的权限是必需的
  • 完全可定制
  • 不需要安装PCKeyboardHack / Seil / Karabiner / KeyRemap4MacBook / DoubleCommand / NoEjectDelay等任何第三方废话

如果这听起来不错,看看hidutil

例如,要重新映射大写locking以进行转义,请参阅关键字表,并发现大写locking具有使用代码0x39,而转义具有使用代码0x29。 把这些代码或者用hex值0x700000000代码或者像这样放在源和目标中:

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

您可以在同一个命令中添加其他映射。 就个人而言,我喜欢重新映射大写locking退格,并重新映射退格删除:

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

要查看当前映射:

 hidutil property --get "UserKeyMapping" 

系统重新启动后,您的更改将会丢失。 如果你想让它们坚持下来,把它们放在一个脚本中,并设置一个login钩子:

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

您还可以使用DoubleCommand来重新映射此键和其他键。

IIRC,它将Caps Lock映射到Esc。

我遇到了这个旧线程search相同的function。 到目前为止,这个工具是我发现似乎工作得很好(在10.5.6),没有太多的努力:

http://www.pqrs.org/tekezo/macosx/keyremap4macbook/extra.html

在雪豹打开键盘偏好设置,然后单击修饰键…你可以改变大写locking键控制,选项或命令。