这个快捷键让我抓狂。我想在编码时重新映射命令选项卡以插入代码片段,但切换器却碍事……
答案1
您可以使用以下方式将 command-tab 映射到另一个组合键登山扣元件:
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::F19</autogen>
这将禁用 command-tab 和 shift-command-tab:
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
答案2
您可以将其作为汇编级别执行。对于 ML 10.8.3,此Cmd+Tab注册发生在地址 0x10000b258 的子程序中。在伪代码中,它看起来像:
rax = CPSRegisterForKeyOnConnection(*(int32_t *)rbx, 0x1002cd078, 0x1, 0x1);
if (rax != 0x0) {
fprintf(**__stderrp, "Error registering cmd-tab key, %d\\n");
}
rax = CPSRegisterForKeyOnConnection(*(int32_t *)0x1002ccda8, 0x1002cd078, 0x2, 0x1);
if (rax != 0x0) {
fprintf(**__stderrp, "Error registering cmd-shift-tab key, %d\\n");
}
因此,如果你替换以下字节码:
488D35691C2C008B3BBA01000000B901000000E85CD71B0085C0741A488B0DD5FC2400488B39488D355B341C0089C230C0E892C51B00488D0563192C008B38488D352A1C2C00BA02000000B901000000E81FD71B0085C0741A488B0D98FC2400488B39488D3541341C0089C230C0E855C51B00
和:
90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
然后重新签名你的 Dock.app,它就可以正常工作了。你还必须在执行此操作之前取消对 Dock 二进制文件的保护,因为 Dock 二进制文件是加密的。
答案3
使用 Karabiner Elements 添加到 John 的答案中。截至 2022 年 5 月 22 日安装时,我似乎找不到添加 xml 配置的方法。一切都在 json 中!所以这就是我的做法:
在偏好设置中,单击“打开配置文件夹”按钮。
您将被带到一个包含karabiner.json
文件的文件夹。打开该文件进行编辑。
在文件中你会看到一个simple_modifications
字段。这是我添加到其中以禁用的CMD+Tab
:
"simple_modifications": [
{
"from": {
"key_code": "left_command"
},
"to": [
{
"key_code": "left_option"
}
]
},
{
"from": {
"key_code": "left_option"
},
"to": [
{
"key_code": "left_command"
}
]
},
{
"from": {
"key_code": "tab",
"modifiers": {
"mandatory": [
"command"
]
}
},
"to": [
{
"key_code": "f13"
}
]
}
],
在我的例子中,您可以看到我首先交换了左选项和左命令。然后我禁用了 CMD + Tab。看来 key_codef13
是不执行任何操作的选项。
希望这可以帮助!
答案4
可接受的答案是否包括重映射它?
当我第一次插入 Mac OS X Lion(10.7)时,它很难检测到键盘布局。但按照说明操作后(即按下左 Shift 右侧的键等),它可以正确识别布局。
在系统偏好设置中,Lion 有一个精彩的键盘面板:
接下来,转到修饰键...
宾果,现在 CapsLock 充当 Control。
或者,您可以尝试实现键绑定:
编辑默认的键绑定文件 ~/Library/KeyBindings/DefaultKeyBinding.dict。如果目录和/或文件尚不存在,请创建它们,并使其看起来像这样:
{
/* Remap Home / End to be correct */
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
}
如果 DefaultKeyBinding.dict 中已有条目,只需将上述 4 个新映射添加到文件的主要部分即可。可能需要重新启动才能使其生效。
您需要根据要执行的操作调整上述代码