Matériel informatique IBM. Types de claviers, conception et principe de fonctionnement

LABO 4

PÉRIPHÉRIQUES D'ENTRÉE PC - clavier et souris

But du travail

Le but du travail est d'étudier les principes du clavier du PC, ainsi que de contrôler les paramètres du clavier et de la souris. Outils Windows.

Informations de base

Un clavier est un dispositif permettant de saisir des informations d'un utilisateur dans un ordinateur.
Un clavier d'ordinateur personnel standard typique comporte plus de 100 touches, y compris des touches alphanumériques, de fonction, de comptabilité et autres.
Les touches alphanumériques permettent à l'utilisateur de saisir des chiffres, des lettres et des signes de ponctuation. En Russie, les mises en page russe et anglaise sont le plus souvent utilisées. Cependant, l'utilisateur dans les paramètres système de l'ordinateur peut sélectionner n'importe quelle disposition de clavier - du chinois à l'arabe. Si tous les symboles nécessaires de la disposition que vous avez choisie ne sont pas dessinés sur les touches du clavier, la situation peut être corrigée en achetant des autocollants spéciaux pour clavier.
La rangée supérieure du clavier est composée de touches de fonction - de F1 à F12. En utilisant les touches de fonction ou leurs combinaisons avec d'autres touches, vous pouvez contrôler l'ordinateur, par exemple, ouvrir la fenêtre d'aide, la fenêtre de l'explorateur, allumer et éteindre l'ordinateur.
Sur le côté droit du clavier se trouvent les touches dites de comptabilité - avec l'image de nombres et de symboles mathématiques, dont l'utilisation accélère la saisie d'informations numériques et leur utilisation. Les touches de comptabilité remplissent également la fonction de contrôle du curseur.

Les principaux paramètres des claviers modernes

Mécanisme à clé. Détermine principalement le coût du clavier, ainsi que la tactilité (sensation tactile).

Pour les claviers mécaniques, vous pouvez sélectionner avec ou sans clic. Un clic signifie une touche nette d'une frappe (accompagnée d'un son), que beaucoup de gens aiment.

possibilités tactiles.

Les paramètres tactiles incluent la dureté des touches et la longueur du trait.

La dureté des touches est déterminée par la force avec laquelle la touche est enfoncée.



La course moyenne des touches est de 3,5 mm. Pour ceux qui tapent couramment, un trait plus court est préférable.

Les deux paramètres sont déterminés par le goût de l'utilisateur et ne sont choisis de manière significative qu'après accumulation expérience personnelle. Pour la première fois, il suffit de courir sur le clavier en magasin.

