Es existieren viele Artikel zum Thema Wie ändere ich das Verhalten meiner Apple Tastatur in Bezug auf die Media Keys und iTunes. Es gibt auch viele Cocoa Code-Beispiele darüber, wie man die Media Keys in seiner eigenen Mac Applikation verwenden kann. Aber jede Lösung, die ich im Internet fand, war mir zu taktlos.
Viele Posts haben beschrieben, dass der sogenannte Remote Control Daemon (RCD) dafür verantwortlich ist, dass iTunes jedes mal automatisch gestartet wird, wenn man die Play-Taste drückt. Was ja auch nicht falsch ist, aber ich denke man sollte den RCD-Prozess nicht mit killall
killen[1], geschweige den mit einem unseriösen Tool patchen[2]. Das ist alles nicht nötig, wenn es auch eine elegantere Lösung dafür gibt. Man sollte sowieso nie einen System-Prozess ändern, wenn man nicht ganz sicher ist, was man da überhaupt macht oder wenn es sowieso eine einfachere, bessere Lösung dafür gibt.
Lösung
Mein Lösungsweg beginnt mit dem Command Line Tool namens launchctl
, welches bei jeder OS X Installation standardmäßig mitgeliefert wird. Es ist nämlich nicht nötig, dass ich den Remote Control Daemon kille, oder patche, sondern es ist nur notwendig den RCD zu deaktivieren[3]. Das ist mit launchctl
möglich:
$ launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
Danach einfach iTunes und Spotify beenden und die eigene Applikation kann auf die Media Tasten zugreifen, ohne dass iTunes wieder gestartet wird. Ich habe dazu ein kleines Mac programm geschrieben, dass die Media Tasten Drücke abfängt und mittels cmus-remote
an cmus weiterleitet. Natürlich ist es bei Cmus Control nötig, so wie bei iTunes und Spotify auch, dass die Applikation im Hintergrund rennt. Cmus Control hat aber den Vorteil, dass es nur im Hintergrund rennt und keine Fenster benötigt. Zu diesem Zweck wird der Cmus Control Daemon bei launchctl
automatisch registriert und danach gestartet. Weitere Informationen findet man auf der Cmus Control GitHub Projekt Seite.
Footnotes
- [1] superuser.com: How can I remap a play-button keypress from a Bluetooth headset on OS X?
- [2] lifehacker.com: Free Your Mac’s Media Keys from iTunes, No Manual Hacking Required
- [3] gavinroy.com: Disabling default iTunes behavior with media keys in OSX