Finden Sie heraus, welcher Prozess einen bestimmten Tastaturbefehl erhält

Ich versuche herauszufinden, warum eine bestimmte Tastenkombination nicht mehr funktioniert.

Beispielsweise wird Sublime Text 2 mit einer Tastenkombination zum Öffnen des Bedienfelds „Suchen/Ersetzen“ ausgeliefert:

Command+ Option+F

Diese Kombination funktionierte einwandfrei, bis ich eine Neuinstallation von OSX 10.8.5 durchführte, wonach sie auf mysteriöse Weise in Sublime Text nicht mehr funktionierte.

Ich weiß, dass Tastatursequenzen von anderen Prozessen als den vordersten erfasst werden können (wie vom Betriebssystem), also habe ich mich gefragt, ob es eine Möglichkeit gibt, zu überprüfen, von welchem ​​​​Prozess ein bestimmter Tastaturbefehl "verbraucht" wurde?

Antworten (3)

ShortcutDetective löst Ihr Problem. Es ist kostenlos, einfach und auf den Punkt.

Fantastische Empfehlung! Dies hat den Trick für mich getan.
Danke dir!!! Das hat mich davor bewahrt, meinen Verstand zu verlieren!
Tolle Software, scheint aber nicht für Medientasten/Shortcuts zu funktionieren: [
Toll, diese App hilft wirklich.
Nach der Migration meines Intel MacBook Pro auf ein neues Apple Silicon (M1 Max) Macbook Pro stürzt ShortcutDetective manchmal bei mir ab. Hat noch jemand dieses Problem? (Ich habe es so oft benutzt, dass ich es auf meinem Seitenmonitor laufen ließ, aber aus diesem Grund nicht mehr. Es ist immer noch nützlich für einmalige Probleme, wie die Frage des OP.)
Ja, ich habe auch einen Absturz auf meinem M1 MacBook Air, aber es hat lange genug funktioniert, um mir zu sagen, welche App die Tastenkombination stiehlt, die ich verwenden wollte (es war Logitech Options, und die Aktualisierung hat das Problem behoben).
Es wurde seit Jahren nicht mehr aktualisiert. Es stürzt jedes Mal ab, wenn eine Verknüpfung ausgelöst wird, die vom System verarbeitet wird (z. B. Verknüpfungen, die in den Systemeinstellungen definiert sind).

Ich kenne keine schnelle und effiziente Methode, um den Empfänger einer Verknüpfung zu finden. Aber hier ist ein Rezept , um die Jagd einzuleiten:

  1. Schließen Sie die meisten Ihrer laufenden Anwendungen, um die Effizienz der Jagd zu verbessern.

  2. Öffnen Sie ein TerminalFenster und führen Sie den folgenden Befehl aus:

    /usr/bin/sudo opensnoop
    

    Dieser Befehl spürt jeden openSystemaufruf auf.

  3. Wechseln Sie in den Kontext, in dem Ihre Verknüpfung von einer unbekannten Anwendung abgefangen wird, und geben Sie ⌘ cmd+ ⌥ option+ ein F.

    Suchen Sie anhand der geöffneten Dateinamen nach einem Schuldigen Hinweis.

  4. whilenicht erfolgreich, fügen Sie eine Anwendung hinzu und GOTO 3.

Nett! Wenn Sie dies schnell genug tun, sollten Sie eine ziemlich kurze Liste von Prozessen haben. Ich hatte ungefähr 50 Zeilen, von denen die Hälfte ein Hintergrundprozess war, von dem ich wusste, dass er nicht auf Tastaturdrücke hörte, sodass ich diese problemlos in einem Texteditor herausfiltern konnte. Die verbleibenden etwa 20 Zeilen zeichneten 3 andere Prozesse auf, und 75 % davon enthielten meinen Übeltäter. Vielen Dank fürs Teilen, @daniel
Danke Daniel. Ich war seit Ewigkeiten frustriert, dass etwas anderes eine Verknüpfung erfasste, die für eine meiner Anwendungen gedacht war (und noch schlimmer, einen kleinen Ping-Sound abspielte!). lief dies, sah vielleicht 4 Apps, die Anrufe tätigten, eine davon öffnete "ping.aiff", führte mich direkt zum Übeltäter!
Ich habe diese Methode verwendet, um festzustellen, dass Logi Tune frustrierenderweise CMD+N erfasst. Hat perfekt funktioniert.
Das hat großartig funktioniert, aber in macOS 12 scheint opensnoopes wegen des Systemintegritätsschutzes nicht zu funktionieren.
Erhalten Sie eine Fehlermeldung oder haben Sie diese Einschränkung innerhalb von gelesen man opensnoop?

KeyCue bietet visuelles Feedback zu den Tastaturkürzeln. Es kann als Testversion heruntergeladen werden.

KeyCue von Ergonis

Ich habe es so konfiguriert, dass ein Doppeltippen und Halten der Befehlstaste alle derzeit aktiven Verknüpfungen anzeigt.

Nachdem ich KeyCue ausprobiert habe, sieht es für mich so aus, als würden nur die Tastenkombinationen angezeigt, die mit Menübefehlen für die aktuell aktive Anwendung verbunden sind. Außerdem scheint es globale Hotkeys von Keybaord Maestro und vielleicht ein oder zwei andere spezifische unterstützte Anwendungen anzuzeigen. Zeigt es globale Hotkeys für alle Anwendungen für Sie an?
Ich finde es etwas mysteriös, welche Hotkeys für „andere“ Apps angezeigt werden. Ich denke, es versucht (ist aber nicht ganz erfolgreich), globale Hotkeys anzuzeigen, die für Ihren Standort relevant sind. Das Benutzerhandbuch bezieht sich speziell auf Keyboard Maestro.