você está aqui: Home  → Arquivo de Mensagens

Configurando teclados multimídia

Colaboração: Carlos E. Morimoto

Data de Publicação: 14 de Maio de 2006

Depois de 6 dias falando sobre redes, vamos a uma dia mais "light", entrando em clima de Domingo.

Existem no mercado muitos teclados com teclas especiais, que permitem abrir o media player, ajustar o volume, abrir o leitor de e-mails e assim por diante. Estes teclados quase sempre acompanham algum driver ou utilitário de configuração, que naturalmente está disponível apenas para Windows. Mas, você pode definir ações para as teclas especiais do seu teclado também no Linux, com algumas configurações simples.

A idéia central é que todo teclado utiliza um processador de 8 bits para ler as teclas digitadas. Ele suporta 256 teclas diferentes, mas os teclados possuem apenas 104 ou 105 teclas, deixando um monte de endereços livres. Os "teclados multimídia" aproveitam esta característica para adicionar algumas teclas extras. Ao configurar estes teclados no Linux, você precisa verificar quais são os códigos gerados pelas teclas adicionais e atribuir funções a elas, usando o Painel de controle do KDE.

Você pode usar o xev, um pequeno utilitário que monitora as teclas digitadas e lhe mostra todas as informações. Ele permite que você veja a forma como o sistema vê cada uma.

Abra um terminal e execute-o usando seu login de usuário:

   $ xev

Pressione agora cada uma das teclas especiais. Na saída exibida no terminal, o xev exibe dois eventos para cada tecla pressionada (um ao pressionar, outro ao soltar). O volume de informações é grande, mas o que nos interessa é apenas o código numérico de cada tecla, exibido depois do "keycode" na terceira linha de cada evento:

Anote o código de cada tecla e abra o arquivo ".xmodmap", dentro do seu diretório de usuário:

   $ kedit ~/.xmodmap

Vamos agora relacionar cada código com uma tecla de função. No teclado temos as teclas F1 até F12, podemos então relacionar as teclas especiais com, por exemplo, as teclas F18 em diante (que na verdade não existem), como em:

  keycode 144 = F18
  keycode 164 = F19
  keycode 162 = F20
  keycode 153 = F21
  keycode 174 = F22
  keycode 176 = F23
  keycode 160 = F24
  keycode 130 = F25
  keycode 236 = F26
  keycode 234 = F27
  keycode 233 = F28
  keycode 223 = F29

Aqui eu coloquei todas as teclas, mas você pode adicionar apenas as que for realmente utilizar :). Para que a alteração entre em vigor sem precisar reiniciar o X, rode o comando:

   $ xmodmap ~/.xmodmap

A partir daí, você pode configurar ações para elas no "Ações de entrada", no "Painel de Controle do KDE > Regional & Acessibilidade". Você pode tanto definir ações "simples", para que seja aberto um determinado programa quando a tecla é pressionada, quanto ações mais complexas. Neste caso vale a criatividade.

Para fazer com que a tecla do media player abra o XMMS, clique no "Nova Ação". Na aba "Geral", marque a opção "Tipo da Ação > Atalho do teclado > Comando/URL (simples)". Acesse a aba "Atalho de teclado", defina a tecla usada e, na aba "Configurações do Comando/URL", coloque o aplicativo que será aberto, no caso, "xmms". Você não está restrito apenas a aplicativos, pode usar qualquer comando de terminal.

Caso esteja em dúvida sobre qual comando abre determinado programa, clique com o botão direito sobre o botão "K" na barra de tarefas e acesse o "Editor de menus". Nele você pode ver o comando correspondente a cada ícone no menu.

Para os casos mais complicados, onde a tecla não gere nenhuma resposta no xev, existe um procedimento um pouco mais trabalhoso, que "ensina" o sistema o que fazer com cada tecla.

Mude para um terminal de texto puro (pressione Ctrl+Alt+F1), e pressione as teclas especiais. Elas não farão com que apareça nada na tela, mas se o sistema estiver recebendo algum sinal do teclado, ele incluirá uma entrada no log, falando sobre a tecla "não identificada".

Rode o comando "dmesg", que mostra o log do sistema:

  # dmesg

Você verá uma entrada para cada tecla, contendo um código em hexa para cada tecla, como em:

  atkbd.c: Unknown key pressed (translated set 2, code 0x9e on isa0060/serio0).
  atkbd.c: Use 'setkeycodes e01e <keycode>' to make it known.

Precisamos agora achar um código livre para associar a tecla a ele. Isto é bem simples, pois os códigos de 121 a 255 estão geralmente livres. Para verificar, use o comando abaixo, substituindo o "122" por um número até 255. Se ele não retornar nada, significa que o código não vago e você pode utilizar sem medo:

  # getkeycodes | grep 122

Falta agora associar o código em hexa da tecla com o keycode, o que é feito usando o comando "setkeycodes", como em:

  # setkeycodes e01e 122

Para que o comando torne-se definitivo, abra o arquivo "/etc/init.d/bootmisc.sh" num editor de textos (como root) e adicione o comando no final do arquivo. Todos os comandos dentro do arquivo são executados a cada boot:

  # kedit /etc/init.d/bootmisc.sh

A partir daí, volte ao arquivo ".xmodmop", associe a nova tecla com o "F18" e defina uma ação para ela no "Ações de entrada". Repita o processo para cada tecla que desejar ativar :).

Uma observação é que alguns teclados especiais, como os usados nos notebooks Toshiba A70 e A75 realmente não funcionam, pois utilizam um sistema proprietário para o mapeamento das teclas especiais, que não é suportado pelo sistema. Nestes casos, realmente não existe muito o que fazer. '



Veja a relação completa dos artigos de Carlos E. Morimoto

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script