Znajdź, który proces odbiera dane polecenie klawiatury

17

Próbuję dowiedzieć się, dlaczego dana kombinacja klawiszy już nie działa.

Na przykład Sublime Text 2 jest dostarczany ze skrótem klawiaturowym do otwierania panelu Znajdź / Zamień:

Command+ Option+F

To połączenie działało dobrze, dopóki nie przeprowadziłem czystej instalacji OSX 10.8.5, po czym w tajemniczy sposób przestało działać w Sublime Text.

Wiem, że sekwencje klawiszy mogą być przechwytywane przez procesy inne niż z przodu (jak w systemie operacyjnym), więc zastanawiałem się, czy istnieje sposób sprawdzenia, za pomocą którego którego procesu została wydana określona komenda klawiatury?

Mark Fox
źródło
Dla VSCode CMD + SHIFT + P, patrz github.com/prettier/prettier-vscode/issues/250
Devin G Rhode

Odpowiedzi:

19

Nie znam szybkiej i skutecznej metody znalezienia odbiorcy skrótu. Ale oto przepis na rozpoczęcie polowania:

  1. Zamknij większość uruchomionych aplikacji, aby poprawić wydajność wyszukiwania.

  2. Otwórz Terminalokno i uruchom następujące polecenie:

    /usr/bin/sudo opensnoop
    

    To polecenie wyśledzi każde openwywołanie systemowe.

  3. Przejdź do kontekstu, w którym skrót jest przechwytywany przez nieznaną aplikację i wpisz ⌘ cmd+ ⌥ option+ F.

    Poszukaj podpowiedzi od otwartych nazw plików.

  4. whilenieudane, dodaj jedną aplikację i GOTO 3.

dan
źródło
1
Miły! Jeśli zrobisz to wystarczająco szybko, powinieneś mieć dość zwięzłą listę procesów. Miałem około 50 wierszy, z których połowa była procesem w tle, o którym wiedziałem, że nie słucham naciśnięć klawiszy, więc z łatwością mogłem je odfiltrować w edytorze tekstu. Pozostałe 20 linii zapisało 3 inne procesy, a 75% z nich zawierało mojego winowajcę. Bardzo dziękuję za udostępnienie, @ Daniel
Joel Mellon
Dzięki Daniel. Byłem sfrustrowany przez wieki, że coś innego przechwytywało skrót przeznaczony dla jednej z moich aplikacji (a nawet gorzej, odtwarzając dźwięk pingowania!). uruchomiłem to, zobaczyłem może 4 aplikacje dzwoniące, jedna z nich otwierała „ping.aiff”, doprowadziła mnie prosto do winowajcy!
Biglig
13

ShortcutDetective rozwiązuje problem. Jest bezpłatny, prosty i do rzeczy.

Jonathan Wheeler
źródło
1
Fantastyczna rekomendacja! To załatwiło sprawę.
D Raymond,
Dziękuję Ci!!! To uratowało mnie przed utratą zdrowia psychicznego!
Sanjiv Jivan
Niesamowite oprogramowanie, ale wydaje się, że nie działa z klawiszami / skrótami multimedialnymi: [
CTS_AE
0

KeyCue zapewnia wizualną informację zwrotną na temat skrótów klawiaturowych. Można go pobrać jako wersję próbną.

KeyCue od Ergonis

Skonfigurowałem go tak, aby dwukrotnie stuknąć i przytrzymać klawisz Command, aby wyświetlić wszystkie aktualnie aktywne skróty.

Gilby
źródło
Po wypróbowaniu KeyCue wydaje mi się, że pokazuje tylko skróty klawiaturowe powiązane z poleceniami menu dla bieżącej aktywnej aplikacji. Ponadto wydaje się, że pokazuje globalne klawisze skrótów od Keybaord Maestro i może jedną lub dwie inne obsługiwane aplikacje. Czy wyświetla globalne skróty dla wszystkich aplikacji?
Paul
Uważam, że jest nieco tajemnicze, jakie klawisze skrótów są wyświetlane dla „innych” aplikacji. Myślę, że próbuje (ale nie do końca się udaje) pokazać globalne klawisze skrótów, które są odpowiednie dla tego, gdzie jesteś. Podręcznik użytkownika odnosi się w szczególności do Keyboard Maestro.
Gilby,