Vamos lá! Estudei algumas horas sobre o assunto e tenho informações importantes.
No Linux é claro que vão existir vários métodos de entrada para as interfaces gráficas. As mais usadas são:
xim: a mais antiga, que vem incorporada no X11. Suporte pior para línguas não ocidentais, mas bastante leve.ibus: mais recente, padrão no Gnome. Possuem melhor suporte para outras línguas e também a mais “pesada” em termos de pacotes e dependências.fcitx: recente, com bom suporte a diversas línguas e intermediária em relação ao “peso”.
Não obstante, temos ainda que se comportam diferente se o computador roda X11 ou Wayland.
- X11: Padrão para o
xim, mas pode ser configurado para ser usado outros conforme a aplicação. - Wayland: Deixa a cargo do gerenciador de janelas essa tarefa.
Mas lembrem-se que há aplicações que usam motor GTK (geralmente no Gnome) e outra que usam Qt (no Kde Plasma).
- Wayland: uma configuração já serve para ambos os motores.
- X11: variáveis de ambiente selecionam o modo de entrada
Com esse panorama todo na cabeça, comecei uma epopéia para manter um sistema de entrada que fosse o mesmo tanto no X11 (gtk e qt) quanto no Wayland. O objetivo era acabar com o problema do web whatsapp e também instalar o teclado em chinês que tinha tentado no passado, mas sem sucesso.
Tentei primeiramente com o ibus, mas estranhamente não funcionou no Wayland. Resolvi tentar o fcitx e felizmente consegui configurá-lo! 你好!
Pacotes instalados:
- app-i18n/fcitx-configtool (já puxou as depencieas do fcitx e fcitx-qt)
- app-i18n/fcitx-gtk
- app-i18n/fcitx-chinese-addons
A configuração no X11 ficou em adicionar as seguintes linhas no arquivo ~/.xinitrc
export GTK_IM_MODULE=xim
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
Sim, de algum modo os aplicativos gtk precisavam da variável indicar para usar o xim que eles passavam a usar o fcitx!!!
Já no Wayland, foi só selecionar a entrada de teclado virtual para Fcitx nas configurações do KDE Plasma.
Em ambos os casos (X11 e Wayland) há uma nova opção de configuração no Plasma para os detalhes de como configurar o fcitx, onde deve-se setar os idiomas desejados.
Agora então está explicado e entendido como funciona!