O Linux foi desenhado internamente de modo a facilitar a sua facil configuração e extenção em tempo de execução, não constituindo o tratamento do teclado e fontes de caracteres excepção.
A configuração do teclado é conseguida através da possibilidade de redefinição das tabelas de tradução de caracteres e do carregamento de fontes de caracteres de ecran.
Para tal foi desenvolvida a package KBD, que disponibiliza todo um conjunto de comandos para o efeito.
Segue-se a descrição de alguns dos comandos disponibilizados pela package KBD.
O comando loadkeys permite especificar a equivalencia entre a
tecla que se pressiona no teclado e o código (keycode) que os
programas recebem.  Isto é conseguido atraves do carregamento de um
mapa de teclado.
Por exemplo o comando
  loadkeys /usr/lib/kbd/keytables/portuguese.map
carrega o mapa do teclado portugues.
O que e um mapa de teclado ? Bem, um mapa de teclado é um ficheiro de texto onde se colocam as correspondencias entre o scancode de uma tecla e o seu código de tecla, ou keycode.
Por exemplo :
// atribuição da tecla '-' do teclado numerico a' tecla com co'digo 74
  keycode  74 = KP_Subtract     
// atribuição da tecla '4' do teclado numerico a tecla com código 75
  keycode  75 = KP_4            
// etc...
  keycode  76 = KP_5            // tecla 5
  keycode  77 = KP_6            // tecla 6
  keycode  78 = KP_Add          // soma
  keycode  79 = KP_1            // tecla 1
  keycode  80 = KP_2            // tecla 2
Alem do comando anterior que opera no sentido teclado <-> aplicação, temos o comando mapscrn que opera no sentido aplicação <-> ecran. Ou seja, uma aplicação envia o caracter com o código 123 para o ecran, e o caracter com o código 200 será mostrado.
isto, é claro, se existir no ficheiro de tradução de caracteres a seguinte linha:
  123 200
Este assunto será desenvolvido mais a frente.
O comando setfont permite o carregamento de uma fonte de caracteres de ecran, possibilitando a alteração das fontes utilizadas em modo de texto.
Voltarei a este assunto mais tarde.