Como persistentemente remapear chaves no Ubuntu 16.04?

19

Isso está funcionando para a sessão atual:

[email protected]:~/Desktop$ xmodmap -e "keycode 166 = less"
[email protected]:~/Desktop$ xmodmap -e "keycode 167 = greater"

Então eu criei este arquivo de configuração:

[email protected]:~/Desktop$ cat ~/.Xmodmap 
keycode 166 = less
keycode 167 = greater
[email protected]:~/Desktop$ 

Mas não está funcionando depois de uma reinicialização. Como eu poderia forçar a configuração do remapeamento após uma reinicialização?

    
por costales 24.03.2016 / 12:12

5 respostas

12

Eu tenho usado o 16.04 por um tempo e ele parece usar o sddm como seu gerenciador de desktop. Ela costumava ser LightDM e GDM antes disso. Ambos os predacessors estão documentados para carregar ~/.Xmodmap automaticamente, mas não consigo encontrar nada explicitamente dizendo que o sddm faz.

Portanto, pode ser aconselhável apenas forçá-lo a carregar com um novo script. Você só precisa executar xmodmap ~/.Xmodmap e pode fazer isso de várias maneiras:

Existem provavelmente algumas dezenas de outras maneiras de gerenciar isso, essencialmente fazendo a mesma coisa.

    
por Oli 24.03.2016 / 12:23
6

@aqui, eu coloquei um arquivo chamado 80_xmodmap em /etc/X11/Xsession.d/ com estes conteúdos:

# Set custom keycodes
#
# This file is sourced by Xsession(5), not executed.
# The "|| true" is to ensure that the Xsession script does not terminate on error

USRMODMAP="$HOME/.Xmodmap"

if [ -x /usr/bin/xmodmap ]; then
        if [ -f "$USRMODMAP" ]; then
                /usr/bin/xmodmap "$USRMODMAP" || true
        fi
fi

Isso funciona sempre.

    
por Stuart K. Smith 24.07.2016 / 23:51
3

abra o gnome-session-properties. adicione o comando e o nome. O arquivo da área de trabalho será criado em ~ / .config / autostart.

remenber: use caminho absoluto , por exemplo, /home/xxx/.Xmodmap. nunca use '~' como seu diretório home.

    
por utopic eexpress 08.11.2016 / 15:43
1

Navegue até

/usr/share/X11/xkb/symbols

Com privilégios de sudo, em um editor, abra o layout que você deseja editar. Substitua os valores.

Após a reinicialização, as alterações serão aplicadas.

Aqui está um exemplo que uso para remapear meu teclado por causa de problemas de hardware de teclado.

exemplo de remapeamento de teclado

    
por Alexander B. 26.11.2017 / 14:12
0

Como arquivos .Xmodmap são muito mais fáceis de editar do que xkb, eu uso .Xmodmap como um arquivo 'source', então converto para xkb (o padrão atual) e auto-load na inicialização usando o método .bashrc.

São alguns passos simples publicados aqui .

Funciona perfeitamente, e usando xkb future-proofs contra quando o suporte para .Xmodmap é descartado.

    
por u2n 09.12.2016 / 17:48