Múltiples teclados con diferentes diseños.

16

Tengo ubuntu (11.04) ejecutándose en un macbook pro reciente. Utilizo tanto el teclado incorporado como un teclado externo. Quiero reasignar el bloqueo de mayúsculas en ambos teclados a super, y quiero cambiar left-alt (opción mac) e left-super (mac cmd) solo en el teclado incorporado (apple).

Xmodmap no puede configurar varios teclados de manera diferente, así que eso está fuera.

Puedo hacer esto desde el cli a través de setkbmap. Aquí está el script que estoy usando:

#!/bin/sh
#set caps to super
setxkbmap -option caps:super

#swap command and option for apple keyboard
setxkbmap -device `xinput list | grep -o -P 'Apple Internal Keyboard / Trackpad\s+id=\d+' | grep -o -P '\d+'` -option altwin:swap_lalt_lwin

Si tengo que hacerlo, puedo ejecutar esto como una aplicación de inicio, pero realmente me gustaría saber si hay un archivo de configuración en el que puedo agregar esta configuración.

Parece que debería poder agregar una opción (XkbOptions) a la sección del dispositivo de entrada de mi xorg.conf, pero cuando lo intenté, la configuración no tuvo ningún efecto (¿quizás gnome anula la configuración de X?). También intenté agregar una nueva clase de entrada a xorg.conf pero tampoco funcionó.

¿Cuál es el lugar correcto para configurar múltiples teclados con diferentes combinaciones de teclas?

psanford
fuente
1
Nota: Poner este script en las aplicaciones de inicio lo corrige al iniciar sesión, pero después de reanudar desde la suspensión tengo que ejecutarlo manualmente nuevamente. ¡Debe haber una mejor manera de hacer esto!
psanford
1
Debería haber ... He estado configurando el diseño predeterminado a través de /etc/default/keymap(Debian) o /etc/X11/xorg.conf.d/00-keyboard.conf(Fedora) para evitar el problema al reanudar, pero puede que no funcione para varios teclados con diferentes opciones (en ambos sistemas operativos, esto se utiliza para especificar el mapa de teclas de la consola, así como el mapa de teclas X, y por lo tanto está algo restringido).
dhardy

Respuestas:

7

Es posible hacer esto en la configuración de xorg:

Section "InputClass"
  Identifier     "Keyboard Catch All"
  MatchUSBID     "058f:9410"
  Option         "XkbOptions" "caps:super,terminate:ctrl_alt_bksp"
EndSection

Section "InputClass"
  Identifier "Apple Keyboards"
  MatchUSBID     "05ac:0236"
  Option         "XkbOptions" "altwin:swap_lalt_lwin,caps:super"
EndSection

Sin embargo, GDM tiene su propia forma de administrar la configuración del teclado que sobrescribirá estas configuraciones de xorg. No he encontrado una solución que funcione bien con GDM.

psanford
fuente