Wie greife ich auf (anhören), um die Multimedia-Tasten (Play / Pause) in Mac OS X?

StackOverflow https://stackoverflow.com/questions/114541

  •  02-07-2019
  •  | 
  •  

Frage

Ich möchte ein Singvogel schreiben Erweiterung der Multimedia-Tasten auf allen Apple Mac OS X-Plattformen bindet. Leider ist dies nicht eine einfache Google-Suche und ich kann keine Dokumente nicht gefunden.

Kann mir jemand Ressourcen zeigen diese Schlüssel auf den Zugriff oder mir sagen, wie es zu tun?

ich umfangreiche Programmiererfahrung haben, aber dies wird mein erstes Mal Codierung in beiden MacOSX und XUL (Firefox, etc.), so entweder alle Tipps sind willkommen.

Bitte beachten Sie, dass diese nicht regelmäßig wichtige Ereignisse. Ich nehme an, es muss eine andere Art von Systemereignis sein, die ich benötigen, Haken oder zu abonniert haben.

War es hilfreich?

Lösung

Dieser Blog-Eintrag hat eine Lösung:

http: // www .rogueamoeba.com / utm / posts / Artikel / mediaKeys-2007-09-29-17-00.html

Sie müssen im Grunde NSApplication Unterklasse und überschreiben sendEvent,
Suche nach speziellen Scan-Codes. Ich weiß nicht, was Singvogel ist, aber wenn es
ist keine reale Anwendung dann bezweifle ich, Sie in der Lage sein werden, dies zu tun.

Vielleicht können Sie eine einfache Kategorie mögen genügen:

@implementation NSApplication(WantMediaKeysCategoryKBye)
- (void)sendEvent: (NSEvent*)event
{
    // intercept media keys here
}
@end

Andere Tipps

Sind Sie sicher, Ihre Multimedia-Tasten arbeiten in Ihrer Installation? Jede einzelne Taste erzeugt einen Scan-Code, der in einen Schlüsselcode vom Kernel übersetzt. Wenn xev Sie keycodes nicht zeigen, ich denke, diese Scan-Codes nicht abgebildet werden und so hat der Kernel keine Kenntnis von ihnen.

http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys hat eine schöne Erklärung Tastencodes zu finden, und bietet Hilfe, wie Sie roh-Scan-Codes finden und übersetzen sie in Schlüsselcodes.

xev könnte Ihnen helfen, wenn Sie herausfinden möchten, welche Codes werden eingesandt von Multimedia-Tasten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top