Un autre paramètre tactile est le clic. Les claviers viennent avec un clic ou sans. Traduit littéralement, un clic est un clic. Une traduction exacte est une barrière tactile (c'est-à-dire tactile) qui apparaît au milieu de la pression et qui est surmontée d'un clic (d'où le nom). Il est mis en œuvre par une plaque mince arquée sous la clé, qui se plie avec une « secousse ».

Le clic vous permet de sentir avec précision que la touche est enfoncée et de ne pas sauter de lettres lors de la numérotation abrégée. Le clic est apprécié par de nombreux utilisateurs.

Habituellement, un clic se retrouve sur les claviers mécaniques, puisqu'il ne change pas beaucoup leur coût, mais parfois on le retrouve également sur d'autres types de claviers.

Facteur de forme définissant les touches (Maj, Retour arrière et Entrée). Lorsque ces touches ont une forme et un emplacement commodes, le travail est facilité.

La touche Entrée peut avoir les formes suivantes : droite, en forme de L et en forme de L (vous devez inverser les lettres L et G par rapport à la verticale pour obtenir la véritable forme de la touche Entrée). La forme en L est la plus pratique car la grande entrée peut être appuyée sans la regarder.

Disposition cyrillique. Il existe deux dispositions cyrilliques, dont l'une est plus pratique.

La disposition (c'est-à-dire la disposition des lettres sur les touches) de l'alphabet cyrillique est de deux types : Windows (reconnu par l'emplacement de la lettre E dans le coin supérieur gauche) et dactylographié (reconnu par l'emplacement de la lettre E dans le coin inférieur droit).

La disposition dactylographiée, comme son nom l'indique, est similaire aux touches d'une machine à écrire. La disposition Windows est apparue dans le système d'exploitation Windows. Par rapport à la dactylographie, des améliorations mineures mais très efficaces y ont été apportées. Par exemple, la lettre E très rarement utilisée a été déplacée dans un coin éloigné, et une clé avec un point et une virgule fréquemment utilisés a été placée à sa place. Dans la disposition dactylographiée, ils sont placés sur la rangée supérieure et sont entrés en majuscules. Il est étrange qu'une mise en page plus parfaite ait été développée par une société étrangère.

Certains fabricants n'appliquent que la mise en page russe, d'autres appliquent les deux, laissant le choix à l'utilisateur.

L'alphabet cyrillique a deux couleurs (les lettres sont dans le coin inférieur droit des touches) : rouge (pour la plupart des fabricants) et foncé. Dans le second cas, l'alphabet cyrillique est confondu avec l'alphabet latin même lorsque ce dernier est appliqué avec un léger double contour.

Clavier ergonomique. Les claviers dits ergonomiques sont beaucoup moins fatigants pour l'utilisateur, bien qu'ils prennent plus de place et soient plus chers.

Repose main disponible. Les supports réduisent la fatigue et améliorent l'apparence.

Groupes de clés supplémentaires. Il peut s'agir d'Internet, du multimédia et d'autres groupes clés. Accélérez votre travail en vous permettant de basculer moins vers et depuis la souris. L'emplacement des touches de veille doit être tel qu'elles ne s'accrochent pas accidentellement.

Interface. Associé au développement des cartes mères. En parlant d'interface, il s'agit de claviers filaires. Les interfaces suivantes sont utilisées :

PS/2.. Il s'agit d'un connecteur rond fin - miniDIN 6 broches. Le même est utilisé pour les souris PS/2, et afin de ne pas les confondre, la spécification PC" 99 prévoit des couleurs différentes pour ces prises : violet pour le clavier et vert pour la souris.

USB. Peut être utilisé avec toutes les cartes mères plus ou moins neuves, puisque ces dernières ont Prises USB et prise en charge dans le BIOS. Connecteur - plat, rectangulaire

L'interface USB est plus moderne et offre plus de fonctionnalités, plus de bande passante que les anciens types de ports.

Comment fonctionne le clavier

Le principe de fonctionnement du clavier est illustré à la fig. 1. Indépendamment de la façon dont le processus de frappe est mis en œuvre mécaniquement, le signal de frappe est enregistré par le contrôleur de clavier (par exemple, 8049) et transmis sous la forme d'un soi-disant scanner le codeà la carte mère. Le code de balayage est un nombre à un octet, dont les 7 bits inférieurs représentent le numéro d'identification attribué à chaque clé. Sur la carte mère du PC, un contrôleur spécial est également utilisé pour connecter le clavier. Pour les PC de type AT, une puce d'interface périphérique universelle est généralement utilisée. (Interface périphérique universelle, UPI) 8049.

Lorsque le code de balayage entre dans la puce (8049), alors l'interruption matérielle (IRQ 1) est initialisée, le processeur arrête son travail et exécute la procédure qui analyse le code de balayage. Cette interruption est gérée par un programme spécial qui fait partie du BIOS ROM. Lorsqu'un code de numérisation est reçu des touches , ou , le changement d'état est écrit dans la RAM. Dans tous les autres cas, le code scan est transformé en un code de caractère (les codes dits ASCII ou codes étendus). Dans ce cas, la procédure de traitement détermine d'abord le réglage des touches et des commutateurs afin d'obtenir correctement le code d'entrée ("a" ou "A"). Le code saisi est alors placé dans la mémoire tampon du clavier, qui est une zone mémoire pouvant stocker jusqu'à 15 caractères saisis jusqu'à ce que le programme d'application puisse les traiter. Le tampon est organisé selon le principe FIFO(premier entré, premier sorti).

Pour travailler avec le clavier, des ports et des interruptions sont utilisés. En réponse à l'interruption, la routine de service du système BIOS dans la ROM lit le code de balayage de clé à partir du port clavier (numéro de port 96) puis envoie une commande pour effacer la mémoire tampon du processeur du clavier au port clavier. Si unité système ne répond pas aux interruptions du clavier, les codes de balayage sont accumulés dans la mémoire tampon du processeur du clavier, bien que lorsque fonctionnement normal cela ne devrait pas arriver. Le code de balayage spécial 255, valeur hexadécimale FF, est utilisé par le clavier pour indiquer que sa mémoire tampon est pleine.

Note

Chaque clé génère deux types de codes de numérisation : code de clic, lorsqu'une touche est enfoncée, et code de version, lorsque la clé est relâchée. Pour un PC de classe AT, la même chaîne de bits est utilisée pour les codes push et les codes de libération, mais les codes de libération se composent de deux octets, dont le premier est toujours 0F0H. Pour la génération PC XT, le code de version est supérieur de 128 au code push (le septième bit de 7 est 1). Par exemple, un code de balayage de clé de 7 bits<В>est 48 ou 110000 en binaire. Lorsqu'une touche est enfoncée, le contrôleur de clavier reçoit le code 10110000, et lorsqu'il est relâché, le code 00110000.

Le contrôleur 8049 est responsable non seulement de la génération de codes de balayage, mais est également nécessaire pour effectuer des fonctions d'autocontrôle et vérifier les touches enfoncées lors du démarrage du système. Le processus d'auto-test est indiqué par un seul clignotement des trois LED du clavier pendant le programme POST. Ainsi, un dysfonctionnement du clavier est déjà détecté au stade du démarrage du PC.

Le contrôleur de la carte mère peut non seulement recevoir, mais également transmettre des données pour indiquer au clavier divers paramètres, par exemple, la fréquence de répétition de la touche enfoncée, etc.

En tableau. Les figures 1 et 2 montrent des exemples de codes de balayage qui correspondent au clavier actuellement le plus courant avec 102 touches.

Codes de balayage des touches de fonction hexadécimales

Tableau 1

Codes de balayage hexadécimaux pour les clés de saisie de données

Tableau 2


Ainsi, le traitement de la saisie au clavier (Fig. 2) est assuré par deux microcontrôleurs : l'un est situé sur la carte mère de l'ordinateur, le second est intégré au clavier lui-même.

Comme vous pouvez le voir sur le schéma, toutes les lignes horizontales de la matrice de touches sont connectées via des résistances à la source d'alimentation. La puce de clavier intégrée possède deux ports - sortie et entrée. Le premier est relié aux lignes verticales (Y0–Y5) de la matrice et le second aux lignes horizontales (X0–X4).

Le contrôleur de clavier fonctionne selon l'algorithme suivant. En fixant tour à tour sur chacune des lignes verticales le niveau de tension correspondant au zéro logique, le micro-ordinateur à clavier évalue en permanence l'état des lignes horizontales - quelle que soit l'activité sur le processeur central.

Si aucune touche n'est enfoncée, le niveau de tension sur toutes les lignes horizontales correspond à une unité logique. Dès qu'un appui est fait, les traits verticaux et horizontaux correspondant à la touche se referment. Lorsque le processeur définit la ligne verticale sur le zéro logique, le niveau de tension sur la ligne horizontale correspondra également au zéro logique.

Si un niveau logique zéro apparaît sur l'une des lignes horizontales, le processeur du clavier enregistrera une frappe. Il enverra à l'ordinateur (via un tampon interne de 16 octets) une demande d'interruption et un numéro de clé dans la matrice (appelé un code de balayage - il s'agit d'une valeur aléatoire choisie par IBM lorsqu'il a créé le premier clavier pour un PC) . La communication avec l'ordinateur sera répétée lorsque la touche enfoncée précédemment sera relâchée.

Le code de balayage est uniquement lié au câblage du clavier et ne dépend pas directement des désignations imprimées sur la surface des touches. Mais le programme n'a pas besoin du numéro de série de la touche pressée, mais du code ASCII correspondant au caractère sur cette touche. Il est important de comprendre que ce code n'est pas totalement dépendant du scan code, car plusieurs valeurs peuvent être attribuées à une même clé. Cela dépend, entre autres, de l'état des autres touches (par exemple, le bouton 0 est également utilisé pour saisir un caractère) lorsqu'il est enfoncé en même temps que le bouton) et des paramètres système. C'est ce qui permet de varier la disposition du clavier (c'est-à-dire l'ordre des touches dessus).

Toutes les conversions de scan-code en ASCII sont effectuées outils logiciels. En règle générale, ces fonctions sont prises en charge par les modules BIOS correspondants. Pour encoder les caractères cyrilliques, ces modules sont étendus par des pilotes de clavier (ils sont désormais inclus dans les systèmes d'exploitation).

Le diagramme (Fig. 3) explique le fonctionnement du contrôleur de clavier.

Générateur d'horloge G ; compteur MF ; C est un sélecteur.

Fig.3. La structure de clavier la plus simple

Le décodeur interroge séquentiellement l'état des touches situées dans les colonnes X de la matrice clavier. Si une touche est enfoncée, le signal via un contact fermé va au bus horizontal correspondant Y et via le sélecteur (registre) va à l'entrée du PLA (ROM). Les signaux issus du décodeur et du sélecteur forment l'entrée d'adresse du PLM (ROM), dans les cellules desquelles sont enregistrés les codes de caractères (leurs chiffres les moins significatifs). Le code de caractère est écrit dans le registre de sortie. Les chiffres supérieurs du code sont déterminés par le contenu d'un registre spécial qui ne change de valeur que lorsque la touche de changement de registre est enfoncée (Shift, Alt, etc.).

Souris

Une souris est un manipulateur analogique bidimensionnel connecté à un ordinateur personnel et équipé d'un, deux ou trois boutons sur le capot supérieur et, éventuellement, d'une molette.

La souris fonctionne avec l'écran, contrôlant le mouvement du curseur (pointeur) sur celui-ci. Les plus populaires sont les souris à deux boutons. Par exemple, un bouton peut être utilisé pour démarrer une fonction et l'autre pour l'annuler. Sur les systèmes graphiques, l'un peut activer le surligneur et l'autre peut le désactiver. Il y a des souris avec appareils supplémentaires pour le défilement (le défilement consiste à faire défiler vers le haut, le bas, la gauche ou la droite d'une grande image, telle qu'un texte (ou une page WEB), qui ne tient pas entièrement sur l'écran). Il existe des souris à deux roues, chacune d'elles "gère" le défilement selon l'un des axes. Certaines souris sont équipées d'un bouton supplémentaire sur le côté du boîtier sous le pouce. Ce bouton peut être reprogrammé pour effectuer diverses actions. Les premières souris avaient une conception mécanique. Il utilisait une petite boule qui dépassait à travers la surface inférieure de l'appareil et tournait lorsqu'elle se déplaçait sur la surface. Les mouvements mécaniques (linéaires ou angulaires) sont convertis en codes binaires. Par exemple, mécanique souris(fig.4) contient une bille qui tourne lorsque l'appareil est déplacé sur une surface plane.

Dans ce schéma :

1. Contrôle du ballon

2. Fenêtre pour placer la balle

3. Un rouleau de contact qui déplace le curseur le long des axes x et y sur l'écran du moniteur.

4. Source lumineuse directionnelle.

5. Disque pas à pas

6. Photocellule

7. Impulsions électriques à la sortie de la photocellule.

8. Boutons de commande

9. Unité de contrôle des manipulateurs et bloc de connexions entre le manipulateur et l'ordinateur.

Principe d'opération.

Lorsque vous déplacez la souris sur une surface horizontale, la boule de commande tourne et transfère la rotation à l'un des rouleaux de contact de l'axe x ou y. Avec les rouleaux, le disque de pas tourne. Lorsqu'il est tourné, il bloque l'accès du flux lumineux à la photocellule (photodiode, phototransistor ou photorésistance). Ce mode crée un groupe d'impulsions électriques à la sortie de la photocellule, qui sont transmises à l'unité de commande du manipulateur. Ainsi, la rotation de la bille est convertie en angles de rotation du disque pas à pas le long des axes X Et Oui et enregistré par deux compteurs. La distance parcourue par la souris étant proportionnelle à ces angles, les codes compteurs déterminent la position de la souris sur la surface. Les mêmes codes, transférés au processeur, contrôlent la position du marqueur sur l'écran du moniteur.

En plus des compteurs, la souris contient des boutons dont les informations sont également incluses dans le code transmis au processeur.

Les inconvénients des souris mécaniques incluent le fait que leur travail nécessite de l'espace (généralement, il n'y a toujours pas assez d'espace sur les ordinateurs de bureau). De plus, les pièces mécaniques cassent souvent. Les souris ont tendance à ramasser la saleté, ce qui entraîne une diminution de la fiabilité de leur fonctionnement. Par conséquent, cet appareil doit être nettoyé périodiquement, bien qu'il semble fonctionner sur une surface de table propre. Le bon marché et la simplicité des souris mécaniques en ont fait les appareils les plus courants.

Une alternative à une souris mécanique est une souris optique.

En moderne souris optique un principe complètement différent est utilisé (Fig. 5).

Dans ce schéma :

1. Tableaux de surface.

2. Corps du manipulateur.

3.4. Boutons de contrôle.

5. Source lumineuse monochrome directionnelle.

6. Fenêtre dans le corps du manipulateur pour éclairer la surface de la table.

Principe d'opération.

Une souris optique utilise une caméra vidéo miniature pour balayer la surface à 1500 coups par seconde. Une LED est utilisée pour éclairer la surface. Les trames de la surface de la table converties en code binaire sont enregistrées dans la mémoire du manipulateur.

Le processeur sélectionne séquentiellement les trames de la mémoire, les compare les unes aux autres et, sur la base de la comparaison, calcule l'itinéraire pour déplacer le curseur sur l'écran du moniteur le long des axes x et y. Le processeur surveille également le signal provenant des boutons de commande. Toutes les données sont transférées au PC via l'unité de communication.

L'absence de pièces mobiles et une grande précision sont les avantages de cette méthode.

La qualité d'une souris est déterminée par sa résolution, qui est mesurée par le nombre de points ou de lectures par pouce (1 pouce = 25,4 mm). Si la souris a une résolution de 1000 échantillons/pouce et se déplace d'un pouce, alors le circuit électronique génère 1000 impulsions (la résolution habituelle d'une souris optique est d'environ 400 échantillons/pouce). Le pilote de la souris, ayant reçu cette information, la moyenne en fonction de la résolution graphique du moniteur et positionne en conséquence le curseur sur son écran.

Clavier- dispositif de commande à clavier pour un ordinateur personnel. Utilisé pour entrer des données alphanumériques (caractères), ainsi que des commandes de contrôle. La combinaison du moniteur et du clavier fournit le plus simple interface utilisateur. Le clavier contrôle le système informatique et le moniteur en reçoit un retour.

Existe trois types principaux mécanisme clé : membrane, semi-mécanique Et mécanique. Les claviers à membrane sont généralement plusieurs fois moins chers que les claviers mécaniques.

Claviers à membrane

Le nom vient du fait que lorsqu'une touche est enfoncée, deux membranes sont fermées. Le retour de la clé s'effectue par un dôme en caoutchouc (avec une "mine" au centre). Un film intermédiaire troué sert à séparer les membranes.

Étant donné que les membranes sont situées sur les côtés intérieurs des films, la conception est bien protégée, par exemple, du café renversé.

Dans une implémentation plus sécurisée, tout ressemble à un seul tapis en caoutchouc avec des dômes saillants situés sous les touches.

Avantages les touches à membrane sont sécurité, faible bruit Et prix.

Moins de ce type - fragilité.

Claviers semi-mécaniques

Ces claviers utilisent des contacts métalliques plus durables et anti-frottements. Tout cela est placé sur le circuit imprimé. La clé est renvoyée par un dôme en caoutchouc.

Claviers mécaniques

En mécanique claviers, la touche est rappelée par un ressort.

Les claviers mécaniques n'ont pas besoin d'un "tout en bas" pour enregistrer un signal, donc la force pour déplacer la touche hors de sa place est la seule force que vous devez appliquer pour enregistrer le signal. Il n'est plus nécessaire d'appuyer sur une touche sur le cadre du clavier.

Les moins un tel mécanisme : manque d'étanchéité, prix.

plus est durabilité Et fiabilité, surtout lorsque les contacts sont plaqués or.

Durabilité (nombre de clics à partir desquels un contact fiable est assuré) :

pour les claviers à membrane : 10-30 millions ;

pour les mécaniques (semi-mécaniques) : 50 millions et même 100 millions pour les contacts plaqués or.

Pour un utilisateur moyen, 20 millions dureront 10 ans ou plus en fonctionnement normal. Pendant ce temps, au moins 2 générations de claviers vont changer.

Principe de fonctionnement.

Les fonctions de base du clavier ne nécessitent pas de pilote.

Le logiciel nécessaire pour démarrer avec l'ordinateur se trouve déjà sur la puce ROM (mémoire en lecture seule) du système d'entrée/sortie de base (BIOS), de sorte que l'ordinateur répond aux frappes dès qu'il est allumé.

Le contrôleur du processeur scanne les interrupteurs à clé et lorsque vous appuyez sur une touche, un code de balayage unique d'un octet est transmis. Lorsque le code de balayage entre dans le processeur, une interruption matérielle est déclenchée. Le code de balayage est analysé par le processeur et converti en un code de caractère. Le code de caractère résultant est ensuite placé dans une petite zone de mémoire appelée tampon du clavier. Le caractère saisi est stocké dans la mémoire tampon du clavier jusqu'à ce qu'il en soit extrait par le programme auquel il était destiné, par exemple un éditeur de texte ou un traitement de texte. Si les caractères entrent dans le tampon plus souvent qu'ils n'en sortent, l'effet de débordement du tampon se produit. Dans ce cas, la saisie de nouveaux caractères s'arrête un instant. En pratique, à ce stade, lorsque nous appuyons sur une touche, nous entendons un son d'avertissement et n'observons pas la saisie des données.

Chaque touche se voit attribuer un code numérique unique et il existe des tables de codage de clavier spéciales, en règle générale, elles sont enregistrées dans une puce spéciale - le générateur de caractères du processeur. Pour changer l'encodage du clavier, utilisez programmes spéciaux- pilotes de clavier. Les claviers modernes sont capables non seulement de transmettre des données au processeur, mais également de recevoir des commandes de celui-ci.

Composition au clavier.

TOUCHES ALPHA-NUMÉRIQUES

Conçu pour saisir des informations symboliques et des commandes tapées par lettre. Chaque touche peut fonctionner dans plusieurs modes (registres) et, par conséquent, peut être utilisée pour saisir plusieurs caractères.

LES TOUCHES DE FONCTION (F1- F12)

Les fonctions attribuées à ces touches dépendent des propriétés du programme particulier en cours d'exécution et, dans certains cas, des propriétés du système d'exploitation. F1 affiche le système d'aide, où vous pouvez trouver de l'aide sur le fonctionnement des autres touches.

CLÉS DE SERVICES

CHANGEMENT; ENTRER; ALT ; CTRL ; LANGUETTE; ESC; RETOUR ARRIÈRE ;

CAPTURE D'ÉCRAN- imprimer l'état actuel de l'écran sur l'imprimante (pour MS-DOS) ou l'enregistrer dans une zone spéciale mémoire vive, appelé presse-papiers (pour Windows).

VERROUILLAGE DU DÉFILEMENT- changer le mode de fonctionnement de certains programmes (généralement obsolètes).

PAUSE– suspension/interruption du processus en cours.

CONTRÔLE DU CURSEUR

Le curseur- un élément d'écran indiquant l'endroit où saisir les informations de signe, utilisé lorsque vous travaillez avec des programmes qui saisissent des données et des commandes à partir du clavier. Les touches du curseur vous permettent de contrôler la position d'entrée.

HAUT BAS GAUCHE DROITE

MAISON Et FIN déplacer le curseur au début ou à la fin de la ligne actuelle, respectivement. Leur action est également modifiée par les clés de registre.

INSÉRER bascule le mode d'entrée de données (commutation entre les modes d'insertion et d'écrasement). Si le curseur de texte se trouve à l'intérieur du texte existant, alors en mode insertion, de nouveaux caractères sont saisis sans remplacer les caractères existants (le texte semble être écarté). En mode remplacement, de nouveaux caractères remplacent le texte qui était précédemment en position de saisie.

SUPPRIMER est conçu pour supprimer les caractères situés à droite de la position actuelle du curseur. La position de la position d'entrée reste inchangée.

PANNEAU SUPPLÉMENTAIRE

duplique l'action des touches numériques et de certaines touches symboliques du panneau principal.

Configuration du clavier.

Les claviers d'ordinateurs personnels ont une fonction de répétition de caractères qui est utilisée pour automatiser le processus de saisie. Elle consiste dans le fait que lorsque la clé est maintenue longtemps enfoncée, la saisie automatique du code qui lui est associé commence.

Clavier - un dispositif de contrôle du clavier pour un ordinateur personnel. Sert d'entrée alphanumérique (signe) données et commandes de contrôle. La combinaison du moniteur et du clavier fournit le plus simple interface utilisateur. AVEC utiliser le clavier pour contrôler le système informatique et, à l'aide du moniteur, recevoir une réponse de celui-ci.

Principe de fonctionnement. Le clavier appartient à signifie standard ordinateur personnel. Ses fonctions principales n'ont pas besoin d'être prises en charge par des programmes système spéciaux (pilotes). Le logiciel nécessaire pour commencer à travailler avec un ordinateur est déjà disponible dans la puce ROM dans le cadre du système d'E / S de base (BIOS) et donc l'ordinateur répond aux frappes immédiatement après avoir été allumé. Le principe de fonctionnement du clavier est le suivant.

10) Lorsque vous appuyez sur une touche (ou une combinaison de touches), un microcircuit spécial intégré au clavier émet ce que l'on appelle scanner le code.

