xmodmapes obsoleto; así que de hecho debería hacerse con las xkbherramientas.
El intercambio que desea parece no estar incluido por defecto con los archivos X11; así que tienes que escribirlo tú mismo.
La página http://madduck.net/docs/extending-xkb/ me ayudó a comprender y encontrar una manera de hacerlo.
Cree un archivo ~/.xkb/keymap/mykbddonde coloque la salida setxkbmap, será su definición de teclado base; p.ej:
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í, ponga 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/mykbdarchivo y cambie la xkb_symbolslí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 -Iparámetro). Probablemente arrojará muchas advertencias sobre símbolos indefinidos para algunas teclas raras, pero puede ignorarlas (por ejemplo, error de redireccionamiento a dave:) 2> /dev/null.
Si desea poder intercambiar fácilmente entre un ctrl / shift normal y uno invertido; simplemente cree bajo ~/.xkb/keymap/otro archivo, sin la opción adicional "myswap", y cárguelo con xkbcomp. Puede hacer dos pequeños scripts para cargarlos.
xkbcomp $DISPLAY some.dumpdespués y antes de llamar a IBus, y haga una diferencia de los dos volcados (son la definición completa del teclado); probablemente verás diferencias.setxkbmap -option caps:escapefunciona. IBus recordó las teclas intercambiadas Esc y las teclas Bloq Mayús, pero no sirve para las teclas intercambiadas Left Shift y Left Control.Me encontré con algunos problemas de mapeo
LALTparaControl_Lusar la solución de Pablo , parece que también debes configurar lasmodifier_mapopciones.Copié una plantilla de
/usr/share/X11/xkb/symbols/altwin- busquexkb_symbols "ctrl_alt_win"- y la modifiqué para establecer los siguientes cambios:El
~/.xkb/symbols/myswaparchivo final fue:También agregué
-w0alxkbcompcomando para evitar cualquier salida de advertencia al abrir un nuevo shell.** Al cambiar mucho entre Mac y Linux, me gusta tener dos teclas de control en Linux para aproximar el teclado de Mac para mi memoria muscular.
fuente