Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Tecnología del PC

[Home]  [Inicio]  [Índice]


7.1.1  Funcionamiento del teclado

§1  Presentación

Junto con el ratón mecánico tradicional (no los actuales modelos ópticos), el teclado es el dispositivo más sencillo que puede conectarse al ordenador.  Sin embargo, alberga una electrónica relativamente compleja y sofisticada que, en los modelos AT y siguientes, incluye un procesador relativamente potente; cierta cantidad de memoria EEPROM para guardar la configuración; cierta cantidad de memoria ROM que actúa como una mini-BIOS del dispositivo, y capacidad de chequeo y auto diagnóstico, además de otras funciones.

La razón de esta complejidad es que, aparte de enviar las señales adecuadas a la placa-base, la tarea de recoger la señal de interruptores mecánicos no es tan trivial como pudiera parecer a primera vista.  Los que hayan intentado diseñar interfaces para introducir simples señales ON/OF en un PC, saben que la tarea puede ser extraordinariamente compleja.  Incluso con los pequeños niveles de tensión que manejan en los circuitos TTL, los interruptores mecánicos producen microchispas y rebotes ("Bouncing") que duplican la señal y complican el diseño de estos dispositivos;  hasta el extremo que no es infrecuente que se recurra a "chapucear" la electrónica del teclado para estos menesteres.

Después de haber lidiado con este tipo de dificultades, y haber comprobado que el único problema de un teclado medianamente bueno es derramar encima el café, me atrevería de decir que el diseño de los señores de la IBM, es una obra maestra de fiabilidad y simplicidad.

§2  Generalidades

El teclado del IBM PC es un periférico que utiliza una comunicación serie síncrona ( H2.5a) para conectar con la placa-base [1].  El diálogo se realiza entre el controlador de periféricos 8255 instalado en la placa ( 2) y la electrónica situada en el interior del propio teclado, aunque la comunicación con el PIC no se realiza directamente, sino a través de una interfaz constituida por un chip 8042 o un 8742 en el modelo AT [4].  Como anunciábamos al tratar del controlador de periféricos, la conexión lógica se realiza por las direcciones 60h-63h en el PC XT y 060h-064h en el AT.

Nota:  En los modelos XT esta comunicación era unidireccional, en el sentido del teclado a la placa-base, pero a partir del AT es bidireccional, con lo que es posible configurar ciertos comportamientos del teclado desde la placa-base.

El controlador de teclado en un circuito integrado (IC) situado en su interior.  Inicialmente era un 8048 que posteriormente fue sustituido por un 8049.  Pero actualmente cada fabricante utiliza su propio controlador de los que existen gran variedad en el mercado.  La misión principal de este IC es escanear las teclas, e informar si alguna ha sido pulsada o liberada.

Además de la misión principal, el controlador de teclado realiza otras funciones auxiliares;  tiene capacidad de chequeo y diagnóstico, y dispone de un "buffer" capaz de almacenar las últimas 20 pulsaciones para el caso improbable que el 8042 no pueda leerlas con suficiente rapidez.  Además, si alguna tecla se mantiene pulsada por más de un tiempo determinado (del orden de 0.5 segundos), es capaz de generar repetidamente la acción a intervalos determinados.

§3  Funcionamiento 

Lejos de lo que podría parecer a primera vista, existe una larga, y a veces complicada, sucesión de acontecimientos entre el instante en que se pulsa una tecla,  Por ejemplo una "A", y el momento en que aparece dicho carácter en el procesador de textos.  La trayectoria más compleja se presenta en las aplicaciones ejecutadas bajo una interfaz gráfica.  Por ejemplo un editor en Windows o Linux bajo uno de sus entornos gráficos (KDE, por ejemplo).  El caso más simple podemos encontrarlo en aplicaciones corriendo en modo texto.  Por ejemplo, en MS-DOS.  Esta sucesión de acontecimientos explica, entre otras cosas, porqué puede pulsarse la tecla punto y coma :/; (a la derecha de la tecla "L") en un teclado americano, y aparecer una "Ñ" en la pantalla si hemos cargado el "Idioma" adecuado en nuestro sistema.

La exposición, desde la óptica del PC compatible IBM, la dividiremos en tres partes:  Las dos primeras son comunes a todos los Sistemas Operativos;  se refieren a la forma en que es detectado y configurado el teclado durante el arranque, y como llega la notificación de la tecla (o combinación de teclas) pulsadas a la placa-base.  La tercera se refiere al tratamiento que hace el SO con la información recibida y será tratada en el siguiente capítulo ( 7.1.2).

