如何在Mac OS X中重新映射“上下文菜单”键?

41
我有一款罗技键盘(确切地说是Ultra-Flat Keyboard Dark Shine),其中上下文菜单键位于Windows和Alt键之间,这非常令人恼火。
这里是该键位的屏幕截图: http://freshlog.com/grabs/ff532-How_do_I_remap_the_context_menu_key_in_Mac_OS_X 我可以在默认的“键盘”系统偏好设置面板下重新映射Windows和Alt键,但似乎没有办法重新映射上下文菜单键。 有什么想法吗?
6个回答

49

使用KeyRemap4MacBook(OS X 10.9、10.10的用户请使用Karabiner)。正如Mecki所指出的那样,XML .keylayouts/Ukelele无法解决您的问题。

尽管名称中包含“MacBook”,但KeyRemap4MacBook适用于任何Mac(OS X 10.4或更高版本)。

您需要的设置在“For PC Users” » “Change PC Application Key”下方。

输入图片描述


1
使用@David的建议,将其映射到Option_L - Cory Klein
你为什么想要将它映射到Command-L?是为了快速跳转到浏览器的地址栏吗? - avernet
2
@avernet 当Karabiner说“Command_L”时,它指的是左Command键。 - David Röthlisberger
Karabiner需要一直运行才能正常工作吗? - Samantha Catania
@SamanthaCatania - 有点像。当您不活跃地配置Karabiner时,可以完全关闭Karabiner GUI。 Karabiner本身是内核扩展,因此始终在后台运行。 - Carl Smith

8
使用 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>

这段代码将把右 option 键重新映射为上下文菜单键。


4
最新的 MacOS 版本使用 Karabiner Elements 12.1。
键位重映射在 Simple Modifications 标签中完成,并方便地在两行下拉菜单中进行选择(参见:屏幕截图)。

此首选项面板中的Complex Modifications 标签必须通过从互联网上导入它们(Karabiner-E. 网站)或从用户的 ~/.config/karabiner/assets/complex_modifications 文件夹添加。
从网络上获取的“复杂”模式实际上也会被复制到那里,并在标签中切换为“启用”(= [+ Enable])。

所有修改最终都存储在~/.config/karabiner/karabiner.json 中,因此被“激活”。

一种实用的方法(也有助于避免编写复杂模式时出现错误)是复制、重命名并更改一个“导入”的模式。
一旦您有经验(例如:不同的括号类型),直接编辑 json 文件可能更容易...


(内嵌图形显示下拉菜单的部分)

与其他功能一样,不再有将重映射限制于特定窗口的选项(可以通过 osascript AppleScript 模拟)。 正在开发 Karabiner 的非 Element 版本。

获取信息和回答问题的两个网站 - 但请搜索以查找先前的“重复”问题!:

github.com >> Karabiner-Elements
groups.google.com/forums/ osx-karabiner


由于这个答案对我有帮助,但在这里已经关闭了,所以这是我回答在SuperUser上切换键盘的大写锁定和Shift键的较短、更新版本的链接。 - joeljpa

4
您可以使用Karabiner将App映射到Command+Option

然后,您可以使用Keyboard Maestro将Command+Option+Letter(其中Letter是表示应用程序的键)映射为聚焦应用程序:

例如,您现在可以使用App+C聚焦Chrome,App+T聚焦Terminal,App+S聚焦Slack等(如果应用程序尚未打开,则Keyboard Maestro会先打开它)。

如果您正在使用通用键盘,则有专用的App键:

如果您正在使用Apple键盘,则必须按住CommandOption,但它们相邻,并且出现在空格键的两侧:

请注意,OS X已经使用Command+Option+Esc打开“强制退出应用程序”对话框,因此您现在可以使用App+Esc进行操作。同样,OS X使用Command+Option+W关闭焦点应用程序中的所有窗口(Chrome中的选项卡)。

注:

  • Karabiner是一个开源内核扩展,用于修改OS X处理键盘输入的方式。
  • Keyboard Maestro是一款专有应用程序,用于创建OS X中的键盘快捷键。它拥有免费的30天试用期,并且售价为36美元。

1
Keyboard Maestro改变了我的生活!自动化一切! - kraftydevil

2

KeyRemap4MacBook

入口: 对于PC用户 -> 更改PC应用程序键 -> 将应用程序键更改为Option_L


1

不幸的是,最新的macOS Sierra还不支持Karabiner。一个简单的解决方案是将capslock键转换为command键。


我目前使用Keyboard Maestro来解决Karabiner Elements的限制。我使用KM将我的App键映射到F18,然后在KM中使用此宏将F18设置为新的修饰键。此宏可以实现这一功能。 - Carl Smith
3
Karabiner Elements可以在Sierra操作系统中使用。应用程序(或上下文菜单)键可被找到并映射为例如"right_option",这在我个人情况下,让我的Microsoft Ergo键盘与我的MacBook笔记本电脑布局相匹配。 - MJV

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接