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

 


Dernière réponse
Sujet : Gestion des diodes du clavier...
funkyboss 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

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
funkyboss 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
zop

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 ?

funkyboss 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
Hepil je serais interessé, mais pour VB ...
AlphaT

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--

developpeur_en_panne AlphaT:
 
Ca ne fonctionne pas chez moi... Ca génère une erreur au moment de l'exécution...
developpeur_en_panne 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...
 
???
yush 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?
AlphaT 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--

developpeur_en_panne je n'avais pas vu le code...
 
merci, je l'étudie...
developpeur_en_panne 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...?
AlphaT 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--

developpeur_en_panne 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....

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