11) Le code de balayage entre dans le microcircuit qui remplit les fonctions port claviers. (Les ports sont des périphériques logiques matériels spéciaux responsables de la communication du processeur avec d'autres périphériques.) Ce microcircuit est situé sur la carte principale de l'ordinateur à l'intérieur de l'unité centrale.

12) Le port clavier envoie une interruption au processeur ( Interrompre- arrêt temporaire de l'exécution d'un programme afin d'en exécuter rapidement un autre, actuellement plus important (programme prioritaire) avec un numéro fixe. Pour le numéro d'interruption du clavier - 9 (Interruption 9, Int9).

13) Après avoir reçu une interruption, le processeur reporte le travail en cours et, selon le numéro d'interruption, accède à une zone spéciale de RAM, dans laquelle le soi-disant vecteur d'interruption. Le vecteur d'interruption est une liste de données d'adresse avec une longueur d'enregistrement fixe. Chaque entrée contient l'adresse du programme qui doit traiter le numéro d'interruption qui correspond au numéro d'entrée.

14) Après avoir déterminé l'adresse du début du programme qui traite l'interruption, le processeur procède à son exécution. Le programme le plus simple le traitement des interruptions du clavier est "câblé" dans la puce ROM, mais les programmeurs peuvent "substituer" leur programme à la place s'ils modifient les données dans le vecteur d'interruption.

