ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Mac OS X 中禁用键盘快捷键?

我想在 Mac OS X 10.8 Mountain Lion 中禁用键盘快捷键 Command-W 和 Command-Q。

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

设置-> 键盘和鼠标首选项窗格-> 键盘快捷方式 要更改快捷方式,请双击现有快捷方式,然后按构成新快捷方式的键。
并非所有键盘快捷键都显示在那里。 Command+Q 和 Command+W 是两个没有的例子。
这类问题更适合AskDifferent社区,而不是适合开发者的社区。为此举投票。

I
Inigo

BetterTouchTool 不再免费。

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

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

全局禁用 command-w

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

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

仅对终端禁用 command-w

安装 BetterTouchTool 单击 BetterTouchTool 菜单栏项并选择“首选项” 单击“手势” 单击“键盘” 单击“选择应用程序”窗格底部的加号 选择终端(在 Applications/Utilities 文件夹中)单击“添加新快捷方式”单击“键盘快捷键” 键入要禁用的快捷键(例如,command-w) 将触发器预定义操作设置为“无操作”(这是默认设置)


我已经拥有 BetterTouchTool 并且之前知道这一点,但我来这里也是为了寻找答案。谢谢你提醒我
希望这对我有用,但是在 VMWare Fusion 中禁用 Ctrl-Alt-F 全屏并不起作用。仍然烦人地切换全屏而不是在我的 Windows 应用程序中作为快捷方式。
BetterTouchTool 不再免费。
甚至可以覆盖 VirtualBox,很好!
由于 command-w 在终端中有一个快捷方式,它是否也会禁用它?
T
Tamil Selvan C

查看或更改键盘快捷键:

打开 System Preferences->Keyboard 单击 Keyboard Shortcuts 选项卡 要更改快捷方式,请双击现有快捷方式,然后按构成新快捷方式的键。如果输入有误,请单击“恢复默认值”以将键盘快捷键恢复为出厂默认值


我无法在山狮——OS X 10.8 下做到这一点。您提到的窗格似乎不存在。抱歉,如果我遗漏了一些明显的东西。谢谢。
@Ekalavya 并非所有快捷方式都显示在那里。我认为您必须编辑 ~/Library/Preferences/.GlobalPreferences.plist 文件。
@JohnGB sublime text 似乎无法编辑该文件
@Tamil Selvan我要禁用的快捷方式“Command + Return”使应用程序全屏显示,它位于该热键列表中。
@advocate 您通常使用 Xcode.app 来编辑该文件。
a
alper

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

这是我删除它的方法:

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

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

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


我尝试编辑 ~/Library/Preferences/com.apple.symbolichotkeys.plist,但其中几乎没有任何内容,而且它们几乎都已被禁用。例如,没有捷径 70。另外,有没有办法找出给定快捷方式的数字代码?
使用 this answer 中建议的工具轻松找到任意组合键的代码。
u
user3442769

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

使用内置热键管理:

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

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


我想在应用程序中重用 cmd-q 和 cmd-,但是使用更好的触摸工具禁用它们会使它们根本无法使用。这很好用,谢谢!
此处记录的覆盖对我有用:discussions.apple.com/thread/4410612“打开系统偏好设置>单击键盘>单击键盘快捷方式>单击左侧面板中的应用程序快捷方式>单击右侧面板下方的“+”按钮>选择查找器为您的应用程序:> 将菜单标题设置为“将所有内容置于前面”的区分大小写的值> 通过实际按下 -command-key+p-key 将键盘快捷键设置为“command+p”
杨小超

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

安装hammerspoon vim ~/.hammerspoon/init.lua 将此 hs.hotkey.bind("cmd", 'H', function()end) 粘贴到 :wq 然后 StatusBar -> Hammerspoon -> ReloadConfig 完成!

哈克快乐!


当我尝试这个时,它不仅禁用了 OSX 系统快捷方式,还禁用了应用程序快捷方式。
m
max

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

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

(setq x-alt-keysym 'meta)

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


1
1.61803

在一篇关于 how to script shortcuts 的文章之后,我尝试将快捷方式设置为 '' 无济于事,但将其设置为 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";
}