web-dev-qa-db-fra.com

Laissez xdotool taper du texte en utilisant une disposition de clavier différente

Ma situation: j'ai un ordinateur portable avec une disposition de clavier allemande exécutant Ubuntu 16.04. Il héberge un Android VM via QEmu/KVM, qui est également configuré pour la disposition de clavier allemande.

Lorsque je tape quelque chose dans VM à l'aide du vrai clavier matériel, cela fonctionne parfaitement. Cependant, comme le système invité ne prend pas en charge un presse-papiers partagé (ou que je suis trop stupide pour le configurer), je souhaitais utiliser xclip et xdotool sur l'hôte pour simuler la saisie du presse-papiers de l'hôte. contenu dans la VM.

La commande que j'ai liée à un raccourci clavier est:

bash -c 'sleep 0.5 ; xdotool type --clearmodifiers "$(xsel -b)"'

Cela fait son travail et tape tout ce qui se trouve dans le tampon du presse-papier de l'hôte. Malheureusement, il semble y avoir une certaine confusion dans la disposition du clavier lorsque je l’utilise pour taper quelque chose dans ma machine virtuelle. Par exemple, https://youtube.com devient httpsÖ//zoutube.com dans la VM.

Pour moi, cela ressemble à xdotool utilise la disposition du clavier QWERTZ anglais pour taper à la place de la disposition allemande que j'ai configurée partout, comme touche allemande. Ö est utilisé pour: dans la mise en page anglaise, et les touches Y et Z sont également échangés (entre autres).

Comment puis-je enseigner xdotool ou mon VM ou tout autre composant responsable de la confusion liée à la saisie à l'aide de la disposition de clavier correcte?

5
Byte Commander

Ce n'est peut-être pas la solution la plus propre, mais cela fonctionne pour moi.

Utilisez setxkbmap avant votre commande xdotool:

$ xdotool type azerty
qwerty

$ setxkbmap fr && xdotool type azerty
azerty

Je pense que cela devrait également fonctionner si vous mettez la mise en page dans le .xinitrc

setxkbmap fr
1
hg8