15) Le programme gestionnaire d'interruption dirige le processeur vers le port clavier, où il trouve le code de balayage, le charge dans ses registres, puis, sous le contrôle du gestionnaire, détermine quel code de caractère correspond à ce code de balayage.

17) Le processeur arrête de traiter l'interruption et retourne à la tâche en attente.

Le caractère saisi est stocké dans la mémoire tampon du clavier jusqu'à ce qu'il en soit extrait par le programme auquel il était destiné, par exemple un éditeur de texte ou un traitement de texte. Si les caractères entrent dans le tampon plus souvent qu'ils n'en sortent, l'effet de débordement du tampon se produit. Dans ce cas, la saisie de nouveaux caractères s'arrête un instant. En pratique, à ce stade, lorsque nous appuyons sur une touche, nous entendons un son d'avertissement et n'observons pas la saisie des données.

Avec la souris ou le pavé tactile, le clavier est le principal périphérique d'entrée pour l'utilisateur.

Les claviers modernes, également appelés claviers PC/AT, ont 101 touches, bien que certains modèles, en particulier ceux conçus pour être utilisés dans les ordinateurs portables, puissent avoir des touches manquantes.

La disposition des touches du clavier s'appelle la disposition du clavier. Pour chaque langue, la disposition du clavier est légèrement différente, mais les principaux blocs de touches sont toujours les mêmes.

Ainsi, tout clavier contient des touches de fonction, des touches alphanumériques, des touches du pavé numérique, des touches de curseur et diverses touches de service et de contrôle. Examinons-les plus en détail et découvrons en même temps où ils sont placés sur le clavier.

Les touches de fonction sont les touches F1 à F12. Ils sont situés dans une rangée horizontale en haut du clavier. Ils permettent d'appeler rapidement certaines fonctions de l'application en cours. Selon l'application, leur objectif peut complètement changer.

Les touches alphanumériques sont situées sous les touches de fonction et occupent 4 rangées horizontales dans les parties gauche et centrale du clavier. Ces touches sont utilisées pour saisir du texte, des caractères de texte et des chiffres. C'est ce bloc qui change en fonction de la langue dans laquelle ils sont imprimés. Habituellement, ce bloc contient les clés de l'anglais et des langues nationales (pour notre pays - mises en page anglaise et russe, parfois aussi ukrainienne).

Les touches numériques dupliquent les touches numériques et certaines commandes. Ceci est fait pour un travail plus pratique avec des calculs. Le bloc de ces touches est situé à l'extrême droite du clavier. Un certain nombre d'ordinateurs portables n'ont pas ce bloc pour économiser de l'espace.

Les touches du curseur sont utilisées pour déplacer le curseur à une position donnée. Ce sont les touches Accueil, Fin, flèches et autres. Ils sont situés entre le bloc alphanumérique et le pavé numérique.

Les touches de service et de contrôle sont des touches qui contrôlent les modes de saisie de texte et diverses fonctions du système d'exploitation. Ils sont situés dans les coins inférieurs du bloc numérique (touches Alt, Maj, Windows), dans la colonne de gauche du bloc numérique (Verr Maj, Tab), près des touches de fonction et des touches de curseur.

L'appareil et le principe de fonctionnement du clavier

Si nous imaginons le clavier comme un treillis, les touches seront situées à l'intersection des barres verticales et horizontales.

Cela fonctionne comme suit. Les lignes horizontales sont alimentées. S'il n'y a pas d'appui, les lignes horizontales et verticales ne se ferment pas et il y aura un signal d'unité logique sur les lignes horizontales (il y a de la tension sur les lignes). Sur les lignes verticales, un zéro logique sera alternativement appliqué.

Les lignes horizontales sont interrogées une à une. Si la touche est enfoncée, elle fermera les lignes verticales et horizontales et la ligne horizontale sera réglée sur le signal zéro logique reçu de la ligne verticale.

En sachant à quelle ligne verticale le zéro a été appliqué et quelle ligne horizontale au lieu d'une a donné un signal zéro, vous pouvez déterminer avec précision la touche enfoncée.

