Agregar opciones personalizadas de setxkbmap

Agregar opciones personalizadas de setxkbmap

Utilice setxkbmap para intercambiar el desplazamiento izquierdo y el control izquierdodescribe cómo intercambiar algunas teclas modificadoras con xkbcomp. Sin embargo, me gustaría simplemente agregar una opción setxkbmap personalizada en lugar de usar xkbcomp con una definición de diseño completa. De manera similar setxkbmap -option local:swap_lwin_lctrl, me gustaría intercambiar el control correcto y el control correcto sin modificar los archivos existentes en /usr/share/X11/xkb (que se sobrescribirían al actualizar el paquete).

Respuesta1

Tengo el mismo problema. Según el documento, se podría adivinar que la sintaxis correcta sería algo así:

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

Nota: ~no funciona con la -Iopción

con

~/.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 ] };
};

o cualquier archivo de símbolo que tengas y

~/.config/xkb/rules/evdev

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

Desafortunadamente, no funciona.


La única solución que encontré es la siguiente: utilice los mismos archivos descritos anteriormente. Configure todas las opciones nativas usando setxkbmap -option caps:swapescape,whatever. Entonces :

$ setxkbmap -print > tempfile.txt

y edite tempfile.txtpara agregar su opción personalizada en la xkb_symbolslínea:

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)" };
};

y finalmente:

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

Se puede generalizar para cualquier número de opciones. Esta solución está en desuso segúnwiki de archlinux.

información relacionada