Diferença botão esquerdo / direito

10

Quando pressiono a Supertecla esquerda, o shell gnome aparece e, quando pressiono a Supertecla direita , não aparece. Além disso, pressionar direita Super+ Tabre um terminal de uma só vez, mas ao usar o super esquerdo, tenho que pressionar Tduas vezes, quando pressiono Tapenas uma vez, é semelhante a apenas pressionar o botão Tsem pressionar a Superesquerda. Este último ponto também ocorre com outros atalhos que eu defini (como Super+ L, Super+ E), mas não com Super+ Up/Down/Left/Right.

O que eu quero é pressionar qualquer Supertecla para obter o shell do gnome e usá Super-la em combinação com Tpara abrir um terminal imediatamente (e semelhante a outros atalhos). Eu uso o Ubuntu 12.04 LTS e o shell gnome 3.

Erik
fonte
Em Settings Manager -> Keyboard, existe uma opção como exo-open --launch TerminalEmulator? Se sim, o que diz na segunda coluna, atalho?
DaimyoKirby
1) Você quer dizer a seção Teclado em configurações do sistema? Nesse caso, não consigo encontrá-lo lá. 2) Se você quer dizer o gerenciador de configurações do compiz, também não consigo encontrá-lo. Independentemente disso, tentei seu comando no terminal e ele diz que o exo-open não está instalado, então duvido muito que essa opção esteja lá. Há, porém, o terminal de lançamento de atalho personalizado com o comando x-terminal-emulator. Esse é o que eu uso, pois o terminal de inicialização padrão parece não funcionar.
Erik

Respostas:

4

solução xmodmap

Eu acho que você pode fazer isso usando o xmodmap , uma ferramenta para modificar mapas de teclas. Como o teclado não possui a Supertecla certa, 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 atual do modificador
Executar

xmodmap

Isso deve imprimir o mapa modificador atual, que deve ser 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 mod4linha, essa linha mostra quais códigos de chave são mapeados para os símbolos de tecla Super_L e Super_R.

Backup do mapa de chaves
Antes de alterar qualquer coisa, é uma boa idéia fazer 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 pode mais digitar corretamente, uma reinicialização também funciona)

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

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

é claro que você deve alterar o 0x85 pelo código-chave do seu mapa modificador. Isso deve lhe dar

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

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

Copie o comportamento da esquerda Super para a direita Super
Como você pode ver na etapa anterior, a Supertecla direita tem o código de chave 134, mas queremos que ela tenha o comportamento da Supertecla esquerda que possui o código de chave 133. Podemos fazer isso remapeando a chave usando

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

Verificando se funciona
Se você agora

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

Você deveria ver

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

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

xmodmap | grep 'mod4'

o que deve dar

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

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

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

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

para armazenar o mapeamento de chave personalizado no arquivo ~/.xmodmaprc. Corre

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

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

Gerhard Burger
fonte
1
Antes de tudo, obrigado pela sua resposta. Fiz tudo para tornar o mapeamento persistente. A saída no terminal foi exatamente como mencionado, no entanto, meus problemas permanecem os mesmos: o super esquerdo mostra o shell do gnome e o direito não. E, semelhante aos atalhos, com o super esquerdo, você terá que pressionar t duas vezes para abrir o terminal e com o super direito uma vez é suficiente.
Erik
1
hmm, então também não tenho noção: PI acho que esses atalhos são tratados em um nível mais profundo.
Gerhard Burger
1
Ah, eu encontrei um relatório de bug, aparentemente há mais pessoas com o mesmo problema :) bugzilla.gnome.org/show_bug.cgi?id=659899
Gerhard Burger -