2009-11-06 7 views
3

J'écris un programme dans OS X qui reçoit des événements de clic d'une souris et d'un pavé tactile. Lorsque l'utilisateur clique sur quelque part, le système d'exploitation envoie l'ID de l'appareil, qui est juste un int, et la position du curseur à ma fonction de rappel. Je veux savoir si l'événement click vient de la souris ou du touchpad. Alors, comment puis-je connaître le nom de l'appareil à partir de son identifiant d'appareil?Comment connaître le nom d'un appareil à partir de son ID d'appareil sous OS X?

Merci!

(je suis désolé pour mon pauvre anglais.)

+0

J'ai ajouté la balise "iokit" à votre question, car la réponse est susceptible d'avoir quelque chose à voir avec cela. –

Répondre

2

Vous pouvez regarder le IOKit Registry.
Comme point de départ: HID Explorer sample code

Pour vérifier si l'ID que vous recherchez existe dans le Registre IOKit, vous pouvez grep la sortie de l'utilitaire de ligne de commande ioreg:

ioreg |grep 'Track' 
1

Connect au plan de service Dans le registre d'E/S, utilisez IORegistryEntrySearchCFProperty() avec kIORegistryIterateRecursively() pour rechercher un ID de périphérique correspondant à celui que vous avez. Vous devriez alors pouvoir trouver les autres propriétés de l'appareil telles qu'elles sont répertoriées dans le registre.

IORegistry Explorer vous aidera à comprendre la disposition du registre.

Questions connexes