Claviers multiples avec différentes dispositions

16

J'ai Ubuntu (11.04) fonctionnant sur un macbook pro récent. J'utilise à la fois le clavier intégré et un clavier externe. Je veux remapper le verrouillage des majuscules sur les deux claviers en super, et je veux permuter gauche-alt (option mac) et gauche-super (mac cmd) sur le clavier intégré (apple) uniquement.

Xmodmap ne peut pas configurer plusieurs claviers différemment, c'est donc tout.

Je peux le faire à partir de la cli via setkbmap. Voici le script que j'utilise:

#!/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 je le dois, je peux l'exécuter en tant qu'application de démarrage, mais j'aimerais vraiment savoir s'il existe un fichier de configuration auquel je peux ajouter ces paramètres à la place.

Il semble que je devrais être en mesure d'ajouter une option (XkbOptions) à la section inputdevice de mon xorg.conf, mais quand j'ai essayé cela, les paramètres n'ont eu aucun effet (peut-être que gnome remplace les paramètres X?). J'ai également essayé d'ajouter une nouvelle classe d'entrée à xorg.conf mais cela n'a pas fonctionné non plus.

Quel est le bon endroit pour configurer plusieurs claviers avec différentes liaisons de touches?

psanford
la source
1
Remarque: La mise de ce script dans les applications de démarrage le corrige lors de la connexion, mais après la reprise de la suspension, je dois l'exécuter à nouveau manuellement. Il doit y avoir une meilleure façon de le faire!
psanford
1
Il devrait y avoir ... J'ai défini la disposition par défaut via /etc/default/keymap(Debian) ou /etc/X11/xorg.conf.d/00-keyboard.conf(Fedora) pour éviter le problème de reprise, mais cela peut ne pas fonctionner pour plusieurs claviers avec des options différentes (sur les deux systèmes d'exploitation, cela est utilisé pour spécifier le clavier de la console ainsi que le clavier X, et est donc quelque peu restreint).
dhardy

Réponses:

7

Il est possible de le faire dans la configuration 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

Cependant, GDM a sa propre façon de gérer vos paramètres de clavier qui écraseront ces paramètres xorg. Je n'ai pas trouvé de solution qui fonctionne bien avec GDM.

psanford
la source