Diferença botão esquerdo / direito super

9

Quando eu pressiono a tecla esquerda Super , o shell do gnome aparece e, quando pressiono a tecla direita Super , não aparece. Além disso, pressionar o botão direito Super + T abre um terminal de uma só vez, mas ao usar super esquerda eu tenho que pressionar o T duas vezes, quando pressiono o T somente uma vez é similar a apenas pressionar o T sem manter Super à esquerda. Este último ponto também ocorre com outros atalhos que eu defini (como Super + L , Super + E ), mas não com Super + Acima / Abaixo / Esquerda / Direita .

O que eu quero é pressionar a tecla Super para pegar o shell do gnome e usar a tecla Super em combinação com T para abrir um terminal imediatamente (e similar com outros atalhos). Eu uso o Ubuntu 12.04 LTS e o shell do gnome 3.

    
por Erik 17.12.2012 / 12:12

1 resposta

1

solução xmodmap

Acho que você pode fazer isso usando o xmodmap , uma ferramenta para modificar mapas de teclado. Como meu teclado não tem a tecla Super correta, não posso confirmar esta solução, portanto, deixe um comentário se não funcionar.
Todas as etapas são feitas em um terminal

Imprimir o mapa de modificadores atual
Executar

xmodmap

Isto deve imprimir o mapa modificador atual que deve gostar de algo como isto

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

A linha importante é a linha mod4 , esta linha mostra quais códigos de chave são mapeados para os símbolos das teclas Super_L e Super_R.

Backup do mapa de chaves
Antes de mudarmos alguma coisa, é uma boa idéia fazer o backup do mapa de chaves atual, podemos fazer isso com

xmodmap -pke > ~/.xmodmap.orig

Agora, se algo der errado, você pode simplesmente digitar

xmodmap ~/.xmodmap.orig

para restaurar seu mapa de chaves original. (Se você cometeu alguns erros graves e não consegue mais digitar corretamente, a reinicialização também funciona)

Verifique o mapa de chaves atual para as Super chaves
Assumindo que as chaves Super possuam códigos de chaves consecutivos (0x85 e 0x86 neste caso), podemos verificar o mapeamento atual executando

xmodmap -pke | grep -wA1 $((0x85))

é claro que você deve mudar o 0x85 pelo código chave que você tem no seu mapa de modificadores. Isso deve te dar

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R

(o $((0x85)) converte o número hexadecimal em decimal)

Copie o comportamento da esquerda Super para a direita Super
Como você pode ver no passo anterior, a tecla direita Super possui o código de chave 134, mas queremos que ela tenha o comportamento da tecla esquerda Super que possui o código de tecla 133. Podemos faça isso remapeando a chave usando

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

Verificando se funciona
Se você fizer agora

xmodmap -pke | grep -wA1 $((0x85))

você deve ver

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L

, significando que ambas as chaves agora têm o mesmo comportamento. Além disso, o mapa modificador deve ter mudado na linha com mod4 , podemos verificar isso executando

xmodmap | grep 'mod4'

que deve dar

mod4        Super_L (0x85),  Super_L (0x86),  Super_L (0xce),  Hyper_L (0xcf)

E, claro, os atalhos que você mencionou devem funcionar também!

Torne o mapeamento persistente
Se funcionar, você pode garantir que essas configurações sejam aplicadas automaticamente ao inicializar. Executar

echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc

para armazenar seu mapeamento de chave personalizado no arquivo ~/.xmodmaprc . Executar

echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc

para garantir que o mapa de chaves personalizado seja executado quando o gerenciador de janelas for carregado.

    
por Gerhard Burger 06.01.2013 / 12:50