XmodMap-pt-BR
english version Lkraider/XmodMap |
Xmodmap & Compiz
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:~$ gksudo 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! :
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.Inicializamos o novo modificador no início do arquivo:
clear Mod1 clear Mod2 clear Mod3
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:
http://www.in-ulm.de/~mascheck/X11/xmodmap.html - Bastante informativo
http://paste.lisp.org/display/1995 - Exemplos interessantes
(ambos em inglês)
v.1.4
Lkraider/XmodMap-pt-BR (last edited 2008-08-06 17:00:49 by localhost)