2012-07-11 4 views
11

He estado usando los métodos descritos aquí: http://weblog.rogueamoeba.com/2007/09/29/Encuadernación para teclas multimedia, iTunes bloque OS X

y leer en este tema: Binding to Media keys on Apple keyboards under OSX 10.5

hemos anulado la clase sendEvent, y puede detectar tecla multimedia entrada. El problema es que iTunes se inicia cuando se presiona el botón Reproducir. El hilo mencionado anteriormente indica que iTunes se conecta al evento en otro lugar (desconocido), por lo que no hay forma de bloquearlo para que no se reproduzca el evento Play/Pause (F8).

Como solución temporal, he estado dejando Quicktime Player abierto sin ningún archivo. Sin embargo, en Mountain Lion, Quicktime se cierra después de un cierto período de inactividad, por lo que esta solución no es viable.

Sé que aplicaciones como Spotify y MPlayerX han podido lograr esto de alguna manera. Parecen bloquear el evento por completo, no solo para iTunes.

Más Google, encontré esto discussions.apple.com/thread/2122639?start=210 & tstart = 0 que lo rastrea al Control Remoto Daemon haciendo las llamadas a través de Applescript. Hay algunas opciones que eliminan el permiso de ejecución en el daemon rcd (requiere sudo, se debe volver a ejecutar cada vez que se actualice OSX). nomitsu.com/contents/MMFix_src.tgz

¿Alguien tiene alguna idea de cómo ellos (MPlayerX, Spotify) han podido hacer esto de una manera menos hacky?

Gracias por cualquier consejo.

Respuesta

15

He encontrado una clase preexistente que hará esto: http://overooped.com/post/2593597587/mediakeys

Vaya, que tuvo algunos mirando de encontrar! Espero que ayude a alguien más!

+8

+1 Página de GitHub: [SPMediaKeyTap] (https://github.com/nevyn/SPMediaKeyTap). Gracias por compartir :) – Anne