Post
Remapeando o Caps Lock para F8 no Ubuntu com keyd
Como remapear globalmente o Caps Lock para F8 no Ubuntu 26.04 com GNOME e Wayland usando o keyd.
O Caps Lock já não tinha uma função relevante no meu fluxo de trabalho e ainda era acionado acidentalmente de vez em quando. A tecla F8, por outro lado, é útil com bastante frequência. A solução foi simples: fazer com que qualquer pressionamento físico do Caps Lock seja interpretado pelo sistema como F8.
Este post registra a configuração que apliquei e validei em um Dell Inspiron
15 3535, com Ubuntu 26.04, GNOME, Wayland e o pacote keyd
2.5.0-5.
Por que usar o keyd?
O remapeamento precisa funcionar em todo o sistema, e não apenas em uma
aplicação ou dentro da sessão gráfica. O keyd opera no nível dos dispositivos
de entrada, antes do GNOME, do Wayland e das aplicações. Por isso, a mesma regra
é aplicada em terminais, navegadores, aplicações gráficas e outras sessões.
Soluções tradicionais como o xmodmap dependem do X11 e não são adequadas para
uma sessão moderna baseada em Wayland. O GNOME Tweaks e o gsettings permitem
desativar ou alterar alguns comportamentos predefinidos do Caps Lock, mas não
oferecem o remapeamento arbitrário para F8 de forma tão direta.
Instalando o keyd
No Ubuntu, a instalação é feita pelo gerenciador de pacotes:
1
2
sudo apt update
sudo apt install keyd
Criando o remapeamento
O arquivo de configuração usado pelo serviço é
/etc/keyd/default.conf:
1
sudoedit /etc/keyd/default.conf
Seu conteúdo é:
1
2
3
4
5
[ids]
*
[main]
capslock = f8
O identificador * faz com que a configuração seja aplicada a todos os
teclados reconhecidos pelo serviço. Assim, a regra não fica limitada ao teclado
interno do notebook: ela também vale para teclados externos conectados ao
computador.
Ativando o serviço
Para habilitar o serviço no boot e iniciá-lo imediatamente:
1
sudo systemctl enable --now keyd
Há uma particularidade na versão empacotada pelo Ubuntu. O serviço continua
sendo chamado keyd.service, mas o executável administrativo é instalado como
keyd.rvaiya, e não simplesmente keyd como aparece em parte da documentação
do projeto upstream.
Depois de alterar o arquivo, recarrego a configuração com:
1
sudo keyd.rvaiya reload
Validando o resultado
O estado do serviço pode ser consultado com:
1
systemctl is-active keyd
O resultado esperado é:
1
active
Em seguida, basta pressionar a tecla física Caps Lock em uma aplicação que use F8. No meu caso, o evento produzido passou a ser o da tecla F8, tanto em aplicações gráficas quanto no terminal.
Quando é necessário investigar o evento de entrada em detalhes, o keyd oferece
um monitor:
1
sudo keyd.rvaiya monitor
Os logs do serviço ficam disponíveis no journal do systemd:
1
sudo journalctl -u keyd -n 30 --no-pager
Alternativas consideradas
xmodmap
Não adotei o xmodmap porque ele depende do X11. Em uma sessão Wayland, o
remapeamento pode não funcionar ou ficar restrito a componentes específicos.
GNOME Tweaks e gsettings
Essas opções são úteis para desativar o Caps Lock ou modificar comportamentos predefinidos, mas não são a alternativa mais direta para converter a tecla em F8.
Input Remapper
O Input Remapper tem interface gráfica e suporte a Wayland. Ainda assim, para
uma única regra permanente, ele adiciona mais componentes e configuração do que
o necessário. O arquivo declarativo do keyd resolve o caso com poucas linhas.
O que muda no uso diário?
O resultado é uma pequena alteração, mas com efeito global:
- o Caps Lock original deixa de estar disponível;
- qualquer teclado conectado é afetado pela regra;
- o serviço inicia automaticamente durante o boot;
- o remapeamento funciona em Wayland e fora da sessão gráfica;
- a configuração permanece pequena, declarativa e versionável;
- não há dependência de extensões do GNOME ou de scripts de login.
Essa abrangência é justamente a principal vantagem do keyd, mas também exige
atenção: se outro teclado precisar manter o comportamento original do Caps
Lock, o identificador * deverá ser substituído por regras específicas para os
dispositivos desejados.
Revertendo a alteração
Para desativar temporariamente o remapeamento e impedir que o serviço inicie automaticamente:
1
sudo systemctl disable --now keyd
Para remover apenas a configuração e reiniciar o serviço:
1
2
sudo rm -f /etc/keyd/default.conf
sudo systemctl restart keyd
Para remover completamente o pacote:
1
2
sudo systemctl disable --now keyd
sudo apt remove keyd
Resultado
O keyd resolveu o problema sem depender do servidor gráfico. Depois da
ativação, a tecla física Caps Lock passou a produzir permanentemente o
evento correspondente à tecla F8 no Ubuntu.
Para esse tipo de ajuste, uma configuração pequena no nível correto da pilha de entrada acaba sendo mais confiável do que uma solução acoplada ao ambiente de desktop. E, neste caso, também transformou uma tecla quase inútil em um atalho que realmente uso.