Olá pessoal, Já falamos que os programas I18N somente necessitam que o sistema X seja configurado para que aceitem acentuação. Pois bem, se esse é o seu caso, a página Xkb-Br , de Ricardo Y. Igarashi, <http://lie-br.conectiva.com.br/~iga/> contém instruções e arquivos necessários para incluir mapas de teclado para o X, com configuração para dead-keys e teclado ABNT2, de uma forma, a meu ver, bastante limpa, sendo uma opção a considerar. O script preparado pelo Ricardo inclui os arquivos necessários e altera o que for preciso. A partir daí, o sistema X reconhece o teclado ABNT2 e o US com suporte a acentos de uma forma natural. Eu mesmo fiz testes com essa solução e pude constatar que funciona. Meu sistema é Debian 2.1, com kernel 2.0.36 e teclado US101 e a versão do XFree86 é a 3.3.2.3 . Recomendo bastante.
Porém, se você, como eu, usa o StarOffice, quer que o Corel WordPerfect reconheca a sequência 'c como ç, ou pretende usar outra solução, vamos falar sobre o patch do Quinot. O Linux Portuguese-HOWTO e a página do Ricardo Igarashi falam sobre uma modificação implementada na biblioteca Xlib pelo francês Thomas Quinot. Pois bem, consegui o patch, apliquei-o aos fontes do X, recompilei o sistema (Uau ! Que experiência ! A compilação demorou mais de 4 horas em meu Pentium-133 ...), substituí o arquivo da biblioteca, configurei o mapa de teclado e efetuei os testes. Vejam os resultados: a) rxvt e xterm - acentuação normal b) Netscape Communicator versão 4.5 - acentuação normal c) StarOffice 5.1 - RECONHECE a sequência 'c para gerar o c-cedilha Todos os acentos reconhecidos em letras minúsculas E maiúsculas Resumindo: Acentuação normal d) Corel WordPerfect 8 - Acentuação normal e a sequência 'c é aceita, desde que usemos uma Xlib compilada com libc5 e) xedit - acentuação normal Em virtude que somente uma biblioteca do X deve ser modificada, eu criei os seguintes arquivos: libX11-XF3.3.2.3-libc5.tar.gz - arquivo libX11.so.6.1, compilado com libc5 p/ sistema XFree86 3.3.2.3 libX11-XF3.3.2.3.tar.gz - arquivo libX11.so.6.1, compilado com libc6 p/ sistema XFree86 3.3.2.3 libX11-XF3.3.3.1-libc5.tar.gz - arquivo libX11.so.6.1, compilado com libc5 p/ sistema XFree86 3.3.3.1 libX11-XF3.3.3.1.tar.gz - arquivo libX11.so.6.1, compilado com libc6 p/ sistema XFree86 3.3.3.1 Observações: 1 - Em todos eles, inclui, junto com o arquivo libX11.so.6.1, o patch original XFree86-3.3.1-dead-keys.diff para aqueles que queiram por si mesmos construir os pacotes do XFree86 com a alteração. 2 - Para os arquivos da versão 3.3.3.1 do XFree86, eu compilei usando o pacote fonte (release nr. 10) que está na distribuição Potato. Os arquivos acima serão enviados para 3 integrantes da lista que me pediram anteriormente. Já peço a eles que divulguem os endereços de suas páginas, aqui na lista ou em outras, se quiserem, assim que os tiver disponibilizado. As instruções abaixo constam do Linux-Portuguese HOWTO e devem ser executadas com o servidor X desativado: 1 - Configure a acentuação no console, inclusive os mapas de teclado adequados ao seu caso (ABNT2 ou US c/acentos). 2 - Faça as alterações descritas no HOWTO para o arquivo /usr/X11R6/lib/X11/locale/iso8859-1/Compose para que possa- mos utilizar a sequência 'c para gerar o c-cedilha. Será que é necessário se estivermos usando o teclado ABNT2 ? Alguém quer testar ? 3 - Se definiu os locales, será necessário também alterar os arquivos correspondentes no X (Veja no HOWTO): /usr/X11R6/lib/X11/locale/compose.dir /usr/X11R6/lib/X11/locale/locale.alias /usr/X11R6/lib/X11/locale/locale.dir 4 - Tendo obtido o arquivo apropriado para a versão do sistema XFree86 que estiver utilizando, na versão compilada com libc6, copie para um diretório temporário. Extraia seu conteúdo e mova o arquivo /usr/X11R6/lib/libX11.so.6.1 para outro diretório para guardá-lo como backup. Precisa movê-lo, não apenas renomear, para qualquer diretório cujo nome NÃO esteja contido no arquivo /etc/ld.so.conf, nem pode movê-lo para /usr/lib e /lib . Depois, mova o novo arquivo para o lugar do antigo e execute o programa ldconfig (deve ser feito pelo usuário root). Exemplo: cp libX11-XF3.3.2.3.tar.gz /tmp cd /tmp tar xvfz libX11-XF3.3.2.3.tar.gz mkdir /usr/X11R6/oldlib --> diretório criado para abrigar o arquivo a ser substituído mv /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/oldlib mv libX11.so.6.1 /usr/X11R6/lib /sbin/ldconfig 5 - Se estiver utilizando o Corel WordPerfect 8 e quiser que ele reconheça a sequência 'c para gerar o c-cedilha, será necessário também efetuar as instruções acima com mais um arquivo : libX11-XF3.3.2.3-libc5.tar.gz. A biblioteca libX11 compilada com libc5 fica gravada no diretório /usr/lib/libc5-compat/ . Exemplo: cp libX11-XF3.3.2.3-libc5.tar.gz /tmp cd /tmp tar xvfz libX11-XF3.3.2.3-libc5.tar.gz mkdir /usr/lib/oldlib mv /usr/lib/libc5-compat/libX11.so.6.1 /usr/lib/oldlib/ mv libX11.so.6.1 /usr/lib/libc5-compat/ /sbin/ldconfig 6 - Inclua a linha XkbDisable no arquivo /etc/X11/XF86Config, seção Keyboard . Antes, porém, salve o arquivo original. 7 - Com a alteração acima, a tecla BackSpace deixa de funcionar como tal, assumindo a função da tecla Delete. Para resolver isso, edite o arquivo /etc/X11/Xmodmap e descomente a linha ! keycode 22 = BackSpace (basta excluir o ponto de exclamação). Salve o arquivo antes de alterá-lo. 8 - Reinicie o servidor X. Faça os testes. Ufa, pessoal, creio que não faltou nada. A solução (?) está aí. Uma outra solução é apresentada pelo Carlos A.M. dos Santos em sua página <http://www.inf.ufrgs.br/~casantos/Xaw-dead-keys/> mas não a testei. Fiquem a vontade para adotar a melhor solução que acharem. Estou à disposição para qualquer outra dúvida. Desculpem o mail longo, mas foi necessário. [] Fernando