Keyboard Setup
The essential keyboard setup for Brazilian guys!
#Keyboard Setup para Linux
Configurador automatizado de teclado para distribuições Linux baseadas em Ubuntu (Pop!_OS, Ubuntu, Linux Mint, etc.).
O script resolve de forma simples e rápida um dos problemas mais comuns enfrentados por brasileiros no Linux: configurar o teclado corretamente para produzir cedilha (ç) e acentos.
#O problema
Quem usa Linux no Brasil geralmente se depara com uma dessas situações:
- Teclado ABNT2 conectado, mas o sistema não reconhece o layout brasileiro e as teclas ficam trocadas
- Teclado US International onde a combinação
' + cproduzć(c-agudo) em vez deç(cedilha)
Ambos os cenários impedem o uso correto do Português no dia a dia.
#A solução
O keyboard-setup.sh é um script interativo que configura tudo automaticamente com um único comando. Basta escolher qual teclado você está usando:
| Opção | Teclado | Resultado |
|---|---|---|
| 1 | pt-BR ABNT2 | Tecla ç funciona direto, ~ ao lado, acentos nativos |
| 2 | US International | ' + c = ç, ' + C = Ç, via workaround de cedilha |
#Distribuições suportadas
- Pop!_OS 22.04+
- Ubuntu 22.04+
- Linux Mint 21+
- Outras distribuições baseadas em Ubuntu/Debian com GNOME
Compatível com sessões X11 e Wayland (com ressalvas para Wayland na opção US International).
#Pré-requisitos
- Acesso
sudo(o script modifica arquivos do sistema) - Bash 4.0+
setxkbmapegsettings(já inclusos na maioria das distros com GNOME)
#Como usar
#1. Clone o repositório
git clone https://github.com/tio-jobs/keyboard-setup.git
cd keyboard-setup
#2. Dê permissão de execução
chmod u+x keyboard-setup.sh
#3. Execute o script
sudo ./keyboard-setup.sh
#4. Escolha seu teclado
============================================= Configuração de Teclado Pop!_OS / Ubuntu ============================================= Qual teclado você está usando? 1) pt-BR ABNT2 (teclado brasileiro com ç no teclado) 2) US International (teclado americano, ' + c = ç) Escolha [1/2]:
Digite 1 ou 2 e pressione ENTER. A configuração é aplicada imediatamente.
#O que o script faz
#Opção 1 — pt-BR ABNT2
Para quem tem um teclado físico brasileiro com a tecla ç dedicada:
- Configura
/etc/default/keyboardcom layoutbr, varianteabnt2, modeloabnt2 - Aplica o layout na sessão atual via
setxkbmapegsettings - Remove variáveis de input method (
GTK_IM_MODULE,QT_IM_MODULE,XMODIFIERS) que podem interferir - Limpa regras de cedilha do
~/.XCompose(desnecessárias no ABNT2) - Executa
dpkg-reconfigure keyboard-configurationpara persistência
#Opção 2 — US International
Para quem tem um teclado físico americano e precisa de ' + c = ç:
- Configura
/etc/default/keyboardcom layoutus, varianteintl, modelopc105 - Aplica o layout na sessão atual via
setxkbmapegsettings - Adiciona
GTK_IM_MODULE=cedilla,QT_IM_MODULE=cedillaeXMODIFIERS=@im=noneem/etc/environment - Configura
~/.XComposecom regrasdead_acute + c/Cpara cedilha - Corrige tabelas Compose do sistema (
en_US.UTF-8ept_BR.UTF-8):ćparaç - Verifica e instala o módulo
im-cedilla.sose necessário - Atualiza o cache de immodules do GTK
#Ambas as opções
- Cria backups automáticos (
.bak) de todos os arquivos modificados - Reinicia o serviço do teclado (
/etc/init.d/keyboard-setup.sh restart) - Exibe um resumo das alterações e instruções de teste
#Arquivos modificados
| Arquivo | Descrição |
|---|---|
/etc/default/keyboard |
Layout, variante e modelo do teclado |
/etc/environment |
Variáveis de input method (apenas US International) |
~/.XCompose |
Regras de composição de caracteres |
/usr/share/X11/locale/*/Compose |
Tabelas Compose do sistema (apenas US International) |
Todos os arquivos originais são preservados com extensão .bak antes de qualquer modificação.
#Alternando entre teclados
Você pode executar o script quantas vezes quiser. Se trocou de teclado (por exemplo, conectou um ABNT2 em vez do US International), basta rodar novamente:
sudo ./keyboard-setup.sh
Escolha a nova opção e o script reconfigura tudo automaticamente, incluindo a limpeza das configurações da opção anterior.
#Solução de problemas
#As alterações não surtiram efeito
Em alguns casos, pode ser necessário fazer logout e login novamente para que todas as variáveis de ambiente sejam recarregadas.
#Wayland e ~/.XCompose
Se você está usando Wayland (padrão no Ubuntu 22.04+), as regras do ~/.XCompose podem não funcionar em todos os aplicativos. As variáveis GTK_IM_MODULE e QT_IM_MODULE ainda serão configuradas e devem cobrir a maioria dos casos.
#O script reportou avisos (warnings)
Avisos em amarelo são informativos e não impedem o funcionamento. Eles indicam situações como:
- Arquivo de Compose do sistema não encontrado (normal em algumas distros)
- Cache de immodules não atualizado (não impede o funcionamento)
- Falha no
setxkbmapem sessão Wayland (esperado, ogsettingscobre esse caso)
#Como reverter as alterações
Os backups criados pelo script permitem reverter manualmente:
sudo cp /etc/default/keyboard.bak /etc/default/keyboard sudo cp /etc/environment.bak /etc/environment cp ~/.XCompose.bak ~/.XCompose
#Contribuindo
Este é um projeto aberto e contribuições são muito bem-vindas! Se você encontrou um bug, tem uma sugestão de melhoria ou quer adicionar suporte a outra distribuição:
- Abra uma issue descrevendo o problema ou a sugestão
- Faça um fork do repositório
- Crie uma branch para sua alteração (
git checkout -b minha-melhoria) - Faça o commit das suas mudanças (
git commit -m 'Adiciona minha melhoria') - Envie um push para a branch (
git push origin minha-melhoria) - Abra um Pull Request
#Ideias de contribuição
- Suporte a outras distribuições (Fedora, Arch, openSUSE)
- Suporte a outros ambientes desktop (KDE, XFCE, i3)
- Opção para teclado ABNT sem variante (layout
brpadrão) - Tradução para outros idiomas
- Testes automatizados
#Licença
Este projeto é distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com dedicação para a comunidade brasileira de Linux.
Se este projeto te ajudou, deixe uma estrela no repositório!