§3.1  Detección y chequeo del teclado

Cuando se establece la tensión adecuada, a través del cable que lo conecta con la placa-base, el controlador del teclado realiza un auto-test que comprende su electrónica y la de su interfaz, después de lo cual envía el código AA al 8042 o un FD si existe algún problema.

A tratar de el BIOS, señalamos que dentro de sus funciones, están el inventario de recursos y comprobación del hardware ( 4.2).  En lo referente al teclado, el POST realiza una comprobación de que este periférico y su interfaz funcionan correctamente, generándose un error en caso de problemas.  Además de estas comprobaciones, el BIOS detecta el tipo de teclado conectado y lo inicializa.

La calidad de la verificación realizada por el POST depende del BIOS utilizado; en el mejor de los casos, los POST-codes referidos al teclado pueden ser del siguiente tipo (de una BIOS AMI color):

25  Check 8042 KBC

26  Global data for KBC

66  Perform 8259 PIC initialization

67  Perform Keyboard test

80  Keyboard reset

81  Perform stuck key and batch test (keyboard)

82  Run 8042 KBC test

83  Perform lock key check

Lo anterior es también de aplicación a los códigos de diagnóstico ( 4.2), que dependen de la BIOS utilizada.  Los relativos al teclado de las BIOS IBM son los siguientes (mantenemos los mensajes en inglés - como aparecen en el manual IBM):

301    Keyboard did not respond correctly (stuck key detected)

302    Keyboard locked (AT models 25, 30)

303    Keyboard/system board interface error - keyboard controller fault

304    Keyboard or system unit error (keyboard clock stuck high)

305    Keyboard fuse failed on system board (PS/2 50, 60, 80) or +5 Volt error (PS/270)

306    Unsupported keyboard attached

341    Keyboard error

342    Keyboard cable error

343    Enhancemente card or cable error

365    Keyboard failure

366    Interface cable failure

367    Enhancement card or cable failure 

Nota:  Tradicionalmente, los manuales de mantenimiento señalaban que si después de sustituido el teclado por uno comprobado, el problema persistía, debería sustituirse el integrado correspondiente de la placa-base (situado cerca del conector de teclado).  En las placas actuales esto no es posible ni rentable.  La solución es sustituir la placa-base.

§3.2  Configuración BIOS

Es importante reseñar que los primeros equipos estaban pensados para funcionar con teclado, por lo que en caso de error en el POST, el sistema se detenía.  En la actualidad, cuando muchos equipos se utilizan como servidores sin atención humana, incluso conectados a un teclado compartido [7] las BIOSes permiten continuar el proceso, incluso en caso de fallo (por ausencia) del teclado.  A este respecto, el comportamiento del POST depende de los parámetros de configuración establecidos.  Los más importantes en lo que se refiere a este punto, son los siguientes (mantenemos el mensaje en inglés - como aparecen en el programa de "Set-Up"):

  • Halt On / Halt On Errors:  Este parámetro indica al POST si debe detenerse y advertir al usuario si ocurren ciertos errores durante el proceso.  Uno de ellos se refiere a ignorar los errores relacionados con el teclado.  Generalmente seleccionando "Halt on", puede seleccionarse una segunda opción: "all errors but keyboard", que indicará que debe seguir aunque aparezca un error de teclado en la secuencia de inicio.
  • Keyboard Present:  Este caso es análogo al anterior.  Ponga "No" si el equipo arrancará sin teclado.
  • Typematic Delay:  Se refiere al intervalo, milisegundos, antes que la pulsación continuada de una tecla inicie la repetición automática .
  • Typematic Rate:  Poner aquí la velocidad de repetición deseada, en caracteres por segundo, para la repetición de teclas.
  • USB Legacy Support:  Habilita el soporte para teclado USB (en las BIOS que están capacitadas para ello).  En algunas BIOSes Phoenix aparece en la sección "Integrated Peripherals" del menú principal de Setup, bajo el epígrafe "USB Keyboard Support".  En este caso, existe otro epígrafe, "USB Controller", que debe ser también activado ("Enabled"). 
§3.3  Código de exploración

