Adicionando opções customizadas do setxkbmap

3

Use o setxkbmap para trocar a Shift Esquerda e Left Control descreve como trocar algumas teclas modificadoras por xkbcomp. No entanto, gostaria apenas de adicionar uma opção personalizada setxkbmap em vez de usar o xkbcomp com uma definição de layout completa. Semelhante a setxkbmap -option local:swap_lwin_lctrl , gostaria de trocar a vitória certa & controle correto sem modificar os arquivos existentes em / usr / share / X11 / xkb (que seria sobrescrito na atualização do pacote).

    
por Ari 25.06.2014 / 15:04

1 resposta

3

Eu tenho o mesmo problema. A partir do documento, pode-se imaginar que a sintaxe correta seria algo assim:

$ setxkbmap -I$HOME/.config/xkb -option mine:accent

Nota: ~ não funciona com a opção -I

com

~ / .config / xkb / symbols / azerty_altgr

partial default
xkb_symbols "accent" {
    include "level3(ralt_switch)"
    key <AE02>  { [  NoSymbol, NoSymbol, eacute,      NoSymbol ] };
    key <AE07>  { [  NoSymbol, NoSymbol, egrave,      NoSymbol ] };
    key <AE09>  { [  NoSymbol, NoSymbol, asciicircum, NoSymbol ] };
    key <AE10>  { [  NoSymbol, NoSymbol, agrave,      NoSymbol ] };
};

ou qualquer arquivo symbole que você tenha e

~ / .config / xkb / rules / evdev

! option        =   symbols
  mine:accent   =   +azerty_altgr(accent)

Infelizmente, isso não funciona.

A única solução que encontrei é a seguinte: Use os mesmos arquivos descritos acima. Defina todas as opções nativas usando setxkbmap -option caps:swapescape,whatever . Então:

$ setxkbmap -print > tempfile.txt

e edite tempfile.txt para adicionar sua opção personalizada na linha xkb_symbols :

xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+fr:2+inet(evdev)+capslock(swapescape)+azerty_altgr(accent)"  };
    xkb_geometry  { include "pc(pc104)" };
};

e finalmente:

xkbcomp -I$HOME/.config/xkb tempfile.txt $DISPLAY

Pode ser generalizado para qualquer número de opções. Esta solução está obsoleta de acordo com o Wiki do Archlinux .

    
por 27.06.2015 / 12:18