Os modificadores de remapeamento Xmodmap não estão funcionando?

3

Estou usando um novo teclado e tentando configurá-lo para imitar o teclado do meu laptop. Estou usando o xmodmap no Ubuntu 14.04 e não consigo fazer funcionar. Limpei as teclas modificadoras da seguinte forma:

xmodmap -e "clear mod1"
xmodmap -e "clear mod4"
xmodmap -e "clear Control"

E isso funciona bem, depois os modificadores não fazem nada. Depois disso, tento atribuir a tecla Alt_R para agir como uma super-chave, assim:

xmodmap -e "add mod1 = Alt_R"

No entanto, o botão alt volta a se comportar como um botão alt, em vez de se comportar como super e exibir a pesquisa do Unity quando ela é tocada. Existe algum truque para fazer os modificadores trabalharem com o xmodmap?

Além disso, mesmo depois de limpar o controle, com "xmodmap -e" clear Control ", eu ainda posso usar ctrl.

O teclado que estou usando é o teclado das final, se é que isso importa.

EDIT: Uma realização que fiz enquanto brincava com xev e tentando resolver o problema: Quando eu corro algo como "xmodmap -e" keycode 133 = Alt_L "(keycode 133 é geralmente super) e, em seguida, inicie o xev, quando Eu olho para a saída que mostra isso:

KeyRelease event, serial 37, synthetic NO, window 0x2000001,
root 0x9e, subw 0x0, time 179020, (-382,66), root:(406,118),
state 0x40, keycode 133 (keysym 0xffe9, Alt_L), same_screen YES,
XKeysymToKeycode returns keycode: 64
XLookupString gives 0 bytes: 
XFilterEvent returns: False

Como você pode ver, ele vê a tecla pressionada como Alt_L. No entanto, a chave ainda está se comportando como uma superchave, ativando a pesquisa Unity quando pressionada.

    
por Marcus Buffett 07.08.2014 / 14:58

1 resposta

4

Eu não sou um especialista, mas vou tentar. Antes de mais nada, vamos criar um script xmodmap em ~/.Xmodmap . Eu entendo que você quer que o alt correto funcione como uma super chave. Eu sugiro isso:

clear mod1
clear mod4

!Make right alt to look like Super_R
!I'm assuming your right alt has keycode 108, you can check using xev
keycode 108 = Super_R NoSymbol Super_R

!Add the Super_L and Super_R keys to the modifier mod4
add mod4 = Super_L Super_R

Sua outra tecla alt e super chaves agora podem estar confusas, mas você pode atribuí-las a qualquer coisa que você queira de maneira análoga. (Se você não quiser alterá-los, use xev para ver o que eles fizeram originalmente e atribua-os a isso.) Basta colocar todos os clear s juntos primeiro, depois as atribuições dos códigos de tecla aos nomes das chaves e, em seguida finalmente as atribuições de nomes de chaves para modificadores, e acho que deveria funcionar. Normalmente, ~/.Xmodmap deve ser executado automaticamente no login, mas se não, você pode tentar adicionar uma linha

xmodmap ~/.Xmodmap

ou

sleep 4 && xmodmap ~/.Xmodmap &

para ~/.bash_profile .

    
por dremodaris 11.09.2014 / 17:38