web-dev-qa-db-ja.com

xdotoolに異なるキーボードレイアウトを使用してテキストを入力させます

私の状況:Ubuntu 16.04を実行しているドイツ語のキーボードレイアウトのノートブックがあります。 QEmu/KVMを介してAndroid VMをホストします。QEmu/ KVMはドイツ語のキーボードレイアウト用にも構成されています。

実際のハードウェアキーボードを使用してVMに何かを入力しているときは、まったく問題なく動作します。ただし、ゲストシステムは共有クリップボードをサポートしていないため(または設定するにはあまりにも愚かです)、ホストでxclipおよびxdotoolを使用して、ホストのクリップボードの入力をシミュレートしたかったのです。 VMへのコンテンツ。

キーボードショートカットにバインドしたコマンドは次のとおりです。

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

これはその仕事をし、ホストのクリップボードバッファーにあるものを入力します。残念ながら、VMに何かを入力するためにキーボードレイアウトを使用すると混乱するようです。たとえば、https://youtube.comはVMでhttpsÖ//zoutube.comになります。

私には、これはxdotoolが、どこでも設定したドイツ語のレイアウトではなく、英語のQWERTZキーボードレイアウトを使用してドイツ語のキーとして入力しているように見えます Ö `に使用されます: 英語のレイアウトで、キー Y そして Z (他の違いの中でも)交換されます。

xdotoolまたはVMまたは正しいキーボードレイアウトを使用して入力する混乱の原因となるコンポーネントを教えるにはどうすればよいですか?

5
Byte Commander

それは最もクリーンなソリューションではないかもしれませんが、これは私のために動作します。

setxkbmapコマンドの前にxdotoolを使用します。

$ xdotool type azerty
qwerty

$ setxkbmap fr && xdotool type azerty
azerty

.xinitrcにレイアウトを配置する場合にも機能すると思います

setxkbmap fr
1
hg8