[FUGSPBR] Re: Re: Configuração de teclado "us internacional" no console

José Romildo Malaquias romildo em uber.com.br
Dom Jan 6 07:34:05 BRST 2002


On Mon, Dec 24, 2001 at 03:16:34PM -0200, José Romildo Malaquias wrote:
> On Sat, Nov 24, 2001 at 12:45:22AM -0200, Eduardo Lopes wrote:
> > >não consegui descobrir como configurar o teclado americano para
> > >usar acentos (dead keys). O mapa padrão não funciona com acentos
> > >e não encontrei na configuração (usando o sysinstall) nenhum mapa
> > >de teclado para tal configuração.
>  
> > Eu editei o mapa us.iso.kbd (que vai em anexo como us.iso.acc.kbd) para usar
> > as "deadkeys". Para fazerfuncionar faça o seguinte:
> > 
> > 1) copie us.iso.acc.kbd para /usr/share/syscons/keymaps/
> > 2) adicione keymap="us.iso.acc.kbd" no seu /etc/rc.conf
> > 3) faça com que o rc.conf seja lido (reboot  por exemplo)
> > 
> > OBS: Se o seu shell for sh ou bash isso deve ser suficiente. Se for tcsh, vc
> > deve acrescentar ao .cshrc o seguinte:
> > 
> > setenv LANG  en_US.ISO_8859-1
> > 
> > (ou então acrescentar ao seu .cshrc:
> >   setenv LANG  pt_BR.ISO_8859-1
> >   setenv MM_CHARSET pt_BR.ISO_8859-1
> >   setenv LC_ALL  pt_BR.ISO_8859-1
> > e fazer:
> >    cp -r /usr/share/locale/pt_PT.ISO_8859-1/
> > /usr/share/locale/pt_BR.ISO_8859-1/
> > 
> > fazendo isso vc configura o i18n e l10n e os programas compatíveis com essas
> > especificações vão ficar em português)
> 
> Após instalar o mapa de teclado us.iso.acc.kbd preparado pelo Eduardo
> Lopes (obrigado, Eduardo), e alterar o arquivo /etc/rc.conf para
> utilizá-lo, não obtive o comportamento desejado. O sistema reconhece
> as "dead keys", mas não está conseguindo combiná-las com as vogais
> digitadas em seguida para formar caracteres com acentos. Por exemplo,
> ao digitar 'a obtenho apenas um beep e não o a com acento agudo.
> No entando, se digito ' seguido de uma letra que não pode receber
> acento agudo, aparecem ' e a letra. A fonte em uso é iso-8859-1.
>  
> Alguma dica?

Após dias sem resposta, eu consegui identificar o problema e sua
solução. Este comportamento se deve ao shell sendo utilizado: o
bash. Em sua configuração padrão ele não aceita caracteres cujo
código apresenta o oitavo bit setado, isto é, com código maior
que 127. Este é o caso dos caracteres nacionais na codificação
iso8859. Para resolver o problema acrescentei as seguintes linhas
ao arquivo /etc/profile, o arquivo de inicialização do bash:

  if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" -a -f /etc/inputrc ]; then
      INPUTRC=/etc/inputrc
      export INPUTRC
  fi

Também acrescentei o arquivo /etc/inputrc, anexo a esta mensaegm,
contendo a configuração necessária para o bash (ou melhor, a
biblioteca readline) tratar corretamente caracteres de 8 bits.

Romildo
-- 
Prof. José Romildo Malaquias               Departamento de Computação
http://iceb.ufop.br/~romildo       Universidade Federal de Ouro Preto
romildo em iceb.ufop.br                                           Brasil
romildo em uber.com.br
-------------- Próxima Parte ----------
# do not bell on tab-completion
#set bell-style none

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

$if mode=emacs

# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

# for rxvt
"\e[8~": end-of-line

# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif


Mais detalhes sobre a lista de discussão freebsd