Adicionando opções personalizadas de setxkbmap

Adicionando opções personalizadas de setxkbmap

Use setxkbmap para trocar o Shift Esquerdo e o Controle Esquerdodescreve como trocar algumas teclas modificadoras com xkbcomp. No entanto, gostaria apenas de adicionar uma opção setxkbmap personalizada em vez de usar xkbcomp com uma definição completa de layout. Semelhante a setxkbmap -option local:swap_lwin_lctrl, eu gostaria de trocar o win direito e o controle direito sem modificar os arquivos existentes em /usr/share/X11/xkb (que seriam substituídos na atualização do pacote).

Responder1

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

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

Nota: ~não funciona com a -Iopção

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 de símbolo que você tenha e

~/.config/xkb/rules/evdev

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

Infelizmente, 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.txtpara adicionar sua opção personalizada na xkb_symbolslinha:

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 comWiki do Archlinux.

informação relacionada