特定のキーボードコマンドを受け取るプロセスを見つける


17

特定のキーボードの組み合わせが機能しなくなった理由を理解しようとしています。

例として、Sublime Text 2には、検索/置換パネルを開くためのキーボードショートカットが付属しています。

Command+ Option+F

このコンボは、OSX 10.8.5をクリーンインストールするまでは問題なく動作しましたが、その後Sublime Textでの動作が不可解に停止しました。

最前面以外のプロセス(OSなど)でキーボードシーケンスをキャプチャできることを知っているので、特定のキーボードコマンドが「消費された」プロセスを確認する方法があるかどうか疑問に思っていましたか?


VSCode CMD + SHIFT + Pについては、github.com / prettier / prettier
Devin G Rhode

回答:


19

ショートカットの受信者を見つけるための高速で効率的な方法を知りません。しかし、ここに狩りを始めるためのレシピがあります:

  1. 実行中のアプリケーションのほとんどを閉じて、ハントの効率を向上させます。

  2. Terminalウィンドウを開き、次のコマンドを実行します。

    /usr/bin/sudo opensnoop
    

    このコマンドは、すべてのopenシステムコールを追跡します。

  3. ショートカットが不明なアプリケーションによってインターセプトされているコンテキストに切り替え、⌘ cmd+ ⌥ option+ と入力しFます。

    開いたファイル名から犯人のヒントを探します。

  4. whileunsuccessfull、1つのアプリケーションを追加、および GOTO 3


1
いいね!これを十分に速く実行すると、プロセスのかなり簡潔なリストが得られるはずです。約50行ありましたが、その半分はバックグラウンドプロセスであり、キーボードプレスをリッスンしていないため、テキストエディターで簡単に除外できました。残りの20行ほどには他の3つのプロセスが記録されており、その75%に私の犯人が含まれていました。共有してくれてありがとう、@ daniel
Joel Mellon

ダニエルに感謝します。他の何かが私のアプリケーションの1つのために意図されたショートカットをキャプチャしていた(そしてさらに悪いことに、小さなpingサウンドを再生していた!)と長い間不満を感じていました。これを実行し、おそらく4つのアプリが呼び出しを行っているのを見ました。そのうちの1つが "ping.aiff"を開いていて、私を直接犯人に導きました!
Biglig


0

KeyCueは、キーボードショートカットに関する視覚的なフィードバックを提供します。体験版としてダウンロードできます。

ErgonisのKeyCue

コマンドキーをダブルタップしてホールドすると、現在アクティブなショートカットがすべて表示されるように構成しました。


KeyCueを試したところ、現在アクティブなアプリケーションのメニューコマンドに関連付けられているキーボードショートカットのみが表示されているように見えます。さらに、Keybaord Maestroからのグローバルホットキーと、おそらく1つまたは2つの他の特定のサポートされているアプリケーションを表示しているようです。すべてのアプリケーションのグローバルホットキーが表示されますか?
ポール

「その他」のアプリにどのホットキーが表示されるかについては、少し不思議に思います。私はあなたがどこにいるかに関連するグローバルなホットキーを表示しようと試みます(しかし完全に成功するわけではありません)。ユーザーガイドでは、特にキーボードマエストロに言及しています。
ギルビー2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.