Como remapear teclas no Linux

Há várias situações em que remapear parte do seu teclado pode ser muito útil.
Um teclado danificado pode ser uma delas.

Há casos em que o usuário adquire um teclado limitado pelo próprio fabricante — ou seja, vem sem alguma tecla importante, como o “Num Lock”.

O procedimento é indicado em casos de teclas danificadas ou ausentes.

No meu teclado Dell WK636p (ABNT 105 teclas) há algumas teclas em pares (Shift, Ctrl etc.)
Neste post, descrevo como fazer com que o Linux substitua o sinal de uma por outra.
Como exemplo prático, vamos remapear a tecla “Shift esquerda” para “Num Lock”.
Você pode ajustar facilmente o meu exemplo às suas necessidades depois.
Com privilégios administrativos, use o seu editor de texto puro favorito para abrir o arquivo pc:


vim /usr/share/X11/xkb/symbols/pc 

Localize a linha:

key  {    [ Shift_L      ]   };

e a substitua por:

key  {    [ Num_Lock         ]   };

como remapear teclas no linux
Ao analisar o arquivo de mapeamento, é fácil perceber que o procedimento pode ser readequado para a maioria das teclas.
Pode ser necessário reiniciar a sessão para as edições terem efeito.

Relação de atalhos de teclado do KDE

Decorar as teclas de atalhos do seu ambiente gráfico. é fundamental para aumentar a sua produtividade.
Algumas hotkeys são comuns em vários ambientes (Unity, XFCE, LXDE, KDE, Gnome Shell, i3 etc.). Mas a maioria das teclas de atalho são totalmente diferentes entre os desktops.
Após vários anos usando o XFCE, no Xubuntu, passei a usar o KDE, no Kubuntu. Uma das primeiras coisa que fiz, foi decorar as teclas de atalho do novo gerenciador de janelas, para não impactar negativamente a minha produtividade.
Abaixo segue a relação de teclas de atalho do KDE.
Se você achar que ela poderia ter mais opções, ao final do texto, há um link para um post sobre como criar novos atalhos — não se esqueça de conferir!
klogo - KDE Official logo

Tabela de teclas de atalho do KDE

Atalho Ação
Alt+Tab e Alt+Shift+Tab Alterna entre as janelas das aplicações. O primeiro alterna para a próxima aplicação e o segundo (com Shift) alterna para a anterior.
Ctrl+Tab e Ctrl+Shift+Tab Alterna entre as áreas de trabalho ou entre as abas de aplicativos como o FireFox, Chromium etc. Isto pode variar de acordo com a distro em uso.
Alt + F2 Abre uma linha de comando no topo da tela, na qual você pode digitar uma sequência de comandos para execução imediata ou disparar algum aplicativo. Pode ser usado como o Dash, do Unity (Ubuntu puro). Em vez de procurar pelo seu aplicativo, via menu, digite as letras iniciais dele, e selecione na lista de sugestões.
Alt + F3 Abre o menu de janela do aplicativo em foco. A partir deste menu, é possível minimizar/maximizar/restaurar a janela do aplicativo atual. Você também pode alterar o tamanho ou mover a janela, através das teclas direcionadoras.
Este é um atalho comum em outros ambientes gráficos (XFCE, por exemplo).
Uma das funções que uso, neste menu, é a de enviar janelas de aplicativos para outras áreas de trabalho ou telas.
Alt + F4 Fecha a janela do aplicativo atual.
Ctrl + F1, F2 … F8 Alterna entre as diversas áreas de trabalho no seu sistema.
Ctrl + Alt + L Trava (Lock) o sistema. Útil, quando você vai se ausentar um pouco e deseja preservar suas coisas longe dos olhos (e dedos) de enxeridos. Para destravar, é necessário fornecer a senha de login — ou autenticar-se como outro usuário.
Ctrl + Alt + Del Exibe a janela de logout, com 3 escolhas:

  • Fechar sessão.
  • Desligar o computador.
  • Reiniciar o computador.