Cuando se pulsa una tecla, el chip del teclado genera un código de exploración ("Scan code") de un byte, que en este caso se denomina código de acción ("Make code").  Cuando posteriormente la tecla es liberada, se genera un nuevo código ("Break code"), cuyo valor es el de pulsación incrementado en 128.  Por ejemplo, cuando se pulsa la letra "A" se genera un código de exploración 30 (1Eh), y de 30 + 128 = 158 (9Eh) cuando se libera [5].

En la tabla adjunta se muestran los códigos de exploración del teclado estándar de 101/102 teclas [3], aunque debemos advertir que existen tres de estas tablas:

  • Scancode set 1: IBM PC XT
  • Scancode set 2: IBM PC AT
  • Scancode set 3: IBM PS/2

El más universalmente utilizado es el tipo 2, correspondiente al PC AT, aunque puede haber diferencias puntuales entre los fabricantes.  Lo más probable es que, cualquiera que sea el juego de caracteres utilizado, la rutinas de servicio del teclado la transformen en el tipo 1 antes de traducirlos en byte-codes

Núm. de tecla - Carácter - Código de exploración ("scancode") hexadecimal

1- - 29

2 - 1 - 2

3 - 2 - 3

4 - 3 - 4

5 - 4  -5

6-  5 - 6

7 - 6 - 7

8 7 8

9 8 9

10 9 0A

11 0 0B

12 - 0C

13 = 0D

15 Backspace 0E

16 Tab 0F

17 Q 10

18 W 11

19 E 12

20 R 13

21 T 14

22 Y 15

23 U 16

24 I 17

25 O 18

26 P 19

27 [ 1A

28 ] 1B

29 \ (101-key) 2B

30 Caps Lock 3A

31 A 1E

32 S 1F

33 D 20

34 F 21

35 G 22

36 H 23

37 J 24

38 K 25

39 L 26

40 ; 27

41 28

42 # (102-key) 2B

43 Enter 1C

44 Left Shift 2A

45 \ (102-key) 56

46 Z 2C

47 X 2D

48 C 2E

49 V 2F

50 B 30

51 N 31

52 M 32

53 , 33

54 . 34

55 / 35

57 Right Shift 36

58 Left Ctrl 1D

60 Left Alt 38

61 Spacebar 39

62 Right Alt E0,38

64 Right Ctrl E0,1D

75 Insert E0,52

76 Delete E0,53

79 Left arrow E0,4B

80 Home E0,47

81 End E0,4F

83 Up arrow E0,48

84 Down arrow E0,50

85 Page Up E0,49

86 Page Down E0,51

89 Right arrow E0,4D

90 Num Lock 45

91 Keypad 7 (Home) 47

92 Keypad 4 (Left) 4B

93 Keypad 1 (End) 4F

95 Keypad / E0,35

96 Keypad 8 (Up) 48

97 Keypad 5 4C

98 Keypad 2 (Down) 50

99 Keypad 0 (Ins) 52

100 Keypad * 37

101 Keypad 9 (PgUp) 49

102 Keypad 6 (Left) 4D

103 Keypad 3 (PgDn) 51

104 Keypad . (Del) 53

105 Keypad - 4A

106 Keypad + 4E

108 Keypad Enter E0,1C

110 Escape 1

112 F1 3B

113 F2 3C

114 F3 3D

115 F4 3E

116 F5 3F

117 F6 40

118 F7 41

119 F8 42

120 F9 43

121 F10 44

122 F11 57

123 F12 58

124 PrtScr E0,2A,E0,37

125 ScrLk 46

126 Pause E1,1D,45

E1,9D,C5

