XmodMap

Differences between revisions 1 and 2
Revision 1 as of 2006-03-09 01:42:46
Size: 3977
Editor: 205
Comment: versão 1
Revision 2 as of 2006-03-09 01:53:55
Size: 4013
Editor: 205
Comment: v.1.1 - Changed formatting
Deletions are marked like this. Additions are marked like this.
Line 19: Line 19:
Exemplo: {{{sudo gedit /usr/share/xmodmap/xmodmap.br}}} Exemplo: {{{bash:~$ sudo gedit /usr/share/xmodmap/xmodmap.br}}}
Line 50: Line 50:
{{{xmodmap /usr/share/xmodmap/xmodmap.br}}} {{{bash:~$ xmodmap /usr/share/xmodmap/xmodmap.br}}}
Line 52: Line 52:
Para verificar o resultado da nossa modificação, execute: {{{xmodmap}}} sem argumentos. Deve mostrar algo assim: Para verificar o resultado da nossa modificação, execute: {{{bash:~$ xmodmap}}} sem argumentos. Deve mostrar algo assim:
Line 67: Line 67:
Para mais informações, visite:
http://www.in-ulm.de/~mascheck/X11/xmodmap.html - Bastante informativo
Para mais informações, visite:[[BR]]
http://www.in-ulm.de/~mascheck/X11/xmodmap.html - Bastante informativo[[BR]]

Depois de me debater um pouco (bastante) pra conseguir fazer funcionar as teclas Win do teclado com o Compiz, acabei aprendendo como funciona o formato do tal do xmodmap.

Segue aqui uma breve explicação e exemplo de como editar o arquivo xmodmap.seuteclado para habilitar as teclas Win como Super:


Inicialmente, você deve descobrir qual o código da tecla você quer alterar, chamado keycode. Para isso, um programa muito útil é o xev. Execute-o em um terminal e uma pequena janela aparecerá. No terminal, diversas informações serão mostradas quando você pressiona alguma tecla. Tente pressionar a tecla Win da esquerda, o resultado será parecido com isso: {{{KeyPress event, serial 30, synthetic NO, window 0x2e00001,

  • root 0x52, subw 0x0, time 3698176719, (596,523), root:(610,593), state 0x0, keycode 115 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes:

    XmbLookupString gives 0 bytes: XFilterEvent returns: False}}}

Note que o keycode é o número 115. Para a tecla Win da direita, o keycode será 116.

Munidos desta informação, podemos agora editar o arquivo xmodmap correspondente ao nosso teclado. Os layouts disponíveis no Ubuntu estão localizados na pasta /usr/share/xmodmap. Exemplo: bash:~$ sudo gedit /usr/share/xmodmap/xmodmap.br

Dando uma olhada no arquivo, percebemos logo que ele serve para ligar um keycode de uma tecla com o que realmente aquela tecla deve fazer no sistema. Queremos alterar a função das teclas Win, cujo keycode, como sabemos agora, é 115 e 116, então vamos para as linhas correspondentes. Exemplo: {{{keycode 115 = Select keycode 116 = Mode_switch}}}

Queremos que elas sejam interpretadas como teclas Super, então editamos para ficar assim: {{{keycode 115 = Super_L keycode 116 = Super_R}}}

Ou seja, Super_L corresponde à tecla Super esquerda e Super_R à tecla Super da direita (L de Left e R de Right, claro).

Mas espere, ainda não terminamos, e é aqui que muitos (leia-se EU) se confundem. A função Super é uma função especial, chamada modificadora, e é preciso avisar que iremos usá-la. Para isso, o xmodmap nos dá suporte para oito modificadores, sendo eles:

Shift

Control

Lock

Mod1

Mod2

Mod3

Mod4

Mod5

Deles, cinco são de livre uso, adivinhe quais! heh

Okay, então, como avisamos ao xmodmap que estamos usando as teclas Super? Simples! :

  1. Primeiro, vemos quais modificadores já estão sendo usados. Exemplo: {{{add Mod1 = Alt_L

add Mod2 = Mode_switch}}}. Vamos usar um novo modificador livre, neste caso Mod3.

  1. Inicializamos o novo modificador no início do arquivo: {{{clear Mod1

clear Mod2 clear Mod3}}}

  1. E no final do arquivo especificamos que estamos usando as teclas Super: add Mod3 = Super_L Super_R

Muito bem, serviço feito, agora salvamos o arquivo e dizemos para o xmodmap carregar nossas novas configurações. No terminal, digitamos: bash:~$ xmodmap /usr/share/xmodmap/xmodmap.br

Para verificar o resultado da nossa modificação, execute: bash:~$ xmodmap sem argumentos. Deve mostrar algo assim: {{{shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x6d) mod1 Alt_L (0x40), Meta_L (0x9c) mod2 Mode_switch (0x71) mod3 Super_L (0x73) Super_R (0x74) mod4 mod5}}}

Experimente usar os atalhos do Compiz definidos com a tag <Super> agora!

Para que suas alterações sejam usadas sempre, coloque um script pra carregar seu xmodmap toda vez que iniciar uma sessão no Gnome (pode ser no mesmo script que carrega o Compiz, como mostrado nos tutoriais sobre o assunto).

Para mais informações, visite:BR http://www.in-ulm.de/~mascheck/X11/xmodmap.html - Bastante informativoBR http://paste.lisp.org/display/1995 - Exemplos interessantes

Lkraider/XmodMap (last edited 2008-08-06 17:00:03 by localhost)