web-dev-qa-db-ja.com

xdotoolキーコードでキーを押す(オプションキーを押す)

だから、xdotoolを使用してキーボードショートカットを作成しようとしています。私が行方不明であり、それを行う方法を見つけることができない唯一のものはこれです:

キーボードのオプションキーを押す方法。より一般的な場合、これは私の問題も解決しますキーコードに基づいてxdotoolを使用してキーを押す方法(これを行うことができる他のプログラムについて知っているなら、それを使用しても構いません代わりに)。

Windowsキーボードがあり、この「オプションボタン」(alt grright ctrlの間にあります)を押すと、右クリックメニューが開きます(入力カーソルの隣)。 スクリプトでこのボタンを押すなんとかする必要があります。 (showkey -kを使用して)このキーのキーコードは127であることがわかりましたが、xdotoolでそれを押すことはできません。

これを行う方法に関するアイデアはありますか?

PS:私はxdotool click 3で右クリックをシミュレートできることを知っていますが、マウスポインターがある場所で右クリックが発生し、入力カーソルがある場所で発生する必要があるため、それは役に立ちません。

ありがとうございました :)

2
Tony Vlcek

Jacob Vlijmからのコメントのおかげで問題は解決しました。

ボタンの名前は次の方法で見つけることができます:xevを実行し、ボタンを押すと、括弧内に名前が表示されます。私の場合、これはkeycode 135 (keysym 0xff67, Menu)でした。ここでは、メニューはキーの名前です。

その後、xdotool Menuを実行できます。ただし、カスタムショートカットで機能させるには、その前にsleepを追加する必要があったため、次のコードになりました。

sleep 0.5 && xdotool key 'Menu'
sleep 0.01 && xdotool key 's'
sleep 0.01 && xdotool key 'e'

そしてそれは動作します! :)

ところで:この全体の目的は、Chromeのスペル言語をすばやく切り替えることでした。

2
Tony Vlcek

Ubuntu 18.04にキーボードショートカットを追加する場合、サブプロセスを明示的に実行する必要があります。

/bin/bash -c "sleep 0.4 && xdotool key Menu"
0
grovesteyn