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

  FORUM HardWare.fr
  Programmation

  Gestion des diodes du clavier...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gestion des diodes du clavier...

n°13756
developpeu​r_en_panne
Posté le 11-02-2001 à 17:21:48  profilanswer
 

Bonjour docteur...
j'ai un problème de diodes de clavier...
j'arrive à les faire clignoter à l'aide d'une dll en WINDOWS...
Toutes? Non... seule le NUM_LOCK est insensible...
En fait, son état est bien modifié par mon programme puisque je n'arrive plus à l'utiliser après, mais, la diode ne répond pas...
 
C'est grave docteur?
 
Merci....

mood
Publicité
Posté le 11-02-2001 à 17:21:48  profilanswer
 

n°13758
AlphaT
Posté le 11-02-2001 à 17:53:56  profilanswer
 

Dans quel langage tu codes l'accès à cette touche?
 
Moi, j'ai le code en C qui code cette fonction par un appel qui passe directement au BIOS via int 10h.
 
Voici un exemple de code qui implémente la fonction:
{
 char far * ptrToucheSpec = (char far *) 0x00400017;
 char NumLock;
 char Active = 0x20;
 NumLock = * ptrToucheSpec & Active;
 if (NumLock != Active)
  {
   * ptrToucheSpec |= 0x20;
   printf("La touche Num Lock est activée!" );
  }
 else
  {
   * ptrToucheSpec &= 0xDF;
   printf("La touche Num Lock est désactivée!" );
  }
}
 

 


--Message édité par AlphaT--

n°13759
developpeu​r_en_panne
Posté le 11-02-2001 à 18:04:43  profilanswer
 

Merci de m'avoir répondu...
 
En fait, j'ai codé tout ça en C++...
J'ai fait une dll qui fonctionne sur des postes sous WinNT.
 
Puis, j'ai essayé sur deux stations Win98..., et ça ne fonctionne plus pour le NUM_LOCK... J'arrive bien à manipuler les CAPS_ et SCROLL_ LOCK.
 
En java, j'ai le même problème...
 
Je ne vois rien d'autre...
 
Tu passes par le BIOS?
Tu fais comment...?

n°13760
developpeu​r_en_panne
Posté le 11-02-2001 à 18:06:50  profilanswer
 

je n'avais pas vu le code...
 
merci, je l'étudie...

n°13762
AlphaT
Posté le 11-02-2001 à 18:10:47  profilanswer
 

Précision: mon programme n'utilisait pas la fonction prinft ou cout pour afficher des message donc quand j'ai écris 10h c'est que l'affichage de tous les messages passe par l'interruption 10h mais pour la diode Num Lock, je ne m'en souvenais plus par où.

 

--Message édité par AlphaT--

n°13763
yush
Posté le 11-02-2001 à 18:23:02  profilanswer
 

Il me semble que sur certain clavier certaines diode refusent de s'activer/desactiver.Est ce que tu as essayer ton prog sur une autre machine?

n°13764
developpeu​r_en_panne
Posté le 11-02-2001 à 18:28:35  profilanswer
 

yush:
 
oui, j'ai essayé sur une autre machine en java (seulement).
L'état est bien activé, mais pas la diode...
 
Ex:
Si l'état est activé, et que mon programme désactive l'état du NUM_LOCK, alors l'état apparait comme étant désactivé, mais pas la diode...   Si je joue ensuite avec mon pavé numérique, il fait foncionner les flèches, et je ne peux plus le réactiver avec la touche physique...
Pour retrouver mon pavé numérique normal, je dois faire correspondre l'état de ma touche physique avec l'état dans le programme.
 
Tout cela est réservé au NUM_LOCK... les autres fonctionnent...
 
???

n°13767
developpeu​r_en_panne
Posté le 11-02-2001 à 19:14:33  profilanswer
 

AlphaT:
 
Ca ne fonctionne pas chez moi... Ca génère une erreur au moment de l'exécution...

n°13771
AlphaT
Posté le 11-02-2001 à 19:51:38  profilanswer
 

developpeur_en_panne a écrit a écrit :

AlphaT:
 
Ca ne fonctionne pas chez moi... Ca génère une erreur au moment de l'exécution...




 
En effet, je me demandais si ce code fonctionnnait sur tous les claviers. En tous cas, il fonctionne sur les claviers nord-américains (QWERTY) et chez moi également.
 
Le code que j'avais donné est dans le fichier:
http://www.multimania.com/forumhar [...] p6menu.cpp

 

--Message édité par AlphaT--

n°13809
Hepil
Posté le 12-02-2001 à 09:08:23  profilanswer
 

je serais interessé, mais pour VB ...

mood
Publicité
Posté le 12-02-2001 à 09:08:23  profilanswer
 

n°13911
funkyboss
Posté le 12-02-2001 à 18:25:09  profilanswer
 

l'etat du clavier peut se modifier en accedant à la mémoire du bios à l'adresse 40h:17h ce octet vaut
 
bit 7 à 1 = touche inser active
    6     = CapLock
    5     = NumLock
    4     = ScrollLock
    3     = touche ALT pressée
    2     = touche CTRL   -
    1     = touche SHIFT
on peut modifier les bits et le bios se charge via l'int 16h d'allumer/éteindre les diodes
 
on peut aussi programmer directement les entrées sorties du clvier via le port 60h/61h  - c'est mieux et ca permet de les faire clignoter plus rapidement

n°13915
zop
1 world, 1 web, 1 Windows
Posté le 12-02-2001 à 18:34:27  profilanswer
 

funkyboss a écrit a écrit :

l'etat du clavier peut se modifier en accedant à la mémoire du bios à l'adresse 40h:17h ce octet vaut
 
bit 7 à 1 = touche inser active
    6     = CapLock
    5     = NumLock
    4     = ScrollLock
    3     = touche ALT pressée
    2     = touche CTRL   -
    1     = touche SHIFT
on peut modifier les bits et le bios se charge via l'int 16h d'allumer/éteindre les diodes
 
on peut aussi programmer directement les entrées sorties du clvier via le port 60h/61h  - c'est mieux et ca permet de les faire clignoter plus rapidement




 
waoouw , tu as l'air d'en connaitre un rayon sur l'assembleur PC !! sans indiscrétion, d'où çà te vient cette somme de connaissance ?

n°13935
funkyboss
Posté le 12-02-2001 à 19:37:16  profilanswer
 

en fait je recopiais sur www.ctyme.com !
mais je me rappelle plus exactemtn le code qu'il faut envoyer au clavier pour programmer les diodes - je sais plus si 60/61h ou 64h


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

  Gestion des diodes du clavier...

 

Sujets relatifs
Gestion du port sous Win95 et Win98URGENT !!! Interruption 9 : gestion du clavier en PASCAL
[ASP] Gestion des variables de SessionPaiement Securisé, Gestion de Stock
Au pro du clavier...documentation sur la gestion du réseaux pour la programmation en C
documentation sur la gestion du réseaux pour la programmation en C[VB6] Gestion d'un rézo (TCP/IP ou IPX/SPX ...)
Plus de sujets relatifs à : Gestion des diodes du clavier...


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