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.