Configurando teclados multimídia

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.

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.

Você não está restrito apenas a aplicativos, pode usar qualquer comando de terminal. Quanto maiores seus conhecimentos sobre o tema, mais coisas interessantes você vai conseguir fazer. Por exemplo, o KDE oferece um recurso chamado “dcop”, que permite controlar funções dos aplicativos gráficos via linha de comando. Estas funções podem ser usadas nos atalhos, aumentando brutalmente o leque de opções. Cada aplicativo suporta um número diferente de funções. Se você usa o Kmix (o ícone do auto falante ao lado do relógio), pode aumentar o volume usando o comando “dcop kmix Mixer0 increaseVolume 0” e reduzir usando “dcop kmix Mixer0 decreaseVolume 0“.

Você pode criar dois atalhos, usando os passos normais e usar estes comandos, criando teclas que ajustam o volume. Mesmo que você não tenha um teclado multimídia, pode fazer isso usando teclas que não são usadas, como por exemplo as teclas “Scroll Lock” e “Pause Break”.

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.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X