Enlace de teclas multimedia

¿Cómo "registra" Apple exactamente las teclas multimedia? Observo que Reproducir/Pausar, Rebobinar y Avance rápido son aplicaciones activas conscientes. Con lo que quiero decir que controlará Front Row, iTunes, DVD Player o Keynote, todos de forma única, no al mismo tiempo si todos están abiertos.

¿Cómo se registra esto exactamente? ¿Y se puede "extender" para que funcione con otras aplicaciones?

(Obviamente, el resto de las teclas de función tienen un "alcance global" más y no están realmente involucradas aquí).

[editar]
Estoy revisando esta pregunta, porque la he visto surgir un par de veces ahora que estoy descubriendo cosas como Vox.app y similares, pero todavía estoy un poco perplejo en cuanto a cómo funciona el proceso. puede ser tan "inteligente".

Si busca /System/Library/CoreServices/rcd.app/Contents/MacOSy ejecuta algo como strings, less, vim o cualquier utilidad hexadecimal contra rcd, verá algunas cosas muy interesantes. A saber, AppleScript incrustado/codificado de forma rígida.

Que yo sepa, este demonio controla los controles remotos IR, así como las teclas multimedia del teclado. Dado que algunos eventos clave (Reproducir/Pausar, Avance rápido, etc.) se comparten entre varias aplicaciones (iTunes, Front Row, Keynote, por nombrar algunas), todavía quiero saber cómo se "elige" el correcto para recibir el evento de rcd.

Supongo que esto significa que, para "extender" rcd a otras aplicaciones, tendría que romper la validación del codiseño y alterar directamente el binario de una manera aterradora y desconcertante.

La respuesta a esto se encuentra en rcd.app (Remote Control Daemon)... Hay algunos buenos detalles en forums.macgeneration.com/mac-os-x/… , No puedo creer que las teclas de medios solo se descarguen Applescript. ¡Eso es una locura!

Respuestas (1)

Es posible que desee ver el código de KeyRemap4MacBook. Hay una funcionalidad allí para reasignar estas claves a lo que quieras, sin embargo, no estoy seguro si quedaría claro cómo "registrar" esas claves.

Pero, no quiero reasignarlos para hacer otra cosa. Quiero saber cómo el sistema operativo sabe qué aplicación controlar usando los mismos KeySyms cada vez.
¿entonces no quieres leer el código?
Voy a intentar hacerlo, pero esto no responde a la pregunta, es una solución. Estoy principalmente interesado en algo que permita a los desarrolladores usar lo que supongo que son API nativas (quizás "privadas") para registrar el control principal de medios y recibir eventos multimedia (reproducir/pausar/adelante/atrás/volumen). No quiero "arreglar el problema", quiero aprender los detalles de bajo nivel de este proceso.