だから、xdotoolを使用してキーボードショートカットを作成しようとしています。私が行方不明であり、それを行う方法を見つけることができない唯一のものはこれです:
キーボードのオプションキーを押す方法。より一般的な場合、これは私の問題も解決しますキーコードに基づいてxdotoolを使用してキーを押す方法(これを行うことができる他のプログラムについて知っているなら、それを使用しても構いません代わりに)。
Windowsキーボードがあり、この「オプションボタン」(alt gr
とright ctrl
の間にあります)を押すと、右クリックメニューが開きます(入力カーソルの隣)。 スクリプトでこのボタンを押すなんとかする必要があります。 (showkey -k
を使用して)このキーのキーコードは127であることがわかりましたが、xdotoolでそれを押すことはできません。
これを行う方法に関するアイデアはありますか?
PS:私はxdotool click 3
で右クリックをシミュレートできることを知っていますが、マウスポインターがある場所で右クリックが発生し、入力カーソルがある場所で発生する必要があるため、それは役に立ちません。
ありがとうございました :)
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のスペル言語をすばやく切り替えることでした。
Ubuntu 18.04にキーボードショートカットを追加する場合、サブプロセスを明示的に実行する必要があります。
/bin/bash -c "sleep 0.4 && xdotool key Menu"