Logré esto en Ubuntu 13.04 combinando la respuesta de Christophe (que me ayudó, pero no funcionó para los modificadores y no necesito grave y tilde para ser teclas muertas), otra respuesta sobre setxkbmap , jugando con diferentes opciones en la configuración. opciones de diseño de teclado (incluso mirando el código fuente ) e inspeccionando la configuración actual usando el comando setxkbmap -query
(que también debe ejecutar, para verificar el modelo de teclado específico y los códigos de diseño, ya que pueden diferir).
Tengo un script que llamo cuando cambio a un teclado Apple (la opción crucial es altwin:swap_lalt_lwin
intercambiar las teclas Alt y Super modificador):
# clear all options
setxkbmap -model "pc105" -layout "hr,us" -option ""
# set the Apple keyboard
setxkbmap -rules "evdev" -model "pc105" -layout "hr,us" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier,altwin:swap_lalt_lwin"
# swap the grave-tilde with less-greater key
# - variant without dead keys
xmodmap -e "keycode 94 = grave asciitilde"
xmodmap -e "keycode 49 = less greater less greater bar brokenbar bar brokenbar"
Y otro que llamo cuando estoy de vuelta en un teclado normal:
# clear settings
setxkbmap -model "pc105" -layout "hr,us" -option ""
# pc keyobard
setxkbmap -rules "evdev" -model "pc105" -layout "hr,us" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier"
Tenga en cuenta que agregué la configuración
terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier
para habilitar la terminación de la sesión ctrl + alt + backspace Gnome, acceda a la tecla de nivel 3 usando la tecla win derecha, cambie el diseño presionando ambas teclas shift y convierta mi Bloq Mayús en un Ctrl adicional (respectivamente). Es posible que desee excluir algunos o todos ellos.
Puede usar AutoKey para vincular la llamada a algún atajo de teclado, o llamar desde su .profile
o .bashrc
si usa el teclado de Apple todo el tiempo.
setxkbmap -device 8 dvorak -option altwin:swap_alt_win,ctrl:nocaps
. Solo quiero el intercambio correcto de Alt y Win. Esto no "anula" el canje izquierda:setxkbmap -device 8 dvorak -option altwin:swap_lalt_lwin,altwin:swap_alt_win,ctrl:nocaps
. Aparentemente no hayaltwin:swap_ralt_rwin
opción, segúnman xkeyboard-config
.