Écouteur d'événement en Java sans application ayant le focus? (Global de détection de pression de touche)
J'ai cherché pendant un moment et tout le monde semble penser que ce n'est pas possible en utilisant seulement Java, donc je vais donner un coup de feu 😉
Est-il possible d'avoir mon application Java écouter les événements (événements clés en particulier) tandis qu'un autre demande a la fenêtre? Dans ma situation, je suis à la recherche pour détecter lorsque l'utilisateur a appuyé sur la "Pause" sur la touche sur le clavier, même si mon application Java n'a pas le focus.
J'ai entendu dire que certaines personnes mentionnent que le seul moyen est d'écrire du code C et de l'utilisation de JNI. Juste curieux de savoir si quelqu'un connaissait un moyen d'éviter cela? Ou, si pas, au moins un très bon tutoriel sur le c/JNI trucs?
Grâce
Vous devez vous connecter pour publier un commentaire.
C'est ma compréhension que ceci ne peut pas être fait. À un niveau fondamental, la JVM que génère des événements pour les O/S événements qu'il reçoit, et il ne reçoit O/S événements d'entrée lorsqu'il est activé.
Je suis sûr que vous pourrait utiliser JNI pour déclencher l'O/S pour générer des événements pour tous les commentaires, mais ce serait très O/S à charge.
Ici est la meilleure réponse que j'ai trouvé:
"
Il y a une bibliothèque pour gérer les natifs du clavier et de la souris de contrôle:
https://github.com/kwhat/jnativehook)
"
Je ne suis pas au courant de toute façon de se déplacer que ce soit. Je n'ai trouver ce lien sur les forums Java avec un bon exemple de la façon dont la configuration de la JNI de trucs et de faire une clavier maître (trop de choses à ajouter ici). C'est un peu daté (2005), mais l'exemple semble assez approfondie pour obtenir vous avez commencé.