Ctrl + Alt + Esc Ativa o Window destroyer. Equivalente ao comando kill, mata o processo responsável pela janela sobre a qual você clicar.
Para cancelar o destroyer, tecle Esc novamente.
Ctrl + Alt + Backspace Esta combinação pode precisar ser ajustada nas configurações do X11. Tradicionalmente, ela mata o ambiente gráfico (sem confirmar), levando o sistema de volta ao terminal ou à tela de autenticação.
Win + Tab Alterna entre áreas de trabalho.
Ctrl + Alt + F1 Vai para a interface de linha de comando ou Command Line Interface (CLI). Há outras opções entre F1 e F6.
A área de trabalho gráfica ou Graphical User Interface (GUI) é Ctrl + Alt F7/F8.
Win + A tecla Win (ou Super), acompanhada de outras teclas, ativa a linha de comando e a lista de sugestão de aplicativos e de arquivos que comecem com a letra selecionada. Na implementação do KDE do Kubuntu, é necessário que a tela esteja “limpa”, ou seja, sem nenhum aplicativo visível para obter esta ação.
Win + L, irá sugerir aplicativos que começam com a letra ‘L’, como o libreOffice, por exemplo.
Experimente outras letras.

kde mascot Konqi
Como você pode ver, o KDE não tem tantas teclas de atalho predefinidas. Isto é bom, por 2 motivos: é fácil decorar e sobra um monte de opções para você personalizar.
Link: Saiba como criar novos atalhos de teclado no KDE!

O aplicativo Indicator Keylock exibe as teclas LOCK em notebooks e teclados sem LEDs

Se você usa um notebook ou teclado sem LEDs, pode encontrar alguma dificuldade para determinar quando as teclas LOCK (Caps Lock, Num Lock e Scroll Lock) estão ativas ou não.
Há outras maneiras, contudo, de ser avisado quando se esbarrou em uma das teclas modificadoras LOCK.

Leds do netbook.
Leds no netbook.

O Ubuntu tem, no painel de configuração do teclado a opção de emitir um aviso sonoro a cada vez que uma tecla LOCK é ativada ou desativada.
O indicator-keylock é um pequeno programa que emite um aviso visual, através do sistema de notificações já existente, de que o estado de uma das teclas LOCK foi alterado.
Trata-se de um appindicator que resolve o problema da falta de LEDs em notebooks, netbooks ou em teclados, como o DELL KM 632.
O aplicativo vem com vários ícones, para satisfazer os diversos temas disponíveis no ambiente desktop do Ubuntu.

Como instalar o indicator-keylock

Vou explicar como instalar o indicator-keylock através de PPAs.
Se você tiver alguma dificuldade para executar este processo, sugiro ler o tutorial Como instalar softwares a partir de PPAs — onde também se explica os possíveis “perigos” deste método de instalação.
No Ubuntu, abra um terminal e execute os seguintes comandos:

sudo add-apt-repository ppa:tsbarnes/indicator-keylock && sudo apt-get update
sudo apt-get install indicator-keylock

Para iniciar o aplicativo tecle Alt + F2 e execute “indicator-keylock”.
Opcionalmente, você pode instalar conjuntos de ícones adicionais ao seu sistema, para tornar o visualização do OSD do indicator-keylock mais agradável ou integrado ao seu tema atual.

sudo apt-get install indicator-keylock-ubuntu-mono indicator-keylock-humanity indicator-keylock-elementary

apt-cache search keylock
O resultado, após a instalação e execução do aplicativo, é a exibição de um pequeno quadro de aviso a cada vez que uma das teclas LOCK for ativada.
ativação da tela LOCK
Além disto, o sistema exibe um ícone, na barra de status, indicando a tecla que se encontra ativada.
O “A” maiúsculo, no ícone, representa a tecla “Caps Lock” (ou “Fixa”, em alguns teclados) — ele não se refere à letra A.

Como ligar o Num Lock quando a tecla está ausente

Recentemente me deparei com um teclado Dell KM 632, com as teclas numéricas dispostas à parte (conforme a foto abaixo), mas sem a tecla Num Lock, especificamente para ativar ou desativar esta parte do teclado.
Embora não haja qualquer indicação visual, esta parte do teclado tem dupla função, ou seja, as teclas tanto podem imprimir números como podem ser usadas como direcionadoras — ←, →, ↓, ↑, End, Home, PgDn, PgUp etc.

