查找哪个进程收到给定的键盘命令


17

我试图弄清楚为什么某些键盘组合不再起作用。

例如,Sublime Text 2附带了用于打开“查找/替换”面板的键盘快捷键:

Command+ Option+F

在我完成OSX 10.8.5的全新安装之前,该组合正常运行,然后神秘地停止在Sublime Text中工作。

我知道键盘序列可以被最前面的进程(例如操作系统)捕获,因此我想知道是否有一种方法可以检查“消耗”特定键盘命令的进程?


对于VSCode CMD + SHIFT + P,请参见github.com/prettier/prettier-vscode/issues/250
Devin G Rhode

Answers:


19

我不知道找到快捷方式收件人的任何快速有效的方法。但这里是一个receipe发起追捕:

  1. 关闭大多数正在运行的应用程序,以提高搜寻效率。

  2. 打开一个Terminal窗口,然后运行以下命令:

    /usr/bin/sudo opensnoop
    

    此命令将跟踪每个open系统调用。

  3. 切换到快捷方式被未知应用程序拦截的上下文,然后键入⌘ cmd+ ⌥ option+ F

    从打开的文件名中查找罪魁祸首。

  4. while不成功,添加一个应用程序,然后 GOTO 3


1
真好!如果您这样做的速度足够快,则应该有一个非常简洁的进程列表。我大约有50行,其中一半是后台进程,因为我知道它不是在听键盘按键,因此我可以轻松地在文本编辑器中过滤掉这些行。其余的大约20条线记录了其他3个过程,其中75%包含了我的罪魁祸首。非常感谢您的分享,@ daniel
Joel Mellon

谢谢丹尼尔。很久以来,我一直感到沮丧,因为其他东西正在捕获一个对我的应用程序有意义的快捷方式(更糟糕的是,播放了一些ping声音!)。运行此程序,可能看到4个应用程序在打电话,其中一个正在打开“ ping.aiff”,直接把我带到了罪魁祸首!
Biglig


0

KeyCue提供有关键盘快捷键的视觉反馈。可以下载为试用版。

来自Ergonis的KeyCue

我对其进行了配置,以便双击并按住Command键会显示所有当前活动的快捷方式。


尝试KeyCue之后,在我看来,它仅显示与当前活动应用程序的菜单命令关联的键盘快捷键。此外,它似乎还显示了Keybaord Maestro的全局热键,以及其他可能支持的一两个特定应用程序。它会为您显示所有应用程序的全局热键吗?
Paul

对于“其他”应用程序显示哪些热键,我觉得有些神秘。我认为它会尝试(但不能完全成功)显示与您所在位置相关的全局热键。用户指南专门涉及Keyboard Maestro。
吉尔比(Gilby),2017年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.