Estoy escribiendo una aplicación donde necesito simular eventos de pulsación de tecla en una Mac, dado un código que representa cada tecla. Parece que necesito usar la función CGEventCreateKeyboardEvent
para crear el evento. El problema es que esta función necesita un código clave Mac, y lo que tengo es un código que representa la clave específica. Entonces, por ejemplo, recibo:Simulación de eventos de pulsación de tecla en Mac OS X
KEY_CODE_SHIFT
o KEY_CODE_A
- estas son ambas constantes numéricas definidas en alguna parte.
Necesito tomar estas constantes y convertirlas en valores CGKeyCode
.
Mi intento actual utiliza un código similar al this SO question. El problema es que solo funciona para caracteres imprimibles. Si todo lo demás falla, no estoy por encima de la codificación difícil de la conversión, pero eso significaría que necesitaría una tabla de posibles valores CGKeyCode, que aún no he podido encontrar.
¿Alguna idea?
Entonces, en este ejemplo, ¿el 'CGKeyCode' de' 1' es el código para S? Además, ¿funcionaría esto solo para una aplicación de primer plano, o si se ejecutara en segundo plano, funcionaría en toda la sesión? Gracias – joec
@joec sí a todos esos. –
Entonces, por ejemplo, si mi aplicación se ejecutaba en segundo plano (solo como un servicio) y tenía Photoshop al frente, podía simular una pulsación de tecla, y ¿se vería en Photoshop? Gracias – joec