Remapear códigos de teclas após adicionar teclado bluetooth

1

Eu usei o xmodmap para remapear as teclas do teclado bluetooth no Ubuntu 14.04:

xmodmap ~/.Xmodmap

remove mod1 = Alt_L
remove mod1 = Alt_R
keycode 180 = Alt_L
keycode 225 = Alt_R
add mod1 = Alt_L
add mod1 = Alt_R

Mas os mapeamentos são redefinidos na próxima vez que o teclado Bluetooth for conectado.

Como tornar os mapeamentos permanentes ou reativá-los no dispositivo de conexão?

Atualização:

Descobri que ir para tty e voltar para Xsession também interrompe as configurações do xmodmap, essa linha evita quebrar no caso tty:

gsettings set org.gnome.settings-daemon.plugins.keyboard active false

mas não é uma opção, pois interrompe a alternância de layouts de idioma, enquanto o ícone ainda exibe o idioma corretamente. Reconectar o teclado também redefine as configurações do xmodmap.

    
por c0ffeeartc 12.07.2014 / 00:52

1 resposta

0

Eu resolvi isso modificando o layout do teclado.

Primeiro, verifiquei quais símbolos foram usados nos layouts atuais com

$setxkbmap -print -v 10

Em seguida, modifique / usr / share / X11 / xkb / símbolos / linhas inet

    key <I180> {[XF86HomePage]};
    key <I225> {[XF86Search]};

para linhas emprestadas de / usr / share / X11 / xkb / símbolos / altwin

    key <I180> {[Alt_L, Meta_L]}; // was XF86HomePage
    key <I225> {[Alt_R,Meta_R]}; // was XF86Search
    modifier_map Mod1 {<I180>, <I225>}; // removes sticky fake alt problem

e comando usado

$sudo dpkg-reconfigure xkb-data

que excluiu layouts de teclado compilados de / var / lib / xkb /. mesmo que

$sudo rm /var/lib/xkb/*.xkm

e fez com que eles recompilassem no próximo switch.

PS: Encontrei links úteis da resposta do slm link

    
por c0ffeeartc 21.07.2014 / 00:54