Section courante

A propos

Section administrative du site

Interruption 16h: Gestionnaire clavier

Le gestionnaire de clavier est une interruption offrant de nombreux services du BIOS pour accéder à la périphérique d'entrée standard console, c'est-à-dire le clavier.

Fondement architectural et interface homme-machine primordiale

L'interruption 16h, dédiée à la gestion du clavier, constitue l'une des interfaces les plus fondamentales et anciennes de l'architecture PC, établissant le lien essentiel entre l'utilisateur et la machine depuis les premiers IBM PC de 1981. Cette interruption représente la couche d'abstraction primordiale permettant aux programmes d'accéder aux entrées clavier de manière standardisée, indépendamment des différences matérielles entre les générations successives d'ordinateurs. Sa conception reflète parfaitement la philosophie du BIOS (Basic Input/Output System) visant à isoler les logiciels des spécificités du matériel sous-jacent, créant ainsi une base stable sur laquelle des décennies de développement logiciel ont pu s'appuyer. À travers ses diverses fonctions, accessibles en plaçant un code de fonction dans le registre AH avant d'invoquer l'interruption, ce service offre un ensemble complet d'opérations allant de la simple lecture de caractères à la gestion d'états complexes des touches modificatrices. La présence continue de cette interruption à travers toutes les générations de matériel PC, des premiers modèles XT jusqu'aux PS/2 plus avancés, témoigne de son importance critique dans l'écosystème informatique et de la nécessité absolue de maintenir sa compatibilité pour assurer la pérennité des applications existantes.

Évolution et adaptation aux avancées technologiques du clavier

Au fil des évolutions matérielles des ordinateurs personnels, l'interruption 16h s'est remarquablement adaptée pour intégrer les capacités croissantes des claviers, tout en maintenant une compatibilité ascendante essentielle avec les applications existantes. Cette évolution est particulièrement visible dans la distinction entre les fonctions de base (00h à 05h), supportées depuis les premiers PC, et leurs équivalents pour claviers étendus (10h à 12h) introduits avec les systèmes AT et PS/2. Ces dernières fonctions permettent de gérer l'ensemble élargi de touches des claviers modernes, notamment les touches de fonction supplémentaires et le pavé numérique dédié, tout en préservant le comportement attendu par les applications plus anciennes. Des raffinements comme la fonction 03h avec sa sous-fonction 05h, permettant d'ajuster le taux de répétition du contrôleur de clavier sur les systèmes AT et PS/2, illustrent l'enrichissement progressif des capacités proposées. La fonction 05h, permettant d'injecter des caractères dans le tampon clavier, constitue quant à elle une innovation majeure introduite avec les systèmes AT, ouvrant la voie à des applications capables de simuler des entrées clavier - une capacité essentielle pour les macro-commandes, l'automatisation et l'accessibilité. Cette évolution technique soigneusement orchestrée témoigne de l'équilibre délicat entre innovation et préservation de l'existant qui caractérise l'architecture PC.

Influence fondatrice sur les paradigmes d'interaction et la programmation système

L'influence de l'interruption 16h dépasse largement le cadre de sa fonctionnalité technique immédiate, ayant profondément façonné les paradigmes d'interaction utilisateur et les pratiques de programmation système pendant plusieurs décennies. Les fonctions 00h et 01h, permettant respectivement de lire un caractère et de vérifier la présence de données dans le tampon, ont établi le modèle fondamental d'entrée utilisateur dans d'innombrables applications, des premiers jeux textuels aux interfaces en ligne de commande sophistiquées comme celles de DOS, UNIX et leurs dérivés. La fonction 02h, donnant accès à l'état des touches modificatrices (Shift, Ctrl, Alt) et des bascules (Caps Lock, Num Lock, Scroll Lock), a jeté les bases des interactions contextuelles où le comportement d'une touche dépend de l'état global du clavier. Des cas particuliers comme la fonction F0h, spécifique aux Compaq 386 et certains BIOS AMI, illustrent comment cette interruption a également servi de vecteur d'innovation pour des fonctionnalités matérielles spécialisées au-delà du simple traitement des entrées clavier. L'architecture de cette interruption, avec sa gestion du tampon clavier comme intermédiaire entre le matériel et les applications, a établi un modèle durable de traitement des événements d'entrée continuant d'influencer la conception des interfaces utilisateur modernes, même dans les environnements graphiques sophistiqués ayant depuis longtemps dépassé les contraintes des interfaces textuelles originelles.

Fonction d'accès au clavier :

Fonction Description Prérequis
Interruption 16h, Fonction 00h Cette fonction effectue la lecture d'un caractère en provenance du clavier. PCXTATPS/2
Interruption 16h, Fonction 01h Cette fonction indique si un caractère est en attente dans le tampon clavier. PCXTATPS/2
Interruption 16h, Fonction 02h Cette fonction permet de demander l'état des drapeaux du clavier. PCXTATPS/2
Interruption 16h, Fonction 03h, Sous-Fonction 05h Cette fonction permet de fixer le taux de répétition du contrôleur du clavier. PC JuniorATPS/2
Interruption 16h, Fonction 04h Cette fonction permet de fixer le signal sonore (le «tic») du clavier lorsqu'on appuie sur une touche. PC Junior
Interruption 16h, Fonction 05h Cette fonction place un caractère et un code de touche dans le tampon clavier. ATPS/2
Interruption 16h, Fonction 10h Cette fonction effectue la lecture d'un caractère en provenance d'un clavier étendu. ATPS/2
Interruption 16h, Fonction 11h Cette fonction indique si un caractère est présent sur un clavier étendu. ATPS/2
Interruption 16h, Fonction 12h Cette fonction demande l'état des drapeaux du clavier sur un clavier étendu. ATPS/2
Interruption 16h, Fonction F0h Cette fonction permet de fixer la vitesse du microprocesseur. Compaq 386, certain BIOS AMI


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