La generación de los "Scan codes" tiene algunas peculiaridades que conviene resaltar:

  • Puesto que se dispone de 1 byte para el código de exploración, en principio pueden generarse 255 códigos distintos.  De estas posibilidades, la primera mitad, con el bit7 = 0, está reservada a los "Make codes" (en los primeros teclados XT era un número del 1 al 83).
  • Salvo raras excepciones, las teclas producen dos tipos de códigos.  La mayoría produce un makecode de 7 bits, en el rango 01-7Fh (en realidad de 8 bits, con el bit 7 a cero).  Mientras que otras producen dos códigos de acción (otros dos en la liberación), de los cuales el primero es de 8 bits (el carácter E0h), y el segundo de 7 bits.
  • Para las teclas del primer grupo, que generan un solo código, el breakcode se obtiene sumando 128 al makecode (poniendo el bit 7 a 1).  En el segundo grupo, que generan dos códigos, el primer carácter de los códigos de pulsación y liberación es siempre igual a E0h.  El segundo carácter del breakcode se obtiene también incrementando en 128 el valor del segundo carácter del makecode.
  • En el caso de teclas duplicadas.  Por ejemplo, las teclas Alt y Ctrl a ambos lados de la barra espaciadora, o las que aparecen en el bloque de teclas normales y el "Key pad" numérico independiente, el código de exploración generado es distinto para cada tecla, por lo que el sistema puede discriminar perfectamente de donde proviene la señal [2].
  • Puesto que los códigos de pulsación y liberación de tecla son distintos, y el sistema guarda un registro de tales movimientos, la rutina que atiende las interrupciones del teclado (que tiene un área de memoria para almacenar estos datos ), puede saber si, por ejemplo, estamos pulsando una "A" mientras mantenemos pulsada la tecla de mayúsculas o la pulsamos estando esta en reposo.
  • Además de las teclas estándar, que generan 1 o dos códigos, existen dos, PrtSc y Pause, que envían una serie de 6 códigos en forma de cadena.
  • La tecla Ctrl produce códigos de 2 bytes cuando se pulsa aisladamente y de uno cuando se pulsa en combinación con otras.
  • Las teclas TabEnterEsc y Backspace son las únicas que no producen un código de retorno ("Break code").  Pueden ser simuladas mediante combinaciones de la tecla Control:
    • Tab  =  Ctrl + I
    • Enter  =  Ctrl + M
    • Esc  =  Ctrl + [
    • Backspace  =  Ctrl + H

Las teclas de función F1 - F12 producen códigos de 2 bytes que son diferentes si se pulsan aisladas, o en combinación con las teclas  ShiftCtrl y Alt.  Lo que produce a un total de 48 grupos de códigos distintos.

Nota:  Los usuarios de Linux disponen una utilidad especial, showkey, que permite obtener los "Scan codes" de las teclas.  Esta rutina hay que llamarla desde una consola root con la opcón -s  (consultar man showkey). 

§3.4  Solicitar atención

El código de exploración es depositado en el puerto A (060h) del controlador de periféricos, por lo que cada pulsación/retroceso registra dos códigos en el PIO, y cada vez el referido controlador devuelve rápidamente una señal de reconocimiento ACK al chip del teclado, lo que se realiza por el puerto B (061h) del citado controlador.

 Además de lo anterior, cuando el PIO recibe un código de exploración, genera una petición de interrupción poniendo en tensión baja la línea IRQ1 del bus de datos (que está reservada al teclado 2.4).  Cuando la interrupción es atendida y el procesador interroga, el controlador de interrupciones PIC contesta con la interrupción número 9 (de teclado) y enmascara las siguientes peticiones que pudieran producirse en la línea IRQ1 hasta que la actual haya sido atendida.

El valor 9 da una pista de donde se encuentra la rutina que atiende el servicio, que es activada ( 2.4).   Esta rutina sabe que tiene que leer el puerto de teclado (60h) para ver que código de exploración hay en el bufer de la interfaz de teclado.  A continuación transforma éste número en un código de 2 bytes, conocidos como keycodes o bytecodes, que son pasados al búfer del teclado hasta que los lee algún programa que los necesita.

La regla de formación de estos dos keycodes es como sigue:

  • Si se pulsa una tecla del teclado estándar, el byte auxiliar (de la izquierda, de mayor peso) contiene el propio código de exploración, mientras que el byte principal (de menor peso) contiene el código ASCII del carácter de la tecla (1 a 255).  Para la determinación se tienen en cuenta los "Bytes de estado" (ver a continuación ).
  • Cuando se pulsa una tecla especial, como es el caso de las teclas de función (F1/F12) o Shift; las teclas de movimiento de cursor, como Home o End, y las del teclado numérico independiente, el byte principal contiene un cero y el auxiliar contiene el código de exploración.

Tenga en cuenta que los "Break code" son descartados, a excepción de los que corresponden a teclas de conmutación ( 7.1) permanentes y no permanentes, que tiene influencia en los bytes de estado.

Nota:  El comportamiento anterior corresponde a la versión estándar de la rutina 9 de la BIOS, tal como es utilizada por MS-DOS.  Algunos Sistemas Operativos instalan sus propias rutinas de servicio, cuyo comportamiento puede diferir.  Véase por ejemplo, el epígrafe El teclado en Linux ( 7.1.2b).

§4  Búfer del teclado

El búfer del teclado es un área de 32 bytes de RAM en las direcciones 41Eh-43Dh (memoria de datos de la ROM BIOS 4.3).  Puesto que se originan 2 byte-codes por cada código de exploración, es posible almacenar un máximo de 16 pulsaciones, aunque en realidad solo se aprovechan 15.  La posición 16 contiene información especial que, como veremos enseguida, es necesaria para el esquema de funcionamiento adoptado.

El búfer tiene una organización circular (FIFO) y es manejado en base a los valores de dos punteros; el puntero de inicio, almacenado en las direcciones 41Ah-41Bh, señala la dirección de inicio, y el puntero de cola, almacenado en las direcciones 41Ch-41Dh, señala la dirección del final [6].  El puntero de inicio señala siempre la posición del primer carácter del búfer (en cualquiera de las 15 posiciones posibles).   En el momento inicial, cuando el búfer está vacío, el puntero de cola apunta al mismo sitio que el de inicio.  Cuando se van añadiendo byte-codes, el puntero de cola va señalando posiciones sucesivas (de dirección creciente), hasta que se alcanza la posición superior, empezándose entonces por la dirección inferior del búfer.  Cuando se alcanza la posición de inicio, el búfer está lleno y se rechazan los caracteres siguientes (algunos Sistemas señalan esta circunstancia mediante un pitido en el altavoz del equipo).

Nota:  La interrupción 9, producida por la pulsación de una tecla, invoca un servicio de teclado que podríamos considerar básico. Como hemos visto, su trabajo consiste en traducir los Scan-codes recibidos en byte-codes situados en el búfer de teclado, pero no es la única interrupción que proporciona servicios de este tipo.  En el capítulo siguiente veremos que existen otras que complementan el manejo de la información proveniente de este periférico.

§5  Bytes de estado

Además de las teclas pulsadas, la rutina de servicio BIOS mantiene en las direcciones 417h y 418h (zona de memoria de la ROM BIOS), dos bytes con información importante sobre el estado del teclado.  Son los denominados bytes de estado, cuyo contenido se muestra en la tabla adjunta.

Dirección

bits

76543210

Significado

417h

X.......

.X......

..X.....

...X....

....X...

.....X..

......X.

.......X

 Estado de inserción:  1 = activo; 0 = inactivo

 Bloqueo de mayúsculas: 1 = activo;  0 = inactivo

 Bloqueo numérico ("Num lock"): 1 = activo;  0 = inactivo

 Bloqueo de desplazamiento ("Scroll"):  1 = activo;  0 = inactivo

 Alt Shift:  1 = activo (Alt pulsada);  0 = inactivo

 Ctrl Shift:  1 = activo (Ctrl pulsada);  0 = inactivo

 Shift izquierdo:  1 = activo (pulsado);  0 = inactivo

 Shift derecho:  1 = activo (pulsado);  0 = inactivo

418h

X.......

.X......

..X.....

...X....

....X...

.....X..

......X.

.......X

 1 = Tecla [Ins] presionada

 1 = Bloqueo de mayúsculas presionada

 1 = Bloqueo numérico presionada

 Estado de bloqueo ( 7.1b); 1 = activo;  0 = inactivo

 1 = Sonido de teclado del PCjr activo

 1 = Click activo en el PCjr.

 No utilizado

 No utilizado


Nota:  Los programas de diagnóstico del teclado suelen incluir una secuencia que escribe sucesivamente valores 0 y 1en los bits 4, 5 y 6 del primer byte de estado, con lo que las luces de bloqueo de desplazamiento, de mayúsculas y de bloqueo numérico del teclado, se encienden y apagan sucesivamente.

§6  Repetición de teclas.

Después de pulsada una tecla, si no se suelta en un lapso de 0.5 segundos (retardo de la repetición), el chip de teclado genera automáticamente la acción de repetición con una cadencia de 10 veces por segundo (velocidad de repetición).  Esta repetición es denominada "Typematic" por IBM, y es tratada de forma inteligente por la interrupción 9.  En caso de que se trate de una tecla normal, una "A" por ejemplo, la BIOS creará una serie de Aes que serán pasadas al buffer de teclado para cualquier programa que necesite leerlas.  Sin embargo, si se mantiene pulsada la tecla "Shift", no se generará esta repetición, simplemente se interpretará que la tecla está pulsada.   El sistema puede incluso detectar si la sucesión de caracteres son resultado de la acción repetida sobre la tecla, o de una pulsación prolongada, porque en este último caso faltan los códigos intermedios de liberación de tecla.

Nota:  Aparte de las formas que se citan a continuación, las características de esta repetición, velocidad e intervalo inicial, pueden ser establecidas de varias formas en los sistemas modernos:  Mediante el programa de "Setup" de la BIOS y mediante un servicio de esta que puede ser invocado por cualquier aplicación (7.1.2).

§6.1  Cambiar repetición de teclas en MS DOS

El retardo y la velocidad de repetición de teclas pueden ser establecidas en MS DOS mediante el comando MODE.  La sintaxis es la siguiente:

MODE CON[:] [RATE=r DELAY=d]

Parámetros

  • CON[:]  Se refiere al teclado (el comando MODE puede tener otros usos).
  • RATE=r   Especifica la velocidad de repetición de un carácter en la pantalla cuando se mantenga presionada una tecla.  Son valores aceptados para r entre 1 y 32.  Estos valores equivalen aproximadamente de 2 a 30 caracteres por segundo.  El valor predeterminado es 20 para teclados compatibles con IBM AT y 21 para los teclados compatibles con IBM PS/2.  Si define una velocidad también tendrá que definir el retardo.
  • DELAY=d    Especifica el tiempo que deberá transcurrir (después de mantener presionada una tecla) antes de que MS-DOS inicie la repetición del carácter.  Los valores aceptados para d son 1, 2, 3 y 4 (que representan 0,25; 0,50; 0,75 y 1 segundo, respectivamente).  El valor predeterminado es 2.  Si establece el retardo, también tendrá que establecer la velocidad.
§6.2  Cambiar repetición de teclas en MS Windows

El Sistema MS Windows 98 permite modificar fácilmente tanto el valor del retraso, como la velocidad de repetición en:  Menú de inicio   Configuración    Panel de Control    Teclado.

§6.3  Cambiar repetición de teclas en Linux

Aunque dedicamos un capítulo exclusivo a las peculiaridades del tratamiento del teclado en este Sistema Operativo ( 7.1.2b), adelantamos aquí que el comando kbdrate pemite modificar la velocidad de repetición y el retardo inicial.  Generalmente los valores por defecto corresponden al estándar inicial IBM:  10 cps (caracteres por segundo) y 250 ms (milisegundos) respectivamente.

§7  Webografía

  Inicio.


[1]  Al contrario de lo que ocurre con otros dispositivos.  Por ejemplo, la pantalla, el sincronismo de la comunicación entre el teclado y la placa, hace necesario enviar una señal de sincronización CLK que se obtiene del reloj del sistema y se prolonga hasta el teclado (una fracción de la frecuencia del bus externo 2; unos 10 KHz).  Además, desde el principio el teclado está diseñado para que su energía de funcionamiento se obtenga de la placa-base, por lo que también existe una señal de alimentación (+5 V. cc) en el cable.

[2]  Generalmente los programas de usuario no utilizan estas diferencias, pero los programas de diagnóstico las discriminan y permiten detectar cual de las teclas duplicada ha sido pulsada.

[3]  El carácter es el que aparece sobre la tecla en un teclado USA estándar.  Cuando se trata de un carácter especial (que suelen aparecer como símbolos -flechas- o abreviaturas en las teclas) se ha recurrido a poner su nombre completo.  Por ejemplo, Delete.

[4]  Es frecuente que algunos textos se refieran a estos circuitos como controladores del teclado KBC ("Keyboard Controller"), cuando es el IC alojado en su interior (8048).  En realidad, tanto el 8042 como el 8742, son la "interfaz" del dispositivo en la placa-base.

[5]  Este diseño constituyó una novedad, dado que en la era pre-PC, los más frecuente era que los teclados generaran directamente el código ASCII de la tecla pulsada.  Solo los caracteres ASCII estaban presentes en estos teclados pensados exclusivamente para el inglés-americano.

[6]  Aunque los punteros son de 2 Bytes de largo, solo se utiliza el inferior (el menos significativo).

[7]  Mediante los dispositivos adecuados, una sola pantalla, ratón y teclado pueden ser utilizados (alternativamente) para atender varios sistemas.