Question

Je suis en train de générer keydown du clavier et des événements KeyUp programmation. J'utilise actuellement CGPostKeyboardEvent pour ce faire, mais je suis à la recherche d'un moyen de le faire à un niveau inférieur. Je l'ai regardé DDHidLib mais ne pouvait pas trouver un moyen de créer un faux événement. Quelqu'un peut-il aider?

mise à jour : Merci aux conseils de Weichsel Je crée maintenant un événement clé vers le bas ce qui suit:

  CGEventRef e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)52, true);
  CGEventPost(kCGSessionEventTap, e);
  CFRelease(e);

que j'ai trouvé .

Cependant , mon problème est toujours debout, donc je développerai un peu. L'application (3ème partie) que je voudrais envoyer à outils fonction de capture clé DDHidLib:

- (void) ddhidKeyboard: (DDHidKeyboard *) keyboard
             keyDown: (unsigned) usageId;

Et ce ne sera jamais appelé en utilisant la méthode actuelle. Je pense que la clé vers le bas simulé avec CGEventCreateKeyboardEvent est trop élevé à un niveau à être capturé par ddhidKeyboard: keyDown. Donc ce que je suis en train de faire est de créer l'événement KeyDown à un niveau suffisamment faible pour qu'il soit reconnu par ddhidKeyboard: keyDown.

Était-ce utile?

La solution

Quel est le problème avec Quartz Event Services
Je pense que vous êtes sur la bonne voie, mais vous devez utiliser CGEventCreateKeyboardEvent au lieu de CGPostKeyboardEvent parce que ce dernier est obsolète depuis Mac OS X 10.6.

Autres conseils

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top