alternando o layout do keyboad desativa as personalizações do setxkbmap

2

Eu uso este comando: setxkbmap -option "lv3:caps_switch" para personalizar meus atalhos de teclado (home, end, left e right arrows).

A configuração reside no arquivo /usr/share/X11/xkb/symbols/us . Tudo funciona bem, exceto quando mudo o layout do teclado, os mapeamentos feitos por setxkbmap , param de funcionar e não funcionam novamente, mesmo se eu voltar ao layout americano. Eu tenho que re-executar manualmente setxkbmap -option "lv3:caps_switch" para fazer meus mapeamentos funcionarem novamente.

Existe uma maneira de corrigir isso? Minha versão do Ubuntu é 14.04

    
por mechatroner 27.04.2015 / 10:45

1 resposta

1

AFAIK com o Ubuntu 13.10, Eles mudaram o modo de gerenciamento de layout do Unity / Gnome. Por isso, ele suporta vários mecanismos de entrada e move o controle do atalho de alteração de layout para um nível mais alto (daemon gerenciador de janelas / configurações).

setxkbmap funciona com o nível mais baixo de XKB, o daemon de configurações não consulta as alterações no nível inferior. Apenas aplica diretamente as configurações armazenadas em seu banco de dados.

Há duas opções que podem ajudar você a conseguir isso:

  • Armazenar configuração de XKB (recomendado)

    gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"
    

    Referência: Como posso ativar o Ctrl +? Alt + Backspace?

  • Adicione a configuração do nível 3 diretamente ao layout us , conforme abaixo:

        ...
        key <AB09> {        [    period,    greater         ]       };
        key <AB10> {        [     slash,    question        ]       };
    
        key <BKSL> {        [ backslash,         bar        ]       };
    
        include "level3(caps_switch)"
    };
    

    Em seguida, execute sudo dpkg-reconfigure xkb-data , mude para outro layout e, em seguida, volte.

por user.dz 08.06.2015 / 11:18