C'est le contrôleur du clavier. Il attribue un code dit de balayage au signal reçu. Après cela, il donne au processeur central une demande d'interruption et lui envoie le code de balayage de la touche enfoncée.

Le clavier possède également son propre tampon pour stocker le code de balayage des touches enfoncées. Il est destiné aux cas où plusieurs touches sont enfoncées en même temps. Avec un tampon, le processeur gère ces frappes ou combinaisons de touches enfoncées simultanément.

Il y a une petite nuance dans le code de la clé. Le code de numérisation transmis au processeur n'est pas la même lettre que celle imprimée sur la clé. C'est juste le numéro de la touche qui a été enfoncée. La valeur de la clé elle-même est déterminée par le code ASCII de la clé. Une même clé peut correspondre à plusieurs valeurs dans ce code. La conversion du code de balayage en code ASCII est effectuée par le logiciel BIOS et le pilote du clavier.

clavier d'ordinateur portable

Dans un ordinateur portable, comme dans ordinateur personnel, il y a un clavier, mais du fait que l'ordinateur portable est un produit monobloc, le clavier qu'il contient a une plus grande valeur que dans un PC ordinaire.

En raison de la petite taille de l'ordinateur portable, son clavier a ses propres caractéristiques.
Afin de ne pas dépasser du bloc clavier et de ne pas rayer l'écran, les touches de l'ordinateur portable sont beaucoup plus fines que d'habitude et disposent d'un dispositif fin spécial pour assurer une courte course des touches.

Pour réduire la surface du clavier lui-même, les fabricants réduisent la taille des touches. De plus, certains modèles peuvent ne pas avoir de pavé numérique sur le côté droit du clavier. Certaines touches sont placées dans un groupe compact, en particulier les touches de curseur et les touches de service.

Pour fournir certaines actions spécifiques conçues pour fonctionner avec des composants d'ordinateur portable, des fonctions supplémentaires sont introduites sur les touches et de nouvelles combinaisons de touches spécifiques à un modèle particulier.
Ces fonctionnalités ont leurs avantages et leurs inconvénients.

Le plus est la course des touches douces, leur fonctionnement presque silencieux, des sensations tactiles agréables.
L'inconvénient est l'absence de bloc numérique dans certains modèles, la disposition non standard, la petite taille de certaines touches.

En outre, un inconvénient par rapport à un clavier d'ordinateur est le problème du remplacement et. Un clavier d'ordinateur est peu coûteux et facile à changer. Son démontage, son nettoyage et sa réparation sont beaucoup plus faciles et beaucoup moins chers qu'un travail similaire avec un clavier d'ordinateur portable.
Alors, considérez les principaux problèmes et pannes du clavier de l'ordinateur portable et comment les résoudre.

Dysfonctionnements et réparations du clavier d'ordinateur portable

Comme pour tout appareil, il existe deux principaux types de pannes : les pannes dues à la faute de l'utilisateur de l'ordinateur portable et les pannes matérielles.

Les pannes dues à la faute de l'utilisateur sont les plus fréquentes pour cet appareil.

La cause la plus fréquente est le liquide renversé sur le clavier. Pour éviter que cela ne se produise, ne placez pas de liquides près de l'ordinateur portable et ne buvez rien en étant assis dessus. Si le problème est déjà survenu, récupérez soigneusement le liquide du clavier avec du coton et des serviettes et apportez-le au centre de service. Il est également recommandé de retirer la batterie de l'ordinateur portable. Il ne faut pas oublier que plus tôt vous contactez le centre de service, plus il est probable que le liquide n'aura pas le temps de pénétrer à l'intérieur de l'ordinateur portable. Lors du démontage par vous-même ou par une personne non qualifiée, du liquide peut pénétrer à l'intérieur du boîtier et entraîner des dommages beaucoup plus graves et coûteux.

De plus, le clavier peut souffrir de coups violents sur les touches. En conséquence, certaines clés se cassent ou s'envolent avec le temps. Si vous avez des clés appropriées, vous pouvez les remplacer vous-même, mais si elles ne sont pas là ou si le mécanisme de pression lui-même est cassé, il est préférable de le donner à un centre de service. La prévention de ce dysfonctionnement est une manipulation soigneuse des clés.

Parfois, les touches sont mal enfoncées, collantes ou même cessent d'être enfoncées. Cela est dû au fait que lorsque vous mangez au clavier, celui-ci se bouche avec le temps. Les touches cessent d'appuyer ou sont difficiles à appuyer en raison de débris sous elles. Parfois, le clavier est obstrué par la poussière. Dans le cas d'un clavier ordinaire, il est facile à nettoyer, mais le clavier de l'ordinateur portable utilise ses propres supports de clavier. Lors du démontage, vous pouvez endommager le câble qui y va ou casser les clés. Par conséquent, cela ne ferait pas de mal de donner régulièrement le clavier pour le nettoyage à un centre de service afin d'éviter ce problème. Vous pouvez combiner cette procédure avec le nettoyage de l'ordinateur portable de la poussière dans un centre de service.

Les défaillances matérielles incluent des dommages aux contacts de boucle, des dommages à la boucle elle-même, une défaillance du contrôleur de clavier, de la carte du clavier et autres. Il est recommandé d'effectuer tous les dysfonctionnements matériels dans un centre de service. Il s'agit d'une réparation subtile qui ne peut être effectuée sans expérience et sans le bon équipement.

Il convient également de garder à l'esprit que dans certains cas, la réparation du matériel peut être plus coûteuse que le remplacement du clavier par un nouveau. Après le diagnostic, il ne sera pas superflu de comparer le prix des réparations et le prix d'un clavier neuf. Il est préférable de confier le remplacement à des spécialistes, car un certain modèle d'ordinateur portable a son propre type de fixation de clavier et son propre modèle, qui ne peuvent être sélectionnés et installés que dans.

Conférence 6

Clavier : périphérique d'entrée périphérique

Type de clavier :

Claviers simples avec un jeu de touches standard (alphabétique, numérique, fonction, etc.)

DANSclaviers multimédia en plus des touches standard, des touches multimédias ont été ajoutées. Ces claviers facilitent le travail avec le multimédia

Claviers de jeu conçu pour être utilisé dans les jeux.

De plus, lors du choix d'un clavier, vous pouvez faire attention à ses paramètres techniques. Parmi ces paramètres figure le mécanisme des touches du clavier.

Il existe trois types principaux : membrane, mécanique et semi-mécanique.

DANS clavier à membrane - un clavier électronique sans pièces mobiles mécaniques séparées, réalisé sous la forme d'une surface plane, généralement flexible, avec un motif de touches imprimé dessus. Les claviers de ce type se caractérisent par un coût très bas, une compacité exceptionnelle (l'épaisseur est de quelques fractions de millimètre), une capacité de flexion, une grande fiabilité et une protection presque parfaite contre la saleté et l'humidité. Le principal inconvénient est l'absence presque totale de retour tactile, ce qui rend difficile la saisie précise et aveugle. Pour compenser cette lacune, les claviers à membrane ont généralement une confirmation sonore de la pression des touches. De plus, la charge sur les membranes n'est pas "dosée" par le système "poussoir-capuchon" (voir ci-dessous), mais est déterminée uniquement par les doigts de l'opérateur, ce qui réduit considérablement la durée de vie des membranes.

Dans les années 1980, les claviers à membrane étaient utilisés dans certains ordinateurs domestiques de la gamme de prix inférieure. Actuellement, ils continuent d'être utilisés dans les appareils électroménagers (par exemple, dans four à micro-ondes), équipements spécialisés et industriels. Les claviers d'ordinateur modernes utilisent une technologie combinée de claviers à membrane, en caoutchouc et mécaniques, où une pression sur une touche en plastique pousse à travers le capuchon en caoutchouc, fournissant un retour tactile et appuie sur la membrane. Principe d'opération.

