Port d'entrée/sortie 80x86 | 0060h |
---|---|
AT, PS/2 | Keyboard/auxiliary Data port |
Description
Ce port permet de manipuler le registre A en entrée et sortie du contrôleur 8042 destiné au clavier.
Lecture
Bits | Description | |
---|---|---|
0 à 7 | Ces bits permettent de lire le contenu des données en attente sur le contrôleur (scan code). Voici les valeurs plus communes : | |
Valeur | Description | |
01h | Bouton Esc | |
02h | Bouton 1 ! | |
03h | Bouton 2 @ | |
04h | Bouton 3 # | |
05h | Bouton 4 $ | |
06h | Bouton 5 % | |
07h | Bouton 6 ^ | |
08h | Bouton 7 & | |
09h | Bouton 8 * | |
0Ah | Bouton 9 ( | |
0Bh | Bouton 0 ) | |
0Ch | Bouton - _ | |
0Dh | Bouton = + | |
0Eh | Bouton Backspace | |
0Fh | Bouton Tab | |
10h | Bouton Q | |
11h | Bouton W | |
12h | Bouton E | |
13h | Bouton R | |
14h | Bouton T | |
15h | Bouton Y | |
16h | Bouton U | |
17h | Bouton I | |
18h | Bouton O | |
19h | Bouton P | |
1Ah | Bouton [ { | |
1Bh | Bouton ] } | |
1Ch | Bouton Enter | |
1Dh | Bouton Ctrl | |
1Eh | Bouton A | |
1Fh | Bouton S | |
20h | Bouton D | |
21h | Bouton F | |
22h | Bouton G | |
23h | Bouton H | |
24h | Bouton J | |
25h | Bouton K | |
26h | Bouton L | |
27h | Bouton ; : | |
28h | Bouton ' " | |
29h | Bouton ` ~ | |
2Ah | Bouton Shift de gauche | |
2Bh | Bouton \ | |
2Ch | Bouton Z | |
2Dh | Bouton X | |
2Eh | Bouton C | |
2Fh | Bouton V | |
30h | Bouton B | |
31h | Bouton N | |
32h | Bouton M | |
33h | Bouton , < | |
34h | Bouton . > | |
35h | Bouton / ? | |
36h | Bouton Shift de droite | |
37h | Bouton * foncé | |
38h | Bouton Alt | |
39h | La grande barre d'espacement | |
3Ah | Bouton CapsLock | |
3Bh | Bouton F1 | |
3Ch | Bouton F2 | |
3Dh | Bouton F3 | |
3Eh | Bouton F4 | |
3Fh | Bouton F5 | |
40h | Bouton F6 | |
41h | Bouton F7 | |
42h | Bouton F8 | |
43h | Bouton F9 | |
44h | Bouton F10 | |
45h | Bouton NumLock | |
46h | Bouton ScrollLock | |
47h | Bouton Home | |
48h | Bouton ↑ | |
49h | Bouton Page Up | |
4Ah | Bouton Grey-ow | |
4Bh | Bouton ← | |
4Ch | Bouton 5 sur le bloc numérique | |
4Dh | Bouton → | |
4Eh | Bouton + (Foncé) | |
4Fh | Bouton End | |
50h | Bouton ↓ | |
51h | Bouton Page Down | |
52h | Bouton Insert | |
53h | Bouton Delete | |
54h | Bouton SysRq | |
56h | Bouton de gauche \ sur les claviers avec au moins 102 touches | |
57h | Bouton F11 | |
58h | Bouton F12 | |
5Ah | PA1 | |
5Bh | Bouton F13 ou Windows 9X Left | |
5Ch | Bouton F14 ou Windows 9X Right | |
5Dh | Bouton F15 ou Windows 9X Menu | |
63h | Bouton F16 | |
64h | Bouton F17 | |
65h | Bouton F18 Ex | |
66h | Bouton F19 | |
67h | Bouton F20 | |
68h | Bouton F21 | |
69h | Bouton F22 ExSel | |
6Ah | Bouton F23 | |
6Bh | Bouton F24 | |
6Ch | --h | |
6Dh | Bouton Erase EOF | |
6Fh | Bouton Copy/Play | |
72h | Bouton CrSel | |
74h | Bouton ExSel | |
76h | Bouton Clear | |
0E0h | Code préfixe | |
0E1h | Code préfixe | |
0FAh | Signal ACK | |
0FEh | Signal RESEND | |
0FFh | Erreur clavier, éventuellement le tampon plein |
Écriture
Bits | Description |
---|---|
0 à 7 | Ces bits permettent d'écrire des données sur le contrôleur. |
Remarques
- Normal, on ajoute la valeur 80h afin d'indiquer que la touche est enfoncé, si le code est un préfixe, comme E0h, alors ce sera le code suivant allant avoir une addition de 80h : E0h (Code + 80h).
- Les codes 56h à E1h sont seulement valide pour les claviers ayant aux moins 101/102 touches.
- Les codes 5Ah à 76h sont seulement valide pour les claviers ayant aux moins 122 touches.
Exemple
Cet exemple, en Turbo Pascal, permet d'attendre qu'une touche d'espacement soit enfoncé :
- Program WaitSpc;
-
- BEGIN
- Repeat Until Port[$60] < $80;
- END.
Voir également
Langage de programmation - Assembleur 80x86 - Interruption 08h à 0Fh: Interruptions processeur (IRQ0 à IRQ7): Interruption 09h: (IRQ1) Interruption clavier
Langage de programmation - Assembleur 80x86 - Table des codes de balayage (scan code US et scan code UK)
Références
ABIOS for IBM PS/2 Computers and Compatibles - The Complete Guide to ROM-Based System Software for OS/2, Edition Addison-Wesley, Phoenix Technologies Ltd., 1987, ISBN: 0-201-51805-8, page 65.
Dernière mise à jour : Samedi, le 2 août 2014