Deux claviers sur un ordinateur. Lorsque j'écris avec AI, je veux une disposition de clavier aux États-Unis, lorsque j'utilise BI, je veux le suédois. Possible?

46

J'ai un ordinateur portable avec lequel j'utilise un clavier externe. Lorsque je tape en utilisant le clavier externe, je souhaite utiliser une disposition de clavier américaine, car c'est le type de clavier externe que j'ai. Par contre, lorsque je tape avec le clavier intégré, j’aimerais utiliser une disposition en suédois.

Est-ce possible? Et comment pourrais-je m'y prendre?

Je pose la question ici car je pense que nous trouverons ici la plupart des compétences de Linux.

Supprimé
la source

Réponses:

40

Tout d'abord, vous devez trouver l'ID de périphérique du clavier à modifier:

$ xinput -list | grep -i key
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ LITEON Technology USB Keyboard            id=9    [slave  keyboard (3)]
    ↳ LITEON Technology USB Keyboard            id=10   [slave  keyboard (3)]

Puis changez la disposition en utilisant setxkbmap:

$ setxkbmap -device 9 dvorak

Certaines versions de setxkbmap nécessitent un argument '-layout':

$ setxkbmap -device 9 -layout dvorak
flicken
la source
Bonjour, c’est ce que j’ai fait et cela fonctionne très bien pour tout sauf les touches fléchées et autres touches directionnelles (qui ne fonctionnent plus du tout). Il se pourrait que le clavier soit l’un de ces ergonomes dotés d’une cartographie géniale des touches. Avez-vous une idée de la façon de les faire fonctionner à nouveau?
Btelles
8
Quel est donc le meilleur moyen de définir cette configuration au démarrage au lieu d’avoir à appeler manuellement setxkbmap?
Richard Turner
9

Je peux affirmer que ce que vous voulez faire est effectivement possible. J'ai réalisé le scénario spécifié en premier

sudo cat /dev/input/event(0,1,2..)

en tapant sur chaque clavier pour s’assurer qu’ils ont été reconnus en tant que périphériques distincts. Ensuite, j'ai simplement appliqué des essais et des erreurs, expérimentant avec

setxkbmap -device (1-x) us.

J'ai découvert que setxkbmap -device 1 usconfiguré les deux (tous) claviers, alors setxkbmap -device 6 usque n'affectait que le secondaire. Il est peut-être intéressant de noter que les deux ont été connectés via PS / 2.

Bien entendu, cela ne garantit pas que cela fonctionne pour vous, et cela ne constitue même pas une réponse appropriée, mais cela confirme que c'est tout à fait possible. Je ne sais pas selon quel schéma les claviers individuels sont nommés /dev/input, mais je suis sûr que les noms peuvent être spécifiés dans udev, ce qui permet de placer la setxkbmapcommande appropriée /etc/rc.localou similaire.

Arkenklo
la source
9

Bien que cette question soit un peu ancienne, je pensais partager ma solution car aucune des autres réponses n'indiquait comment faire fonctionner ce travail au démarrage.

Ma situation: j’ai un clavier Happy Hacking qui se branche via un port USB et dont les touches sont déplacées (contrôle de la majuscule, etc.). Je l’utilise la plupart du temps, mais j’aimerais parfois utiliser le clavier classique pour ordinateur portable ou un autre clavier USB. Pour ces claviers, j'ai créé une disposition de clavier personnalisée.

L'astuce est que la disposition de clavier personnalisée ne doit pas être appliquée au clavier Happy Hacking.

Solution: j'ai créé un fichier de configuration Xorg en tant que tel:

$ cat /etc/X11/xorg.conf.d/30-keyboard.conf 
Section "InputClass"
        Identifier "Happily Hacked Keyboard"
        MatchDevicePath "/dev/input/event*"
        MatchIsKeyboard "on"
        Driver "evdev"

        Option "XkbLayout" "us"
        Option "XkbVariant" "hhk"
EndSection

Section "InputClass"
        Identifier "Happy Hacking Keyboard"
        MatchIsKeyboard "on"
        MatchVendor "Topre_Corporation"
        Driver "evdev"

        Option "XkbLayout" "us"
        Option "XkbVariant" "basic"
