xmodmap não mapeando Ctrl para Super, exceto nos atalhos de teclado do Ubuntu

0

Atualização post-mortem: Depois de lutar com o xmodmap durante a maior parte da manhã, descobri que esta resposta resolve perfeitamente o problema . A razão, acredito, é que o xmodmap não é tão poderoso quanto o xkb, e o xkb está mais próximo do hardware do teclado. Depois de seguir estes passos, meu KUL ES-87 com as teclas Alt e Super mudou e no "OS X Mode" está se comportando como um teclado Apple.

Eu apenas remapeei algumas teclas modificadoras com o xmodmap usando este script:

remove mod4 = Super_L
remove control = Control_L
add control = Super_L
add mod4 = Control_L

A tecla Super funciona como Controle (eu posso copiar e colar usando a tecla Super como é mapeada para a tecla Control). No entanto, não posso usar a tecla Control (mapeada para Super) para as tarefas em que o Super é usado no Ubuntu, como visualizar a barra de notificações com Super + V ou alternar espaços de trabalho com Super + PgDn.

Curiosamente, quando entro em atalhos de teclado para remapear essas funções, vejo as teclas pressionadas como seria de esperar. Se eu pressionar Crtl + V no meu teclado, ele registra que eu enviei Super + V, mas tentar usar essa combinação de teclas em qualquer outro contexto fora da gravação do atalho em atalhos de teclado ainda não funciona. Assim, as configurações do teclado estão interpretando corretamente o mapeamento de chave modificado, mas elas ainda não estão funcionando para sua função. Se eu zerar o xmodmap Super e o Control funcionar como esperado e todos os atalhos funcionarem como eles faziam imediatamente.

Qual é a causa desse problema e como posso fazer com que meu teclado se comporte como esperado?

Atualização : eu reconfixo o xkb para o padrão (que também redefine o xmodmap) e, em seguida, atualizo os mapeamentos do xmodmap usando o keycode. Isso não teve efeito, exceto desativar a superchave (essa tecla não funciona mais para abrir a lista de notificações, mas ainda está se registrando como superchave nos atalhos de teclado e, de alguma forma, a tecla Ctrl retém a funcionalidade Control_L (eu posso copiar e colar a partir desta chave, e atalhos de teclado ainda reconhece como controle ao atribuir um novo atalho) O que diabos está acontecendo ??

m@buntoo:~$ setxkbmap -layout us
m@buntoo:~$ xmodmap -pke | grep 'Super\|Control'
keycode  37 = Control_L NoSymbol Control_L
keycode 105 = Control_R NoSymbol Control_R
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
keycode 206 = NoSymbol Super_L NoSymbol Super_L
m@buntoo:~$ xmodmap -e "keycode 37 = Super_L"
m@buntoo:~$ xmodmap -e "keycode 133 = Control_L"
m@buntoo:~$ xmodmap -pke | grep 'Super\|Control'
keycode  37 = Super_L NoSymbol Super_L
keycode 105 = Control_R NoSymbol Control_R
keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Super_R NoSymbol Super_R
keycode 206 = NoSymbol Super_L NoSymbol Super_L
m@buntoo:~$ xmodmap -e "keycode 206 = Control_L"
m@buntoo:~$ xmodmap -pke | grep 'Super\|Control'
keycode  37 = Super_L NoSymbol Super_L
keycode 105 = Control_R NoSymbol Control_R
keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Super_R NoSymbol Super_R
keycode 206 = Control_L NoSymbol Control_L
m@buntoo:~$ 
    
por Michael Fulton 15.05.2018 / 18:29

1 resposta

0

Além de remover e adicionar mod4 e Super_L, troque códigos de tecla.
Obtenha códigos de tecla com xmodmap -pke e troque os valores. Para mim, keycode 37 = Control_L NoSymbol Control_L ), então eu faço:

xmodmap -e "keycode 37 = Super_L"

e os outros dois, se necessário. Eu não posso testar exatamente, eu tenho um teclado sem Super_L .

    
por 15.05.2018 / 19:32

Tags