Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1398 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JAVA : Déterminer l'état du capslock

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JAVA : Déterminer l'état du capslock

n°1892932
ysatnaf
Posté le 09-06-2009 à 08:52:26  profilanswer
 

Bonjour,  
 
J'ai besoin via un programme en Java de connaitre l'état du capslock (Savoir si capslock est activer ou désactiver). Au debut, je pensais que ce serais facile mais je n'ai trouver aucune méthode capable de résoudre mon probleme (pourtant il existe des solutions pour d'autre langage).  
En fait, je veut via la classe java.awt.Robot (qui permet entre autre de simuler l'appui sur les touches d'un clavier) ecrire en majuscule ou en minuscule.  
http://java.sun.com/javase/6/docs/ [...] Robot.html  
 
Si je connais l'etat du capslock, cela me permettra de simuler un appui sur le bouton capslock si son état n'est pas celui qui convient.  
 
Merci pour le temps que vous allez prendre pour me repondre.

mood
Publicité
Posté le 09-06-2009 à 08:52:26  profilanswer
 

n°1892957
nerisson
Pic-pic
Posté le 09-06-2009 à 09:25:33  profilanswer
 

java.awt.Toolkit.getLockingKeyState()


---------------
Light is right
n°1893012
ysatnaf
Posté le 09-06-2009 à 10:23:55  profilanswer
 

Je vient d'essayer cette méthode mais je ne parvient pas a la faire fonctionner.
Afin de recuperer l'etat du capslock j'ai introduit cette ligne (sans rien changer d'autre) de code dans mon programe :
 
Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK);
 
Cette méthode devrais me renvoyer un boolean dont la valeur m'indique l'etat du capslock mais elle me génére une exception :
 
Exception in thread "main" java.lang.UnsupportedOperationException: Toolkit.getLockingKeyState
        at java.awt.Toolkit.getLockingKeyState(Toolkit.java:1388)
        at simulationclavier.SimulClavier.main(SimulClavier.java:332)
 
Toolkit est un composant graphique, le probleme doit venir de là et je ne sais pas comment l'utiliser.
 
EDIT :
Finalement, ce code marche bien sous windows mais pas sous linux. Apparament il y a des systémes de sécurité sous linux qui m'empeche d'utiliser cette méthodes...
 
Si vous avez des idées, je suis prenneur.


Message édité par ysatnaf le 09-06-2009 à 10:47:43
n°1893097
nerisson
Pic-pic
Posté le 09-06-2009 à 11:25:18  profilanswer
 

Effectivement, et apparemment il n'y a pas trop d'autre solution...
D'autant plus que cette méthode est affectée d'un bug:
   http://bugs.sun.com/bugdatabase/vi [...] id=4414164


---------------
Light is right
n°1893183
ysatnaf
Posté le 09-06-2009 à 14:03:46  profilanswer
 

Cette méthode renvoie uniquement l'etat du capslock lors du lancement du programme. Elle n'est ensuite plus mis a jour...
Je pensais essayer d'envoyer le caractere 'a' (par simulation du clavier) puis verifier son code ascii (verifier si il correspond au caractere a minuscule ou a majuscule). De cette façon je pourrais connaitre l'etat du capslock.
C'est tout de même asser compliquer (thread etc...)
 
Je pense que je vais plutôt imposer a l'utilisateur de desactiver le capslock ^^
   


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JAVA : Déterminer l'état du capslock

 

Sujets relatifs
[Résolu] XML UTF-8 > Java String decodagequel parseur xml java ?
Execution d'un programme Java sur un autre support[JAVA] String identiques mais differents lors de la comparaison !
[JAVA] SunSPOT - Gestion clavier[java]Lecture d'un gros fichier texte
[c++ vs java] pointeur de fonctionCompiler du code java existant avec MAVEN
executer un fichier .java[Java] BorderLayout qui ne fonctionne pas
Plus de sujets relatifs à : JAVA : Déterminer l'état du capslock


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR