Tengo un teclado Mac donde las teclas Alt / Win (es decir, Opción / Comando) están invertidas en comparación con un teclado de PC normal, y me gustaría intercambiarlas. No he tenido suerte con xmodmap hasta ahora. La configuración estándar es la siguiente:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Actualmente, las teclas alternativas izquierda / derecha son códigos de tecla 64 y 108, mientras que las teclas de ventana izquierda / derecha son 133 y 134.
Agradezco cualquier ayuda!
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
.Respuestas:
Este es mi Xmodmaprc:
Tendrá que modificar su .xsession o .xinitrc para llamar a xmodmap .Xmodmaprc
fuente
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):Y otro que llamo cuando estoy de vuelta en un teclado normal:
Tenga en cuenta que agregué la configuración
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.fuente
setxkbmap -option altwin:swap_lalt_lwin
y si desea cambiar tanto las teclas súper izquierda y derecha y Alt, utilice este comando:setxkbmap -option altwin:swap_alt_win
.Descubrí que en Ubuntu 16.04 que usa xkb y gnome, necesita algunos pasos adicionales en comparación con la respuesta de respuesta de Christopher Devine anterior si desea retener todo el comportamiento de atajo para las teclas alt y super. Esta fue la solución más fácil que encontré.
Para obtener sus números de código
$ xev
clave , en la línea de comando y escriba las teclas para las que desea obtener el número. Para obtener más información al respecto, consulte esta publicación: uso de xev y xmodmapHacerlo me da:
Super_L
tiene el código clave 133Alt_L
tiene el código clave 64Entonces, para intercambiar Windows aka Command (en Mac) aka Super key con la tecla Alt izquierda que hago:
Las últimas dos líneas agregan el mod1 y el mod4 de nuevo al teclado para Alt_L y Super_L justo cuando se eliminaron. Si esto no se hace, pierdo los accesos directos asociados con la súper tecla (búsqueda) y también se rompe el combo alt + tab para cambiar entre ventanas.
Puede agregar estos comandos en un archivo como .xmodmap y luego
$ xmodmap .xmodmap
ejecutarlos.Alternativamente, puede ejecutarlos secuencialmente en la línea de comando como:
$ xmodmap -e <expression here>
Si desea volver a las asignaciones de teclas predeterminadas, puede revertir los números en el código anterior, como:
o en Ubuntu solo ejecuto:
$ setxkbmap
fuente
También puede configurar las
hid_apple
opciones del módulo del kernel para modificar solo el teclado de Apple, pero no los teclados de PC normales. No es necesario usar xkbmap o Xmodmapr. Simplemente cree el archivo/etc/modules.d/hid_apple.conf
con el contenidofnmode=2
asigna las teclas de funciónF1...F12
sin la necesidad de presionarFn
. Omita si prefiere las teclas multimedia. Ver Arch Wiki para más.Permanentemente en Ubuntu :
fuente
Recomiendo no usar xmodmap en el futuro debido a que no funciona en Wayland, pero aparte de eso, setxkbmap o xkbcomp sería el mejor método para usar en el futuro y mi proyecto Kinto lo usa.
Kinto intercambiará las teclas que desee, pero también escuchará qué aplicación está utilizando, de modo que pueda mantener el mapa de teclas correcto para las aplicaciones de terminal aún para que coincida con su experiencia de estar en una Mac.
Aquí están los enlaces relevantes, pero también incluiré el corazón de lo que hace Kinto también, menos los mapas de teclas personalizados y la capacidad de mapas de teclas alternativos, para que tenga una idea de lo que Kinto realmente hace.
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
Contenido esencial
fuente