如何在 Mac OS X 中重新映射“上下文菜单”键?
Posted
技术标签:
【中文标题】如何在 Mac OS X 中重新映射“上下文菜单”键?【英文标题】:How to remap "Context Menu" key in Mac OS X? 【发布时间】:2010-11-03 05:39:41 【问题描述】:我有一个罗技键盘(确切地说是 Ultra-Flat Keyboard Dark Shine),它在窗口中间有上下文菜单键和 alt 键,这很烦人。
这是关键所在位置的屏幕截图:
http://freshlog.com/grabs/ff532-How_do_I_remap_the_context_menu_key_in_Mac_OS_X
我可以在默认的键盘系统偏好设置面板下重新映射窗口和 alt 键,但似乎没有办法重新映射上下文菜单键。
有什么想法吗?
【问题讨论】:
【参考方案1】:您可以使用Karabiner将App映射到Command+Option:
然后您可以使用 Keyboard Maestro 映射 Command+Option+Letter,其中 Letter 是一个键表示一个应用程序,用于聚焦应用程序:
例如,然后您可以执行 App+C 聚焦 Chrome,App+T 聚焦终端、App+S 用于聚焦 Slack 等(如果应用尚未打开,Keyboard Maestro 将首先打开它)。
如果您使用的是通用键盘,那么您有一个专用的应用键:
如果您使用的是 Apple 键盘,则必须按住 Command 和 Option,但它们彼此相邻,并且出现在空格键的两侧:
请记住,OS X 已经使用 Command+Option+Esc 来打开 Force Quit Applications对话,因此您现在可以为此使用 App+Esc 。同样,OS X 使用 Command+Option+W 来关闭焦点应用程序中的所有窗口(Chrome 中的选项卡)。
注意事项:
Karabiner 是一个开源内核扩展,用于修改 OS X 处理键盘输入的方式。 Keyboard Maestro 是用于在 OS X 中创建键盘快捷键的专有应用程序。它提供 30 天免费试用,售价 36 美元。【讨论】:
键盘大师改变了我的生活!自动化一切!【参考方案2】:Karabiner Elements 12.1 提供最新的 MacOS 版本。
键对键重新映射在Simple Modifications
选项卡中完成,并在 2 行下拉菜单中方便地选择(参见:屏幕截图)。
此首选项面板选项卡中的Complex Modifications
必须通过从 Internet(Karabiner-E. 的站点)或用户的 ~/.config/karabiner/assets/ complex_modifications
文件夹中导入来添加。
来自网络的“复杂”实际上也被复制到那里并在标签中“打开”(= [+ Enable]
)。
所有修改最终都存储(并因此“激活”)在~/.config/karabiner/karabiner.json
。
一个实用的程序(也有助于避免在自己编写复杂模块时出错)是复制、重命名和更改一个“导入”模块。 一旦您有经验(例如:不同的括号类型),直接编辑 json 文件可能会更容易......
不再像其他一些功能一样将重新映射限制到特定窗口(可以通过 osascript AppleScript 模拟)。 非 Element 版本的 Karabiner 正在开发中。
获取信息和问题(已回答)的两个网站——但请搜索以前的“双打”!:
github.com >> Karabiner-Elementsgroups.google.com/forums/ osx-karabiner
【讨论】:
【参考方案3】:很遗憾,最新的 macOS Sierra 还不支持Karabiner。一个简单的解决方案是将capslock
密钥转换为command
密钥。
【讨论】:
我目前使用 Keyboard Maestro 来解决 Karabiner Elements 的限制。我使用 KM 将我的 App 键映射到 F18,然后在 KM 中使用 this macro 使 F18 成为新的修饰键。 Karabiner Elements 在 Sierra 工作。应用程序(或上下文菜单)键可以作为“应用程序”找到,并且可以映射到例如“right_option”在我的例子中使我的 Microsoft Ergo 键盘与我的 MacBook 笔记本电脑的布局相匹配。【参考方案4】:使用KeyRemap4MacBook(Karabiner 用于 osx 10.9、10.10)。正如 Mecki 指出的那样,XML .keylayouts / Ukelele 无法解决您的问题。
尽管有这个名字,但 KeyRemap4MacBook 可以在任何 Mac(OS X 10.4 或更高版本)上运行。
您需要的设置位于“对于 PC 用户”»“更改 PC 应用程序密钥”下。
【讨论】:
使用@David 的建议,将其映射到Option_L
为什么要将它映射到 command-L?要快速转到浏览器中的地址栏吗?
@avernet 当 Karabiner 说“Command_L”时,它表示左命令键。
Karabiner 是否需要保持运行才能正常工作?
@SamanthaCatania - 有点像。当您不主动配置 Karabiner 时,您可以完全关闭 Karabiner GUI。 Karabiner 本身是一个内核扩展,因此它始终在后台运行。【参考方案5】:
KeyRemap4MacBook
Entry: For PC Users -> Change PC Application Key -> Application Key to Option_L
【讨论】:
【参考方案6】:使用KeyRemap4Macbook
。像这样编辑private.xml
文件:
<item>
<name>Change Windows context menu key to Right option key</name>
<identifier>private.win_context_menu_option_key</identifier>
<autogen>--KeyToKey-- KeyCode::PC_APPLICATION, KeyCode::OPTION_R</autogen>
</item>
此代码会将右选项键重新映射到上下文菜单键。
【讨论】:
以上是关于如何在 Mac OS X 中重新映射“上下文菜单”键?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Delphi XE2 中将菜单项添加到 Mac OS Finder
如何完全卸载 Node.js,然后从头重新安装(Mac OS X)