Le clavier à membrane se compose généralement de trois couches. Des pistes conductrices sont appliquées sur deux d'entre elles. La troisième couche isolante se sépare. Aux endroits où se trouvent les touches, il a des découpes, permettant aux pistes des couches supérieure et inférieure de se toucher lorsqu'elles sont enfoncées. L'épaisseur des couches du clavier n'est généralement pas supérieure à l'épaisseur du papier ou du carton.

DANSclaviers mécaniques des ressorts métalliques sont utilisés pour retourner les clés. Les circuits clavier de ce type sont peu protégés de la poussière et de l'humidité. La longévité est un avantage majeur des claviers mécaniques.

Claviers semi-mécaniques il s'agit d'un croisement entre membrane et mécanique, où une carte de circuit imprimé est utilisée à la place de la membrane inférieure. Cette conception est considérée comme plus durable. La clé revient à sa position d'origine également avec un dôme en caoutchouc. Parfois avec un petit ressort. Dans ce cas, une course plus douce est fournie tout au long du pressage. Mais la technologie à ressort a un effet spécifique : la touche est actionnée même avec un appui partiel, tandis que le concept de membrane permet de changer d'avis en cours d'appui. Ceci est important pour l'impression à grande vitesse. Le prix de tels appareils est plus élevé que pour ceux à membrane, mais outre le fait qu'ils ont une certaine protection contre la pollution, ces claviers vous dureront plus longtemps.

Laser claviers

Il se compose d'un petit boîtier de projecteur qui vous permet d'afficher l'image du clavier sur n'importe quelle surface plane. Les données sont transmises par voie hertzienne (sans fil). Vous pouvez régler la luminosité, le son des touches de frappe, la sensibilité. Certes, cela ne garantit pas une reconnaissance à 100% de vos mouvements, et en plus, les yeux sont douloureux à cause de la lumière vive. Il y a un autre inconvénient : le clavier n'est pas visible en pleine lumière. Eh bien, le coût de ce gadget n'est en aucun cas minime.

DANS claviers sans fil Il existe trois principaux types de connexion, à savoir la connexion Bluetooth, la connexion infrarouge et la connexion RF.

Les claviers dotés d'une connexion RF sont alimentés par une batterie ou via un câble USB qui sert à recharger le clavier. Les claviers avec connexion infrarouge doivent être à portée de l'appareil récepteur. Les claviers avec connexion RF ont une plus grande portée que les claviers avec connexion infrarouge. Les claviers Bluetooth utilisent la technologie Bluetooth pour offrir une plus grande portée que les claviers RF et infrarouges. Les claviers avec connexion RF offrent plus de portabilité que les claviers avec connexion Bluetooth et infrarouge.

Claviers filaires

PS/2 et USB sont deux types de connexions filaires qui relient les claviers aux ordinateurs.

