De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Acentuação em FreeBSD

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 25 de Março de 1998

Para usar teclados padrão ABNT com FreeBSD é preciso que se façam algumas alterações. A primeira delas é editar o arquivo /etc/rc.conf e na linha que contém a diretiva

  keymap="br275.cp850"	# keymap in /usr/share/syscons/keymaps/* (or NO).

coloque a definição como acima.

Em seguida pode ser necessário o mapeamento de determinadas teclas para acabar de acertar tudo. Para determinar o código de cada tecla, utilize o utilitário xev. Este utilitário registra todos os eventos da sua sessão X. No nosso caso nos interessa o "keycode" de cada tecla e o que cada uma delas está representando. Por exemplo, pode ser que ao digitar a tecla onde está impresso o carácter "[" apareça o caracter "]". É necessário então se fazer um ajuste.

Para isto eu preciso criar um arquivo chamado .Xmodmap (este é o nome que escolhi, pode ser qualquer outro). Dentro deste arquivo inclua as definições para se fazer o ajuste, como por exemplo:

  keycode 48 = 0x7e 0x5e
  keycode 123 = 0x2f 0x3f
  keycode 47  = 0xe7 0xc7

Aqui entra novamente o xev. Ao pressionar qualquer tecla, ele me exibe algo do tipo:

  KeyPress event, serial 21, synthetic NO, window 0x3400001,
      root 0x2a, subw 0x0, time 1610464876, (476,203), root:(532,327),
      state 0x0, keycode 48 (keysym 0x7e, asciitilde), same_screen YES,
      XLookupString gives 1 characters:  "~"=
  
  KeyRelease event, serial 21, synthetic NO, window 0x3400001,
      root 0x2a, subw 0x0, time 1610465022, (476,203), root:(532,327),
      state 0x0, keycode 48 (keysym 0x7e, asciitilde), same_screen YES,
      XLookupString gives 1 characters:  "~"=

Nesta saída pode-se ver que a tecla que digitei possui o código (keycode) igual a 48, e que esta tecla representa o carácter "~", ou asciitilde. A partir daí fica fácil, basta fazer o casamento= do código das teclas com a representação que você desejar. Importante, faça todas as anotações dos códigos primeiro, antes de realizar qualquer modificação. Você não irá conseguir a representação dos carácteres que eliminar.

Uma vez terminada a edição do arquivo .Xmodmap, resta colocá-lo para funcionar. Para isto use o comando xmodmap:

  % xmodmap .Xmodmap

Isto pode ser feito a partir do seu arquivo .xinitrc:

  usermodmap=$HOME/.Xmodmap
  if [ -f $sysmodmap ]; then
      xmodmap $sysmodmap

E pronto, o seu teclado está funcionando perfeitamente!

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida