Acentuação com cedilha errada com teclado en-us no ZorinOS 18

Em meu notebook de 2019, que possui teclado internacional, após trocar
do EndeavourOS para o Zorin OS 18, o acento + c parou de produzir o
ç como esperado, passando a gerar ć.

Existe um workaround usando AltGr + ,, mas isso quebra totalmente a
memória muscular, principalmente pra quem já está acostumado há anos
com o comportamento padrão. Num primeiro momento, deixei pra lá, mas
depois de pesquisar melhor, encontrei uma solução que resolveu o
problema.

1. Layout do teclado

O layout do seu teclado no sistema precisa estar como:

  • Inglês (EUA, intern. alt.), ou
  • English (US, intl., with dead keys)

2. Edite o arquivo /etc/environment

sudo nano /etc/environment

3. Adicione as variáveis de ambiente

No final do arquivo, adicione:

GTK_IM_MODULE=cedilla
QT_IM_MODULE=cedilla

4. Crie o arquivo .XCompose (para GTK4)

No diretório do seu usuário, crie o arquivo .XCompose com o conteúdo
abaixo:

# UTF-8 (Unicode) compose sequences

# Overrides C acute with Ccedilla:
<dead_acute> <C> : "Ç" "Ccedilla"
<dead_acute> <c> : "ç" "ccedilla"

5. Configure o GNOME (gsettings)

Execute o comando:

gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule': <'ibus'>}"

6. Ajuste o Flatpak

Para garantir que apps em Flatpak respeitem a configuração:

flatpak override --user --env=GTK_IM_MODULE=ibus
flatpak override --user --env=QT_IM_MODULE=ibus
flatpak override --user --env=XMODIFIERS=@im=ibus

7. Reinicie a sessão

Reinicie o computador ou a sessão para aplicar todas as configurações.


Após esses passos, o teclado volta a produzir o ç corretamente
usando acento + c, como esperado :tada:


Crédito (parte da solução):

4 curtidas

Vou deixar uma contribuição, no Navegador (principalmente derivados do Chrome) uso o Vivaldi, apesar de tudo isso ele segue colocando o ascento agúdo em cima do “C”.

Para resolver isso é só adicionar:

--ozone-platform=x11 %U

no lançador do aplicativo (editar o atalho ou criar um .sh).

Eu sei que não é a melhor solução, mas pro meu caso foi a única coisa que resolveu.

O parâmetro --ozone-platform=x11 força o Chromium (Chrome/Vivaldi) a usar o backend de exibição do X11 (via XWayland) em vez do Wayland nativo. Isso muda completamente o caminho de entrada do teclado: no X11, o processamento de layouts (como ABNT2) e teclas de composição (dead keys) é mais antigo e estável, enquanto no Wayland o Chromium depende de uma pilha mais nova (Ozone + libxkbcommon + integração com o compositor), onde ainda existem inconsistências.

O problema do cedilha acontece justamente nessa camada moderna: a combinação de dead keys e layout pt-BR nem sempre é interpretada corretamente no Wayland, podendo gerar caracteres errados como “ć”. Ao forçar X11, o navegador volta a usar o mecanismo tradicional de entrada de teclado, que lida corretamente com essas composições — por isso o problema desaparece.

1 curtida

Tive esse problema no Zorin de casa e a única coisa q consegui foi com o ALTdir + (vírgula) produzir o cedilha corretamente…vou tentar essa estratégia. Obrigado

Acho que nas versões mais atuais foi descontinuado --ozone-platform=

No CachyOS funciona e ele é bem atualizado… agora é fato que dependendo da distro pode funcionar ou não.