EndSection

La première partie dit essentiellement que pour tout clavier standard, appliquez la mise en page avec la variante personnalisée. La deuxième partie dit, pour le clavier de piratage heureux, utilisez la disposition us avec la variante de base.

Vous pouvez faire correspondre les périphériques en fonction de nombreux paramètres: xorg doc

Zanegray
la source
votre réponse tardive mérite peut-être un commentaire tardif ... vous avez identifiant "Happy Hacking Kbd" dans les deux ... Je pense que c'est probablement une erreur, le premier identifiant InputClass devrait probablement être "Clavier générique"
Daniel
1
@Daniel Les identifiants sont en réalité différents, "Clavier joyeusement piraté" vs "Clavier joyeux piratage", mais seulement légèrement :)
zanegray
merci pour le correct! ... je blâme mes mauvaises lunettes de lecture:)> v
Daniel
... mais cela (pour le clavier fonctionnant énormément, il est également possible de disposer de plusieurs agencements différents!, comme nous, ru, ua sur un et de, cz, ua sur le second clavier) change pour moi d'une manière ou d'une autre a tué mon bouton central de la souris de ma souris USB externe. Il faut chercher quelle est l'interférence ...
Golar Ramblar
J'adorerais si cette solution fonctionnait pour moi, mais cela ne fonctionnait pas - peut-être parce que je ne peux pas obtenir l'identifiant du vendeur, n'est-ce pas? La commande "lsusb -v | grep -e idVendor" m'a donné "0x09da A4Tech Co., Ltd." J'ai donc également essayé diverses options (sans hexcode, trait de soulignement au lieu de l'espace, etc.). Ensuite, j'ai essayé l'identifiant du vendeur obtenu via "xinput list" et "udevadm info" (A4TECH). J'ai même changé le nombre 30 à 50 aussi parce que j'ai un fichier "/usr/share/X11/xorg.conf.d/40-libinput.conf" incluant une configuration de clavier globale. Mais je ne pouvais pas aller n'importe où. Des idées s'il vous plaît? (Ubuntu 18.04)
Sadi le
5

Cela peut être possible, à en juger par l'argument -device de setxkbmap:

       périphérique
               Spécifie l'ID de périphérique numérique du périphérique d'entrée à
               mis à jour avec la nouvelle disposition du clavier. Si non spécifié, le
               Le clavier principal du serveur X est mis à jour.

Naturellement, cependant, je n'ai pas de deuxième clavier pour l'essayer pour le moment.

-Un utilisateur Dvorak

Tommy McGuire
la source
Hmph. -device 0 bascule les deux, -device 2 (devrait être le clavier intégré selon la réponse d'Arkenklo) ne change rien, du moins sur mon ordinateur portable et mon clavier USB.
Tommy McGuire
0

Je ne pense pas que vous puissiez le faire exactement comme vous le souhaitez. Je connais deux options:

1) Vous pouvez commuter en un simple clic / frappe de souris.

Avec Ubuntu / GNOME:

Clic de souris

Dans Ubuntu / Gnome, dans la mesure où vous avez configuré les dispositions d’entrée, accédez à un emplacement vide de votre panneau, cliquez à l'aide du bouton droit de la souris et cliquez sur 'Ajouter au panneau'. Sélectionnez «Indicateur de clavier» pour l'ajouter au panneau. Cela devrait entrer un petit morceau de texte indiquant la disposition de votre clavier et vous pouvez cliquer dessus pour changer.

Raccourci clavier

Système -> Préférences -> Clavier -> Mises en page -> Options de mise en page

Il y a une option "Clé (s) pour changer la disposition". Vous pouvez le régler sur Alt + Shift, ce qui ne devrait pas perturber les raccourcis clavier normaux.

Je suppose qu'il existe une manière de faire de KDE.

2) L’autre alternative est http://en.wikipedia.org/wiki/Xneur , mais je ne sais pas si cela est disponible pour le suédois et il se peut que cela ne soit pas possible pour les langues ayant une structure similaire à l’anglais.

Phil
la source