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.2a  El teclado en DOS / Windows

§1  Generalidades

En MS-DOS, el fichero de definición del teclado está contenido el fichero KEYBOARD.SYS.  A partir de MS-DOS 6.2 se incluyó un segundo fichero, KEYBRD2.SYS, que ofrece soporte para los teclados que no habían sido incluidos en el anterior.   A pesar de lo que pudiera parecer por su nombre, el fichero KEYBOARD.SYS no es un controlador de dispositivo, sino un fichero que contiene la plantilla de códigos de teclas para cada país.

§2  Cambiar idioma del teclado en MS-DOS

En MS DOS, el cambio de idioma se realiza mediante el programa KEYB.COM, que puede ser invocado desde el "Shell" del DOS o desde el fichero CONFIG.SYS; en el primer caso se suele utilizar una línea en el fichero de configuración AUTOEXEC.BAT.  La sintaxis es la siguiente:

  • Desde el intérprete de comandos ("Shell") o en el fichero AUTOEXEC.BAT:

KEYB [xx[,[yyy][,[unidad:][ruta]nombrearchivo]]] [/E] [/ID:nnn]

  • En el archivo CONFIG.SYS, utilice la sintaxis siguiente:

INSTALL=[[unidad-dos:]ruta-dos]KEYB.COM [xx[,[yyy][,[unidad:][ruta]nombrearchivo]]] [/E] [/ID:nnn]

Los parámetros y modificadores tienen el significado siguiente:

  • xx  Código alfabético (dos letras) que especifica una distribución de teclado (país o idioma).  En la tabla que sigue encontrará  una lista de valores válidos para este parámetro.
  • yyy   Código numérico que especifica el juego de caracteres (página de códigos).  En la tabla incluida al final podrá consultar una lista de valores válidos para este parámetro.  Si no especifica este valor, KEYB usará el juego de caracteres actual.
  • [unidad:][ruta]nombrearchivo  Especifica la ubicación y nombre del archivo de definición del teclado.  El archivo predeterminado es KEYBOARD.SYS.  Si este fichero se encuentra en un directorio incluido en la ruta por defecto (path), no es necesario especificar estos parámetros.
  • [unidad-dos:]ruta-dos    Especifica la ubicación del archivo KEYB.COM.
  • /E    Especifica que está instalado un teclado extendido. Hay que utilizar este modificador si va a usar un teclado de este tipo con un equipo 8086 (PC XT) [2].
  • /ID:nnn    Es un código numérico que especifica el teclado en uso.  Este modificador sólo se requiere para tres países (Francia, Italia y Reino Unido) que tienen más de una configuración de teclado para el mismo idioma.

País o idioma

xx yyy nnn
Alemania gr 850, 437  
Bélgica be 850, 437  
Brasil br 850, 437  
Checoslovaquia (checo) cz 852, 850  
Checoslovaquia (eslovaco) sl 852, 850  
Dinamarca dk 850, 865  
España sp 850, 437  
Estados Unidos us 850, 437  
Finlandia su 850, 437  
Francés canadiense cf 850, 863  
Francia fr 850, 437 120, 189
Hungría hu 852, 850  
Italia it 850, 437 141, 142
Latinoamérica la 850, 437  
Noruega no 850, 865  
Países Bajos nl 850, 437  
Polonia pl 852, 850  
Portugal po 850, 860  
Reino Unido uk 850, 437 166, 168
Suecia sv 850, 437  
Suiza (francés) sf 850, 437  
Suiza (alemán) sg 850, 437  
Yugoslavia yu 852, 850  

La tabla adjunta muestra los valores aceptados para xx, yyy y nnn, para cada país o idioma incluido en KEYBOARD.SYS:

Ejemplo:  Para usar un teclado alemán si su archivo KEYBOARD.SYS está en el directorio DOS de la unidad C, escribiría el siguiente comando:

   keyb gr,,c:\dos\keyboard.sys

Códigos de salida:  Los códigos de salida del programa KEYB.COM son los siguientes:

0  El archivo de definición de teclado se cargó con éxito.

1  Se usó un código de teclado, juego de caracteres o sintaxis no válido.

2  El archivo de definición de teclado falta o es incorrecto.

4  Se produjo un error de comunicación con el teclado o el monitor.

5  El juego de caracteres solicitado no ha sido preparado.

Estas condiciones de error pueden ser controladas en el fichero autoexec.bat mediante una secuencia de órdenes if errorlevel colocadas después de la sentencia tal como se muestra en el ejemplo:

keyb sp,,C:\DOS\keyboard.sys

if errorlevel 5 goto Error5

if errorlevel 4 goto Error4

if errorlevel 2 goto Error2

if errorlevel 1 goto Error1

echo OK página de códigos cargada con éxito

goto FIN

:Error5

echo Error:  El juego de caracteres no ha sido preparado

goto FIN

:Error4

echo Error con el teclado o monitor

...

Observe que las declaraciones if errorlevel aparecen en orden decreciente, ya que MS DOS considera que la declaración IF es cierta si el parámetro ERRORLEVEL devuelto por KEYB.COM es mayor o igual que el parámetro especificado en el comando IF.

Además del programa KEYB.COM, el controlador ANSI.SYS, que se carga en el fichero de configuración CONFIG.SYS, permite modificar indiviualmente una tecla, de forma que responda con un código determinado.

Nota:  El soporte para idiomas ofrecido por MS DOS es un sistema enrevesado y oscuro que utiliza seis tipos de órdenes!!.  Es seguramente uno de los mejores ejemplos de las chapuzas que pueden realizar los programadores [1] para amargar la vida a la gente normal.

§3  Cambiar idioma del teclado en Windows

Por su parte, el SO Windows permite remapear los símbolos correspondientes a cada tecla (cambiar el "idioma") de forma muy sencilla.  Menú de inicio    configuración    Panel de Control    Teclado Seleccionar pestaña "Idioma".

Aparece un cuadro de diálogo en el que se pueden agregar, seleccionar y quitar idiomas; se puede seleccionar el idioma predeterminado (el que aparecerá por defecto al arrancar el Sistema); habilitar un indicador en la barra de tareas (un icono junto al reloj). Muy útil para cambiar el sentido de una tecla en medio de un documento o entrada de datos, y seleccionar una combinación de teclas que permita cambiar el idioma sin acudir al ratón.

  Inicio.


[1]  Para ser honestos, en este caso, más que los "Programadores" podríamos decir Diseñadores de Sistemas.

[2]  Una curiosidad histórica que no tiene sentido a menos que se trabaje de conservador en algún museo de hardware.