63

我想在 Mac OS X 10.8 Mountain Lion 中Command禁用键盘W快捷键CommandQ

这是因为它们干扰了我从 xQuartz 运行的终端内部运行的 emacs 命令。如何禁用键盘快捷键?

4

7 回答 7

40

BetterTouchTool 不再免费。

我到达此页面是因为我想禁用系统偏好设置中未显示的 command-h(隐藏应用程序)。这是我的解决方案。

BetterTouchTool 是一个可以禁用键盘快捷键的实用程序(还有许多其他用途)。 http://www.boastr.de/

全局禁用 command-w

  1. 安装 BetterTouchTool
  2. 单击 BetterTouchTool 菜单栏项并选择“首选项”
  3. 点击“手势”
  4. 点击“键盘”
  5. 点击“全球”
  6. 点击“添加新快捷方式”
  7. 点击“键盘快捷键”
  8. 键入要禁用的快捷方式(例如,command-w)
  9. 将触发器预定义操作设置为“无操作”(这是默认设置)

请注意,您还可以为特定应用程序设置键盘快捷键。

仅对终端禁用 command-w

  1. 安装 BetterTouchTool
  2. 单击 BetterTouchTool 菜单栏项并选择“首选项”
  3. 点击“手势”
  4. 点击“键盘”
  5. 单击“选择应用程序”窗格底部的加号
  6. 选择终端(在 Applications/Utilities 文件夹中)
  7. 点击“添加新快捷方式”
  8. 点击“键盘快捷键”
  9. 键入要禁用的快捷方式(例如,command-w)
  10. 将触发器预定义操作设置为“无操作”(这是默认设置)
于 2013-09-12T13:18:34.077 回答
22

查看或更改键盘快捷键:

  1. 打开系统偏好设置->键盘
  2. 单击键盘快捷键选项卡
  3. 要更改快捷方式,请双击现有快捷方式,然后按构成新快捷方式的键。
  4. 如果输入有误,请单击“恢复默认值”以将键盘快捷键恢复为出厂默认值
于 2013-03-30T13:42:56.293 回答
21

BetterTouch 无法更改或禁用导致我悲伤的键:ctrl-cmd-d

这是我删除它的方法:

  1. 编辑open ~/Library/Preferences/com.apple.symbolichotkeys.plist
  2. 找到 kCGHotKeyLookUpWordInDictionary (70) 的代码,并将 'enabled' 设置为 OFF(如果不存在,只需创建一个条目 '70' 且 'enabled' = OFF)。
  3. 重新启动系统

从这个站点我了解了符号热键并找到了它们的列表: http ://www.theregister.co.uk/2009/02/24/hotkeys_framework2/

这些站点有 plist 文件中使用的代码列表,因此可以实际更改快捷方式,而不仅仅是删除它们: http: //krypted.com/mac-os-x/defaults-symbolichotkeys/Documenting com.apple。 symbolichotkeys.plist

于 2013-12-19T21:30:45.043 回答
16

一种可能适用于与您所需分配冲突的单个应用程序中的工厂热键的解决方案:

使用内置热键管理:

系统偏好 | 键盘 | 捷径 | 应用程序快捷方式

...将预先存在的映射到一些难以击中的键盘组合(如 Cmd-Opt-Shift-反斜杠)。这将释放旧的组合键以进行分配。

于 2015-01-18T19:17:59.990 回答
5

强烈推荐的是hammerspoon,谁定义的GOD LIKE

  1. 安装锤子勺

  2. vim~/.hammerspoon/init.lua

  3. 粘贴hs.hotkey.bind("cmd", 'H', function()end)这个

  4. :wq然后是 StatusBar -> Hammerspoon -> ReloadConfig

  5. 完毕!

哈克快乐!

于 2018-09-29T09:25:12.660 回答
1

一个解决方案是配置 XQuartz 以在 Preferences/Input 下启用“Option keys send Alt_L and Alt_R”。

然后将其添加到您的 ~/.emacs 中:

(setq x-alt-keysym 'meta)

它并不完美,因为有时您可能仍会使用 Cmd-W 而不是 Option-W,但至少它是功能性的。

于 2014-12-05T02:12:50.113 回答
0

在一篇关于如何编写快捷方式的文章之后,我尝试将快捷方式设置为''无济于事,但将其设置为NULL工作正常。这是一个例子:

TAB_KEY_SYMBOL="\\U21e5"
COMMAND_KEY_SYMBOL="@"
SHIFT_KEY_SYMBOL="$"

defaults write com.apple.finder NSUserKeyEquivalents "{ 'Show Package Contents' = '${COMMAND_KEY_SYMBOL}${SHIFT_KEY_SYMBOL}O'; }"

defaults write com.apple.finder NSUserKeyEquivalents -dict-add 'Add to Sidebar' '\U0000'
defaults write com.apple.finder NSUserKeyEquivalents -dict-add 'Add to Dock' '\U0000'

# kill finder and prefs daemon
killall Finder
killall cfprefsd

# *only* if absent, add bundle id to make it show up in keyboard prefs pane
defaults read com.apple.universalaccess "com.apple.custommenu.apps"
defaults write com.apple.universalaccess "com.apple.custommenu.apps" -array-add "com.apple.finder"

$ defaults read com.apple.finder NSUserKeyEquivalents 
{
    "Add to Dock" = "";
    "Add to Sidebar" = "";
    "Show Package Contents" = "@$O";
}
于 2018-03-15T15:46:50.113 回答