¿Es posible cambiar el Shift izquierdo? y el CTRL izquierdo llaves usando setxkbmap
en lugar de xmodmap
?
EDITAR
Me cambié a Fcitx, que funciona mucho mejor con la distribución de mi teclado y el mapa de teclas personalizado que IBus en todos los aspectos. Lo recomiendo mucho.
Respuesta aceptada:
xmodmap
es obsoleto; entonces, de hecho, debería hacerse con el xkb
herramientas.
El intercambio que desea parece no estar incluido de forma predeterminada con los archivos X11; así que tienes que escribirlo tú mismo.
La página https://web.archive.org/web/20170825051821/http://madduck.net/docs/extending-xkb/ me ayudó a entender y encontrar la manera de hacerlo.
Cree un archivo ~/.xkb/keymap/mykbd
donde pones la salida de setxkbmap
, será la definición de teclado base; por ejemplo:
setxkbmap -print > ~/.xkb/keymap/mykbd
luego, cree un archivo de símbolos para definir su intercambio de claves, póngalo por ejemplo en ~/.xkb/symbols/myswap
allí, pon las siguientes líneas:
partial modifier_keys
xkb_symbols "swap_l_shift_ctrl" {
replace key <LCTL> { [ Shift_L ] };
replace key <LFSH> { [ Control_L ] };
};
luego, edite el ~/.xkb/keymap/mykbd
y cambie los xkb_symbols
línea para agregar
+myswap(swap_l_shift_ctrl)
finalmente, puede cargarlo con xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
(no puede usar "~" para el -I
parámetro).
Probablemente arrojará muchas advertencias sobre símbolos no definidos para algunas claves raras, pero puede ignorarlas (por ejemplo, redirigir el error a dave:2> /dev/null
).
Si desea poder cambiar fácilmente entre un ctrl/shift normal y uno invertido; simplemente cree en ~/.xkb/keymap/
otro archivo, sin la opción adicional "myswap", y cárguelo con xkbcomp
. Puedes hacer dos pequeños scripts para cargarlos.