Les vidéos ne font pas de grandes réponses sur ce site, mais je vous recommande néanmoins Comment fonctionne le retournement des n-clé ? par Ben Eater. Il montre les différences entre un clavier bon marché avec retournement de 2 touches et un bon clavier avec retournement de n touches, décrit le fonctionnement des circuits de ces claviers pour montrer ce qui manque au clavier bon marché, et capture les paquets de configuration et de données USB réels des claviers pour montrer exactement comment ils communiquent avec l'ordinateur hôte.
Vous pouvez comparer cette vidéo avec la précédente Alors, comment fonctionne une interface clavier PS/2 ? pour voir les différences entre les protocoles USB et PS/2. Il a également réalisé deux vidéos dans lesquelles il écrit le logiciel pour un ordinateur 6502 afin de convertir ces événements clés en texte.
Ce qui est le plus intéressant dans le protocole PS/2, c'est que rien n'a besoin d'être modifié pour prendre en charge le retournement des n-keys, mais seulement parce que cela repousse une grande partie du travail sur l'ordinateur lui-même. L'ordinateur doit disposer d'un tampon suffisamment grand pour contenir au moins un événement d'appui sur chaque touche du clavier, ou bien il doit traduire ces événements d'appui sur les touches en un bitmap des touches qui sont actuellement appuyées. Sur les claviers USB, c'est le clavier lui-même qui doit maintenir cette mémoire tampon ou ce bitmap. Cette mémoire tampon peut traditionnellement contenir six touches (bien qu'en principe, elle puisse être de n'importe quelle longueur), ce qui est suffisamment long pour satisfaire la plupart des utilisateurs, mais pas pour permettre un véritable roulement à n touches. Certains claviers avec un retournement de moins de 6 touches ont néanmoins une puce USB avec une mémoire tampon de 6 touches.
Pour l'anecdote, le système d'exploitation de votre ordinateur fournit des événements de pression et de relâchement des touches aux programmes que vous exécutez, presque exactement comme le protocole PS/2, et il doit donc convertir le tampon en six à douze événements. De même, le bitmap peut finir par être converti en plus de cent événements. Les moteurs de jeu reconvertissent souvent ces événements en un bitmap de touches enfoncées¹ que le jeu peut examiner.
C'est en fait des chaussures de clown.
¹ Ou parfois un bitmap plus grand qui indique les touches qui ont commencé à être pressées cette image, les touches qui ont été pressées pendant plusieurs images et les touches qui ont été relâchées cette image.