0

キーイベントがフォアグラウンドにない場合、表示イベントに送信しようとしています。

現時点では、次のことを行っています。

Display *d_;
d_ = XOpenDisplay(NULL);
system(QString("xdotool key Shift+F8").toStdString().c_str());
XFlush(d_);
XCloseDisplay(d_);

ディスプレイがフォーカスされていない場合、これは機能しませんが。

だから私の質問は:

  1. フォーカスされていないときにキーイベントをディスプレイに送信するにはどうすればよいですか。
  2. シェル経由でツールを起動するよりも、キーストロークを送信するためのより良い方法はありますか?
  3. シェル コマンドを使用する前に、新しいディスプレイを開く必要があるのはなぜですか?

私は Qt を使用しており、コードは Linux で実行する必要があります。

4

0 に答える 0