Sto scrivendo un'app in cui è necessario simulare eventi di stampa chiave su un Mac, dato un codice che rappresenta ciascuna chiave. Sembra che ho bisogno di utilizzare la funzione CGEventCreateKeyboardEvent
per creare l'evento. Il problema è che questa funzione ha bisogno di un codice di accesso Mac e quello che ho è un codice che rappresenta la chiave specifica. Per esempio, ricevo:Simulazione di eventi relativi alla stampa di tasti in Mac OS X
KEY_CODE_SHIFT
o KEY_CODE_A
- queste sono entrambe le costanti numeriche definite da qualche parte.
Ho bisogno di prendere queste costanti e trasformarle in valori CGKeyCode
.
Il mio tentativo corrente utilizza il codice simile a this SO question. Il problema è che funziona solo con caratteri stampabili. Se tutto il resto fallisce, non sono sopra la codifica hard della conversione, ma ciò significherebbe che avrei bisogno di una tabella di valori possibili di CGKeyCode, che non sono ancora stato in grado di trovare.
Qualche idea?
Quindi, in questo esempio, il 'CGKeyCode' di' 1' è il codice per S? Inoltre, funzionerebbe solo con un'app in primo piano o se fosse in esecuzione in background, funzionerebbe per tutta la sessione? Grazie – joec
@joec sì a tutti quelli. –
Quindi, dire che la mia app era in esecuzione in background (proprio come un servizio) e avevo Photoshop in primo piano, potevo simulare una pressione di un tasto, e sarebbe stato visto in Photoshop? Grazie – joec