Qu'est-ce que le mode clavier brut?

27

Dans les combinaisons de touches Magic Sysrq , il y a la combinaison alt+sysrq+rqui, selon Wikipédia, fait ce qui suit:

Passer le clavier du mode brut, le mode utilisé par des programmes tels que X11 et svgalib, au mode XLATE

Qu'est-ce que le mode brut? et qu'est-ce que le mode XLATE?

Puis-je revenir en mode brut une fois que je suis passé en mode XLATE?

Comment savoir dans quel mode se trouve mon clavier?

lesmana
la source

Réponses:

23

Lorsque vous appuyez sur une touche de votre clavier, il envoie un code numérique à l'ordinateur, appelé code de numérisation. Le code de numérisation indique à l'ordinateur sur quelle touche vous avez appuyé; par exemple, sur un clavier américain typique, la Atouche envoie le code de numérisation 30 lorsque vous appuyez dessus (et 158 ​​lorsque vous le relâchez). Le pilote du clavier signale ces codes directement aux applications lorsque le clavier est en mode brut («brut» signifie non traité, directement à partir du clavier). Quelques programmes utilisent le mode brut et font leur propre traitement au clavier; le serveur X est le plus important.

La plupart des programmes prévoient que lorsque vous appuyez sur la Atouche, le programme lit le caractère a(ASCII 97) et que lorsque vous appuyez sur Shift+ Ale programme lit A(ASCII 65), et lorsque vous appuyez sur Ctrl+ Ale programme lit le Ctrl+Acaractère (ASCII 1). Les clés qui n'ont pas de caractères associés envoient des séquences d'échappement, par exemple \e[Apour Left, où \eest le caractère ESC (ASCII 27). Le pilote du clavier effectue cette traduction lorsque le clavier est en mode ASCII, également appelé mode XLATE (abréviation de «translate»). Le mode XLATE permet aux applications de saisir des caractères, au prix de ne pas avoir accès à des nuances telles que «touche Maj gauche enfoncée» ou Ctrl + Maj + A, à la différence de Ctrl + A.

Le kbd_modevous permet de basculer entre les modes et affiche le mode actuel si vous l'invoquez sans argument.

Les combinaisons de touches magiques SysRq sont destinées à récupérer de diverses situations désagréables. L'une des combinaisons de touches consiste Alt+SysRq+Kà supprimer tous les programmes de la console virtuelle actuelle; si ce programme met le clavier en mode brut, vous ne pourrez pas taper à l'invite de connexion (qui apparaîtra souvent, selon la configuration de votre système). Appuyez sur pour Alt+SysRq+Rrestaurer le mode ASCII habituel (en dehors de X) où vous pouvez taper des caractères.

Gilles 'SO- arrête d'être méchant'
la source
9

Vous pouvez définir le type de code que votre clavier envoie. Cela se fait via le mode clavier. Vous pouvez changer le mode d'un clavier avec kbd_mode.

Voici les options de la page de manuel:

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

Il est beaucoup plus facile pour un développeur d'attraper des événements clés comme la touche Maj gauche enfoncée, s'il peut simplement obtenir les scancodes des touches enfoncées.

écho
la source