Teclado númerico no Dell KM 632
Clique para ampliar.

A falta de uma tecla modificadora Num Lock, a princípio, nos impede de usar com eficiência este teclado.
Sou usuário Linux e nem tentei ver como este dispositivo se comporta no Windows — e, verdade seja dita, tenho muito pouco interesse em saber.
Devolver o produto é uma alternativa, neste caso — e o consumidor tem o prazo legal de fazê-lo até 7 dias depois de o ter recebido.
Mas geeks tem esta tendência irresistível de querer procurar uma solução para tudo — às vezes, um tanto complexa.
Neste caso, há várias formas de resolver o problema, no Linux — e algumas são bastante simples.

Como solucionar ou contornar a falta de teclas no Linux

Você sempre pode (re)mapear o teclado e há ferramentas, no Linux, tanto gráficas, quanto scripts para executar no terminal para fazer isto.
Entre as possíveis soluções, eu enumero as seguintes:

  • Remapeie as teclas — Ainda que esteja faltando uma tecla, ainda há outras “sobrando” no teclado: Ctrl, Shift e Delete, estão presentes em pares, cada uma. Além disto, há algumas que são bem menos usadas: Caps Lock, Tab ou ESC — Ok! A gente usa todas elas… 😉 Mas será que usa a combinação de Ctrl + Esc? E Alt+Caps Lock?
    A idéia é atribuir a uma destas teclas (ou combinação) “inúteis” para você a função da tecla que está faltando.
  • Crie um script para ativar/desativar a função da tecla em questão — Qualquer que seja a função, ela provavelmente pode ser ativada a partir de um script — seja hibernação, controle do áudio, trava do teclado, Num Lock, Scroll Lock etc.
    Você pode associar esta solução a outras, para ter uma maior comodidade: criar suas teclas de atalho para acionar o script ou o comando ou, ainda, adicioná-lo à inicialização do seu sistema.
  • Baixe um aplicativo utilitário para ligar/desligar a função desejada — Há aplicativos que fazem este trabalho e também podem ser associados a teclas de atalho ou inseridos na inicialização do sistema.

Neste caso, optei por usar um pequeno utilitário, que liga ou desliga o teclado numérico pra mim.

Como ativar/desativar o Num Lock com o numlockx

O numlockx é um programa utilitário, feito para controlar a tecla Num Lock ou NumLock dentro de uma sessão do X11.
Ou seja, dentro do ambiente gráfico, o numlockx resolve o problema.
Ele é muito simples e estável. Tem 4 opções de funcionamento, apenas:

  • on — para ligar o teclado numérico.
  • off — para desligar.
  • toggle — para alterar o estado do teclado numérico: se estivar ligado, desliga (e vice-versa).
  • status — para informar o estado atual do Num Lock.

Para ligar o Num Lock, portanto, o seguinte comando basta:

numlockx on

Se quiser saber se deu certo, use a opção status:

numlockx status
Numlock is on

O uso da opção status pode ser útil dentro de um script, para verificar a situação da tecla.
Você pode obter mais ajuda sobre o numlockx, com o help:

numlockx --help

Como instalar o numlockx

O aplicativo está disponível nos repositórios do Debian, do Ubuntu e de outras distribuições baseadas nelas.
Pode ser instalado, portanto, facilmente, com apt-get ou através da central de instalação de programas da sua distro favorita.

sudo apt-get update
sudo apt-get install numlockx

Se preferir um caminho mais fácil, clique aqui, para instalar o numlockx no seu sistema Ubuntu.
Usuários de distros baseadas no Red Hat, podem baixar o pacote RPM, mais atualizado, no link abaixo:
Download numlockx: http://sourceforge.net/projects/magicrpmshop/files/?source=navbar.

Como ligar o Num Lock automaticamente no início da sessão

A versão mais atual do numlockx já faz esta alteração.
Se isto não estiver acontecendo, sugiro ler o post sobre como tirar ou colocar aplicativos no início automático ou alterar o arquivo .xinitrc:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#

