Section courante

A propos

Section administrative du site

Interruption 16h

Fonction 12h

État clavier étendue ?
AT, PS/2

Description

Cette fonction demande l'état des drapeaux du clavier sur un clavier étendu.

Entrée

Registre Description
AH 12h

Sortie

Registre Description
AX Ce registre permet d'indiquer l'état du clavier (soit la même valeur qu'à l'adresse mémoire 0040h:0017h) :
Bit Description
0 Ce bit vaut 1 si la touche Shift de droite est enfoncé
1 Ce bit vaut 1 si la touche Shift de gauche est enfoncé
2 Ce bit vaut 1 si la touche Ctrl de droite est enfoncé
3 Ce bit vaut 1 si la touche Alt de droite est enfoncé
4 Ce bit vaut 1 si l'état du ScrollLock est activé
5 Ce bit vaut 1 si l'état du NumLock est activé
6 Ce bit vaut 1 si l'état du CapsLock est activé
7 Ce bit vaut 1 si le mode d'insertion est activé
8 Ce bit vaut 1 si la touche Ctrl de gauche est enfoncé
9 Ce bit vaut 1 si la touche Alt de gauche est enfoncé
10 Ce bit vaut 1 si la touche Ctrl de droite est enfoncé
11 Ce bit vaut 1 si la touche Alt de droite est enfoncé
12 Ce bit vaut 1 si la touche ScrollLock est enfoncé
13 Ce bit vaut 1 si la touche NumLock est enfoncé
14 Ce bit vaut 1 si la touche CapsLock est enfoncé
15 Ce bit vaut 1 si la touche SysReq est enfoncé

Remarque

Exemple

L'exemple suivant, écrit pour Turbo Pascal de Borland, permet de vérifié si le clavier support les fonctions étendu du clavier :

  1. Program KbdEnh;
  2.  
  3. Function KeyboardEnhanced:Boolean;Assembler;ASM
  4.  MOV AH,002h
  5.  INT 016h
  6.  PUSH AX
  7.   XOR AL,0FFh
  8.   MOV AH,012h
  9.   INT 016h
  10.  POP BX
  11.  CMP BL,AL
  12.  JE  @Enhanced
  13.  XOR AX,AX
  14.  JMP @End
  15. @Enhanced:
  16.  MOV AL,1
  17. @End:
  18. END;
  19.  
  20. BEGIN
  21.  WriteLn('Clavier étendu :',KeyboardEnhanced);
  22. END.


Dernière mise à jour : Jeudi, le 3 mars 2016