キーイベントがフォアグラウンドにない場合、表示イベントに送信しようとしています。
現時点では、次のことを行っています。
Display *d_;
d_ = XOpenDisplay(NULL);
system(QString("xdotool key Shift+F8").toStdString().c_str());
XFlush(d_);
XCloseDisplay(d_);
ディスプレイがフォーカスされていない場合、これは機能しませんが。
だから私の質問は:
- フォーカスされていないときにキーイベントをディスプレイに送信するにはどうすればよいですか。
- シェル経由でツールを起動するよりも、キーストロークを送信するためのより良い方法はありますか?
- シェル コマンドを使用する前に、新しいディスプレイを開く必要があるのはなぜですか?
私は Qt を使用しており、コードは Linux で実行する必要があります。