OSX:以编程方式重新映射 Caps Lock 的功能(通过系统偏好设置)?

Posted

技术标签:

【中文标题】OSX:以编程方式重新映射 Caps Lock 的功能(通过系统偏好设置)?【英文标题】:OSX: Programmatically remap Caps Lock's functionality (as set via System Preferences)? 【发布时间】:2012-02-14 09:10:16 【问题描述】:

我的问题是指 System Preferences 设置,该设置使您能够将 Caps Lock 重新映射到例如Ctrl 键。

^ 是否可以通过编程方式影响此设置?

主要是我有兴趣通过defaults 或一些shell技巧来实现这一点;其次是通过 AppleScript(糟糕)。

我知道我可能可以通过使用第 3 方工具(例如 KeyRemap4MacBook)来实现这一点,但这是不得已的办法。但如果可能的话,我更喜欢非第 3 方解决方案。

我的用例:

使用 Keyboard Maestro 及其出色的宏触发器,我希望在 MacVim 等应用程序中自动重新映射 Caps Lock -> Ctrl,并在离开受影响的应用程序时将其切换回正常的 Caps Lock。

【问题讨论】:

找到解决方案了吗? 【参考方案1】:

您可以使用 AppleScript 进行切换。这将是一种简单的自动化技术,基本上会自动为您在系统偏好设置中进行相同的切换。

您可以将创建的 AppleScript 切换添加到 MacVim 脚本工具栏图标。这样,您可以在应用内切换它,并在离开时将其关闭。

这是你要找的吗?如果你还需要这个,我会为你设计 AppleScript 并稍后发布到这里。

【讨论】:

那太好了,谢谢。我关心的是速度;如果它可以以一种不露面的方式(在引擎盖下)实现,而无需在操作期间打开/关闭 AppleScript 窗口,我会非常感兴趣。我公认缺乏使用 AppleScript 的经验是,与 Unix'y hack 或通过默认值切换设置相比,它可能非常慢。但是,是的,如果可以在 500 毫秒内切换此设置或不超过此时间,如果您愿意分享 AppleScript 解决方案,我将非常感谢。

以上是关于OSX:以编程方式重新映射 Caps Lock 的功能(通过系统偏好设置)?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以通过编程方式禁用 Windows 上的 Caps Lock 键?

如何在VIM中映射CAPS LOCK键?

如何在 VIM 中映射 CAPS LOCK 键?

在不使用 X-Windows 的情况下在 Linux 中设置或读取 Caps Lock 状态

linux按键映射

如何在不使用第三方程序的情况下重新映射我的 OSX 键盘?