Le port PS/2 est apparu pour la première fois dans sur les ordinateurs (avant cela, il servait à brancher le clavier . Taux de transfert de données - de 80 à 300 Kb / s et dépend des performances de l'appareil et du logiciel connectés .

Sur les six broches du connecteur, quatre sont utilisées : fréquence, données, alimentation, commun. Dans le même temps, les contacts utilisés pour le bus de données et la fréquence pour le clavier peuvent différer des contacts pour connecter la souris. Cela vous permet d'utiliser les deux appareils à la fois, mais via un séparateur.

Quelques peut fonctionner correctement si la souris et le clavier sont "incorrectement" connectés (c'est-à-dire lorsque le clavier est connecté au connecteur destiné à la souris et, inversement, la souris est connectée au connecteur du clavier) - cela est dû au fait que chaque connecteur est universel. La majorité cartes mères s'il est mal connecté (ou déconnecté pendant le fonctionnement), l'utilisateur devra connecter "correctement" les appareils et parfois .

Selon le type d'étui clavier, ils sont divisés en:

Traditionnel (standard)– claviers AT conventionnels;

Ergonomique. Les conceptions de clavier de ce type tiennent compte de la position naturelle des mains lors de la frappe (dans de telles conceptions, le clavier était réfracté au centre, les touches étaient perpendiculaires à la position naturelle des mains lors de la frappe). Un clavier ergonomique peut améliorer la productivité et éviter les dangers de certaines maladies chroniques.

Flexible.- Le clavier est fait de caoutchouc de silicone hautement élastique non toxique et ressemble à une sorte de tapis avec des protubérances de différentes formes. Les lettres et les symboles ne s'effacent pas avec le temps lorsqu'ils sont appliqués au verso du film extérieur. Le film extérieur peut être mat ou brillant. Le principal avantage de ces claviers est la facilité de transport - ils ne pèsent qu'environ 350 grammes et se plient facilement en un rouleau compact. Ils sont bien protégés de la saleté (étanches), faciles à nettoyer et résistent relativement bien aux chocs. Ils sont silencieux et, dans certaines implémentations, ont des touches rétroéclairées.

Mais il y a aussi des inconvénients : pour appuyer sur une touche, il faut fournir un peu plus d'effort que sur un clavier classique. Le pressage doit tomber strictement au centre.

Le programme peut utiliser le clavier de différentes manières. Il peut retarder son exécution jusqu'à ce que l'opérateur entre un chiffre ou jusqu'à ce qu'une touche soit enfoncée. Tout en effectuant un travail, le programme peut vérifier périodiquement si l'opérateur a appuyé sur une touche qui change le mode du programme. Les programmes résidents peuvent contrôler toutes les frappes, s'activant lorsqu'une combinaison prédéterminée est pressée. Vous pouvez utiliser l'interruption générée par le clavier, par exemple, pour terminer le programme.

Comment fonctionne le clavier

Qu'y a-t-il à l'intérieur du clavier ? Il s'avère qu'il y a un ordinateur là-bas! Seul cet ordinateur est constitué d'un seul microcircuit et exécute des fonctions spécialisées. Il suit les frappes et envoie le numéro de la touche enfoncée à l'ordinateur central.

Le clavier est un ensemble de capteurs qui perçoivent la pression sur les touches et ferment un certain circuit électrique. Pendant longtemps, des claviers avec des capteurs mécaniques ont été produits. Les claviers modernes sont de type à membrane. L'interrupteur est un ensemble de membranes: active - supérieure, passive - inférieure, séparante.

À l'intérieur du boîtier du clavier, en plus des capteurs, se trouvent des cartes de décodage de signal électronique.

L'échange de données entre le clavier et la carte système s'effectue par blocs de 11 bits (8 bits plus les informations de service) via un câble à 2 fils (signal et masse).

Le principe du clavier est de scanner les interrupteurs à clé. La fermeture et l'ouverture de l'un des interrupteurs correspond à un code numérique unique (code de balayage) de 1 octet.

Le clavier est connecté à la carte système à l'aide d'un connecteur DIN ou mini-DIN.

Sur la carte système, un microcircuit spécial effectue la réception et le traitement des signaux du clavier -contrôleur de clavier.

Si nous considérons un schéma très simplifié du clavier, nous pouvons voir que toutes les touches sont situées dans les nœuds de la matrice :

Toutes les lignes horizontales de la matrice sont connectées via des résistances à une alimentation +5 V. L'ordinateur à clavier a deux ports - sortie et entrée. Le port d'entrée est connecté aux lignes horizontales de la matrice (X0-X4) et le port de sortie est connecté aux lignes verticales (Y0-Y5).

En fixant tour à tour sur chacune des lignes verticales le niveau de tension correspondant au 0 logique, l'ordinateur à clavier interroge l'état des lignes horizontales. Si aucune touche n'est enfoncée, le niveau de tension sur toutes les lignes horizontales correspond au 1 logique (car toutes ces lignes sont reliées à l'alimentation +5 V par l'intermédiaire de résistances).

Si l'opérateur appuie sur une touche, les lignes verticales et horizontales correspondantes seront fermées. Lorsque le processeur définit la valeur du 0 logique sur cette ligne verticale, le niveau de tension sur la ligne horizontale correspondra également au 0 logique.

Dès que le niveau de 0 logique apparaît sur l'une des lignes horizontales, le processeur du clavier fixe la frappe. Il envoie une demande d'interruption et un numéro de clé dans la matrice à l'ordinateur central. Des actions similaires sont effectuées lorsque l'opérateur relâche la touche précédemment enfoncée.

Le numéro de touche envoyé par le processeur de clavier est uniquement lié à la disposition de la matrice du clavier et ne dépend pas directement des désignations imprimées sur la surface des touches. Ce numéro s'appelle un Scan Code.

Le mot "scan" fait référence au fait que l'ordinateur du clavier scanne le clavier pour trouver la touche qui a été enfoncée.

Mais le programme n'a pas besoin du numéro de série de la touche pressée, mais du code ASCII correspondant à la désignation sur cette touche. Ce code ne dépend pas uniquement du code de scan, car La même clé peut avoir plusieurs valeurs de code ASCII. Cela dépend de l'état des autres clés. Par exemple, la touche étiquetée "1" est également utilisée pour saisir le caractère "!" (si elle est pressée en même temps que la touche SHIFT).

Par conséquent, toutes les conversions du code de numérisation en code ASCII sont effectuées logiciel. Généralement, ces conversions sont effectuées par des modules BIOS. Pour utiliser les caractères cyrilliques, ces modules sont étendus par des pilotes de clavier.

Si vous appuyez sur la touche sans la relâcher, le clavier passera en mode de répétition automatique. Dans ce mode, le code de la touche enfoncée est automatiquement envoyé à l'ordinateur central après un certain laps de temps, appelé période d'auto-répétition. Le mode de répétition automatique facilite la saisie d'un grand nombre de caractères identiques à partir du clavier.

Il convient de noter que le clavier contient un tampon interne de 16 octets à travers lequel il communique avec l'ordinateur.

Pile de pilotes pour les périphériques d'entrée du système

Les pilotes de clavier, quels que soient les schémas de câblage physique, utilisent des pilotes de classe de clavier système pour gérer les opérations indépendantes du matériel. Les données du conducteur sont appeléespilotes de classe , car ils fournissent les exigences pour une classe spécifique de périphériques requis par le système, mais ne dépendent pas de l'implémentation matérielle.

Correspondantpilote fonctionnel (pilote de port) implémente la prise en charge des E/S spécifiques au périphérique. Le système d'exploitation Windows pour les plates-formes x86 implémente un clavier système unique (i8042) et un pilote de souris.

Pile de pilotes de clavier Plug and Play PS/2

La pile de pilotes contient (de haut en bas) :

    Kbdclass - pilote de filtre de classe de clavier de niveau supérieur ;

    pilote de filtre de classe de clavier de niveau supérieur en option ;

    i8042prt - pilote de clavier fonctionnel ;

    pilote racine du bus.

Sous Windows 2000 et versions antérieures, le pilote de la classe du clavier est lekbdclass , dont les missions principales sont :

    fournir des opérations de classe d'appareil générales et indépendantes de l'appareil ;

    soutien brancher et utiliser,

    exécution simultanée d'opérations par plus d'un appareil ;

    une implémentation de la routine de rappel de service de classe qui est appelée par le pilote de fonction pour transmettre des données du tampon d'entrée du périphérique au tampon de données du pilote de classe de périphérique.

Sous Windows 2000 et versions ultérieures, le pilote fonctionnel pour les périphériques d'entrée utilisant le port PS/2 (claviers et souris) est lei8042prt , dont les fonctions principales sont les suivantes :

    fournir des opérations simultanées dépendantes du matériel des périphériques d'entrée PS / 2 (les claviers et les souris partagent des ports d'entrée-sortie communs, mais utilisent des interruptions, des routines de gestion des interruptions (ISR) et des routines d'achèvement de gestion des interruptions différentes);

    soutien brancher et utiliser, prise en charge de la gestion de l'alimentation et Instrumentation de gestion Windows (WMI);

    prise en charge des opérations pour les appareils hérités ;

    appeler la routine de rappel du service de classe pour les classes clavier et souris afin de transférer les données du tampon de données d'entrée i8042prt vers le tampon de données du pilote de classe ;

    appeler un ensemble de fonctions de rappel pouvant implémenter des pilotes de filtre de haut niveau pour un contrôle flexible des périphériques.

En général, la pile de périphériques (il est plus correct de parler de pile d'objets périphériques) d'un clavier PS/2 se compose de :

    objet de périphérique de clavier physique (PDO) créé par le pilote de bus (dans ce cas, Bus PCI) – \Appareil\00000066 ;

    objet fonctionnel de périphérique clavier (FDO) créé et attaché à PDO par le pilote i8042prt - objet sans nom ;

    objets de filtre de périphérique de clavier facultatifs créés par des pilotes de filtre de clavier tiers ;

    objet de filtre de périphérique de niveau supérieur de la classe de clavier créée par le pilote de classe Kbdclass - \Device\KeyboardClass0.

Gestion de la saisie au clavier par les applications

Le sous-système Microsoft Win32 accède au clavier à l'aide du Raw Input Thread (RIT), qui fait partie du processus système csrss.exe. système opérateur crée le RIT et la file d'attente d'entrée matérielle du système (SHIQ) au démarrage.

Le RIT ouvre l'objet périphérique du pilote de classe clavier pour une utilisation exclusive et lui envoie une demande d'E/S (IRP) de type IRP_MJ_READ à l'aide de la fonction ZwReadFile. Lors de la réception d'une demande, le pilote Kbdclass la marque comme en attente, la met en file d'attente et renvoie un code de retour STATUS_PENDING. Le flux d'entrée brut doit attendre la fin de l'IRP, à l'aide d'un appel de procédure asynchrone (APC).

Lorsque l'utilisateur appuie ou relâche l'une des touches, le contrôleur de clavier système génère une interruption matérielle. Son gestionnaire appelle la routine de service d'interruption spéciale IRQ 1 (routine de service d'interruption, ISR), enregistrée dans le système par le pilote i8042prt. Cette procédure lit les données qui sont apparues dans la file d'attente interne du contrôleur de clavier. Le traitement des interruptions matérielles doit être aussi rapide que possible, de sorte que l'ISR met en file d'attente l'appel de procédure différée (DPC) I8042KeyboardIsrDpc et se termine. Dès que cela est possible (IRQL tombe à DISPATCH_LEVEL), DPC sera appelé par le système. À ce stade, la procédure de rappel KeyboardClassServiceCallback enregistrée par le pilote Kbdclass dans le pilote i8042prt sera appelée. Le KeyboardClassServiceCallback récupère la demande IRP en attente de sa file d'attente, remplit le nombre maximum de structures KEYBOARD_INPUT_DATA transportant toutes les informations nécessaires sur la pression/relâchement des touches et termine l'IRP. Le flux d'entrée brut se réveille, traite les informations reçues et envoie à nouveau un IRP de type IRP_MJ_READ au pilote de classe, qui est à nouveau mis en file d'attente jusqu'à la prochaine pression/relâchement de touche. Ainsi, la pile du clavier a toujours au moins un IRP en attente, et il se trouve dans la file d'attente Kbdclass du pilote.

À l'aide de l'utilitaire IrpTracker, développé par la société Open Systems Resources mentionnée précédemment, vous pouvez suivre la séquence d'appels qui se produisent lors du traitement de la saisie au clavier.

Comment RIT traite-t-il les informations entrantes ? Tous les événements de clavier entrants sont placés dans la file d'attente d'entrée matérielle du système, après quoi ils sont convertis séquentiellement en messages windows(de type WM_KEY*, WM_?BUTTON* ou WM_MOUSEMOVE) et placé à la fin de la file d'attente d'entrée virtualisée (VIQ) du thread actif. Dans les messages Windows, les codes de lecture des touches sont remplacés par des codes de touches virtuelles qui ne correspondent pas à l'emplacement de la touche sur le clavier, mais à l'action que la touche effectue. Le mécanisme de conversion de code dépend de la disposition du clavier actif, des pressions simultanées sur les touches (telles que MAJ) et d'autres facteurs.

Lorsqu'un utilisateur se connecte, le processus de l'Explorateur Windows génère un thread qui crée la barre des tâches et le bureau (WinSta0_RIT). Ce fil est lié au RIT. Si l'utilisateur démarre MS Word, le thread qui a créé la fenêtre se connectera immédiatement au RIT. Après cela, le thread appartenant à Explorer est déconnecté du RIT, car un seul thread peut être associé au RIT à la fois. Lorsqu'une touche est enfoncée, l'élément correspondant apparaît dans SHIQ, ce qui provoque le réveil du RIT, convertit l'événement d'entrée matérielle en un message clavier et le place dans le VIQ du fil d'application MS Word.

Tableaux d'état des touches du clavier

L'un des défis de la conception du modèle d'entrée matérielle Windows était de le rendre tolérant aux pannes. La tolérance aux pannes est fournie par le traitement indépendant des entrées par les threads, ce qui empêche un thread d'affecter négativement un autre. Mais cela ne suffit pas pour isoler de manière fiable les threads les uns des autres, de sorte que le système prend en charge un concept supplémentaire - l'état d'entrée local. Chaque thread a son propre état d'entrée, dont les informations sont stockées dans la structure THREADINFO. Les informations sur cet état incluent des données sur la file d'attente d'entrée virtuelle du thread, ainsi qu'un groupe de variables. Ces derniers contiennent des informations de contrôle sur l'état de l'entrée. Concernant le clavier, les informations suivantes sont prises en charge : quelle fenêtre a le focus clavier, quelle fenêtre est actuellement active, quelles touches sont enfoncées, quel est l'état du curseur de saisie.

Les informations sur les touches enfoncées sont stockées dans l'état synchrone du tableau de touches. Ce tableau est inclus dans les variables d'état d'entrée locales de chaque thread. Dans le même temps, il n'y a qu'un seul tableau d'état de clé asynchrone, qui contient des informations similaires, et il est partagé par tous les threads. Les tableaux reflètent l'état de toutes les touches en ce moment, et la fonction GetAsyncKeyState vous permet de déterminer si la touche spécifiée est actuellement enfoncée. GetAsyncKeyState renvoie toujours 0 (pas pressé) s'il est appelé par un thread autre que celui qui a créé la fenêtre qui a actuellement le focus d'entrée.

La fonction GetKeyState diffère de GetAsyncKeyState en ce qu'elle renvoie l'état du clavier au moment où le dernier message du clavier a été extrait de la file d'attente du thread. Cette fonction peut être appelée à tout moment ; peu importe pour elle quelle fenêtre a le focus.

Pièges à clavier

Dans le système d'exploitation Microsoft Windows, un piège, ou crochet, est un mécanisme permettant d'intercepter des événements à l'aide d'une fonction spéciale (telle que la transmission de messages Windows, la souris ou la saisie au clavier) avant qu'ils n'atteignent l'application. Cette fonction peut alors réagir aux événements et, dans certains cas, les modifier ou les annuler.

Les fonctions qui reçoivent des notifications d'événements sont appeléesfonctions de filtrage et diffèrent par les types d'événements qu'ils interceptent. Pour que Windows appelle une fonction de filtre, cette fonction doit être attachée à un crochet (tel qu'un crochet clavier). Attacher une ou plusieurs fonctions de filtre à un crochet s'appelle définir le crochet. Les applications utilisent les fonctions API Win32 SetWindowsHookEx et UnhookWindowsHookEx pour installer et supprimer les fonctions de filtrage. Certains crochets peuvent être définis à la fois pour l'ensemble du système et pour un thread spécifique.

Si plusieurs fonctions de filtrage sont attachées au même crochet, Windows implémente une file d'attente de fonctions, avec la dernière fonction attachée au début de la file d'attente et la toute première fonction à la fin de la file d'attente. La file d'attente des fonctions de filtrage (voir Figure 8) est prise en charge par Windows lui-même, ce qui facilite l'écriture des fonctions de filtrage et améliore les performances du système d'exploitation.

Le système maintient des chaînes séparées pour chaque type de crochet. La chaîne de crochet est une liste de pointeurs vers des fonctions de filtrage (fonctions de rappel spéciales définies par l'application). Lorsqu'un événement se produit associé à un type particulier de crochet, le système transmet un message à chaque fonction de filtre dans la chaîne de crochet dans l'ordre. L'action qu'une fonction de filtrage peut entreprendre dépend du type de hook : certaines fonctions peuvent uniquement surveiller l'occurrence d'événements, d'autres peuvent modifier les paramètres des messages ou même arrêter le traitement des messages en bloquant l'appel à la fonction de filtrage suivante dans la chaîne de hook ou le la fonction de gestion des messages de la fenêtre de destination.

Lorsqu'une ou plusieurs fonctions de filtrage sont attachées à un crochet et qu'un événement se produit qui déclenche le crochet, Windows appelle la première fonction dans la file d'attente des fonctions de filtrage, et c'est sa responsabilité. La fonction est ensuite chargée d'appeler la fonction suivante dans la chaîne, ce qui est fait à l'aide de la fonction API CallNextHookEx Win32.

Le système d'exploitation prend en charge plusieurs types de crochets, chacun donnant accès à un aspect du mécanisme de messagerie Windows.

Schéma de traitement général

Généralisons toutes les connaissances obtenues ci-dessus sur la procédure de saisie au clavier dans un seul algorithme. Ainsi, l'algorithme de flux de signaux depuis l'utilisateur appuyant sur les touches du clavier jusqu'à l'apparition de caractères à l'écran peut être représenté comme suit :

    Au démarrage, le système d'exploitation crée un flux d'entrée brut et une file d'attente d'entrée matérielle système dans le processus système csrss.exe.

    Le flux d'entrée brut dans une boucle envoie des demandes de lecture au pilote de classe clavier, qui restent en attente jusqu'à ce que des événements clavier se produisent.

    Lorsque l'utilisateur appuie ou relâche une touche du clavier, le microcontrôleur du clavier détecte la touche enfoncée/relâchée et envoie le code de balayage de la touche enfoncée et une demande d'interruption à l'ordinateur central.

    Le contrôleur de clavier système reçoit le code de balayage, convertit le code de balayage, le rend disponible sur le port d'E/S 60h et génère une interruption matérielle de la CPU.

    Le contrôleur d'interruption appelle la routine d'interruption IRQ 1, l'ISR, enregistré avec le système par le pilote de fonction de clavier i8042prt.

    La procédure ISR lit les données apparues dans la file d'attente interne du contrôleur de clavier, traduit les codes de numérisation en codes de touches virtuelles (valeurs indépendantes définies par le système) et met en file d'attente l'appel à la procédure différée I8042KeyboardIsrDpc.

    Dès que possible, le système appelle le DPC, qui à son tour appelle la procédure de rappel KeyboardClassServiceCallback enregistrée par le pilote de classe clavier Kbdclass.

    La procédure KeyboardClassServiceCallback récupère une demande en attente du flux d'entrée brut de sa file d'attente et renvoie des informations sur la touche enfoncée.

    Le flux d'entrée brut stocke les informations reçues dans la file d'attente d'entrée matérielle du système et génère des messages de clavier Windows de base WM_KEYDOWN, WM_KEYUP basés sur celle-ci, qui sont placés à la fin de la file d'attente d'entrée virtuelle VIQ du thread actif.

    La boucle de message du thread supprime le message de la file d'attente et le transmet à la procédure de fenêtre appropriée pour traitement. Dans ce cas, la fonction système TranslateMessage peut être appelée, ce qui, sur la base des messages clavier de base, crée des messages "caractères" supplémentaires WM_CHAR, WM_SYSCHAR, WM_DEADCHAR et WM_SYSDEADCHAR.

mob_info