numlockx &

exec window_manager

Referências:

Documentação do ArchLinux: https://wiki.archlinux.org/index.php/Activating_Numlock_on_Bootup.
Post no Cyberciti: http://www.cyberciti.biz/faq/how-to-linux-turn-on-num-lock-on-gnome-startup/.

Comandos para ajustar o brilho da tela.

É possível controlar o brilho da tela através de alguns comandos do teclado. Isto pode ser útil quando as teclas de controle específicas não estão funcionando no seu notebook, por exemplo.
As teclas de controle padrão, em laptops, costumam ser acessíveis através do pressionamento conjunto de uma tecla de função.

Teclas especiais ajuste brilho notebook
Clique para ampliar.

No meu meu caso, para regular o brilho da tela do meu laptop, eu uso a combinação Fn + F11 (para reduzir o brilho) e Fn + F12 (para aumentar).
Se você tiver dúvidas, consulte o manual do seu notebook.
Neste post, vou mostrar 3 métodos para controlar brilho do seu monitor. Se você conhece ou prefere outras formas, contribua nos comentários.

Use o xbacklight para regular o brilho da tela

O programa xbacklight tem a função de ajustar o brilho da tela, através de uma extensão do (outro programa) RandR.
Em outros textos, já mostrei como usar o RandR para alterar a resolução e instalar mais monitores no seu sistema.
O uso básico do xbacklight é este:

  • Para aumentar o brilho em 10%: xbacklight --inc 10.
  • Para reduzir o brilho em 10%: xbacklight --dec 10.

O aplicativo xbacklight permite mais ajustes, inclusive regular a escala e a gradatividade — para evitar o incômodo causado pelas mudanças bruscas: Leia mais sobre o xbacklight e suas opções de uso, aqui.

Use o redshift

Recentemente, escrevi sobre o x.flux (ou f.lux) e sobre o redshift. — A principal função deles não é ajustar o brilho da tela, mas a temperatura das cores da sua tela.
Ambos são projetados para rodar em background e, automaticamente, fazer ajustes de acordo com a hora do dia.
Com isto, o f.lux e o redshift contribuem para o maior conforto do usuário que precisa usar o computador à noite — além disto, pode prevenir a dificuldade que muitas pessoas têm de pegar no sono, após horas exaustivas de trabalho no PC.
O redshift, especificamente, pode ser usado para regular o brilho também.
Ao indicar a latitude de sua localização, é possível informar também a intensidade da luz emitida pelo backlight do seu visor. Veja:

redshift -b DAY:NIGHT

No caso, troque as variáveis DAY e NIGHT pelos valores de brilho que você deseja obter de dia e à noite.
Os valores vão de 0.1 a 1.0.

» Leia mais sobre o redshift.

A solução, pelo redshift, pode ser a indicada para quem deseja algo definitivo, sem a necessidade de ficar arrumando as configurações do monitor, toda vez que for usar o computador — o redshift ajusta o seu monitor, assim que você der login.

Use o xfpm-power-backlight-helper

Esta solução é voltada para quem usa o XFCE, como ambiente desktop. Este é o caso do Xubuntu.
Apesar do nome grande, a solução não é complicada. Você pode copiar e colar os comandos em um terminal.

O xfpm-power-backlight-helper faz parte do pacote de aplicativos de gestão de energia do ambiente desktop XFCE. Por isto, você provavelmente não irá encontrá-lo no Ubuntu padrão, cujo desktop é comandado pelo Unity.

Para verificar o valor do brilho atual do seu monitor, use o comando assim:

xfpm-power-backlight-helper --get-brightness

Para verificar o valor máximo do brilho atual…

xfpm-power-backlight-helper --get-max-brightness

Para alterar o valor, contudo, você precisará ser root e precisa rodar o programa de dentro do pkexec. Veja como alterar o valor do brilho para 80:

pkexec --user root xfpm-power-backlight-helper --set-brightness 80

Se você pretende diminuir o brilho da tela, faça isto gradativamente, para não acabar com uma tela totalmente preta e sem saber o que está acontecendo.

Leia mais sobre “brilho da tela do monitor” na sessão de busca do site.