LinuxQt模拟按键控制SimpleScreenRecorder应用
Qt simulate key press to control SimpleScreenRecorder application in Linux
我想(在 Linux 中)通过模拟按键 CTRL+SHIFT+R 激活 SimpleScreenRecorder 来控制桌面录制。
SimpleScreenRecorder image
我试过这段代码:
QKeyEvent * eve1 = new QKeyEvent (QEvent::KeyPress,Qt::Key_R,Qt::ControlModifier|Qt::ShiftModifier,"r");
qApp->postEvent ((QObject*)this, (QEvent *)eve1);
QKeyEvent * eve2 = new QKeyEvent (QEvent::KeyRelease,Qt::Key_R,Qt::ShiftModifier|Qt::ControlModifier,"r");
qApp->postEvent ((QObject*)this, (QEvent *)eve2);
但这不起作用。
我可以将按键事件发送到 ui->lineEdit 但不能将其发送到另一个 运行 应用程序在这种情况下 SimpleScreenRecorder.
我该如何解决这个问题?
谢谢
void MainWindow::on_pushButton_clicked()
{
system("xdotool key \"control+shift+r\"");
}
我想(在 Linux 中)通过模拟按键 CTRL+SHIFT+R 激活 SimpleScreenRecorder 来控制桌面录制。
SimpleScreenRecorder image
我试过这段代码:
QKeyEvent * eve1 = new QKeyEvent (QEvent::KeyPress,Qt::Key_R,Qt::ControlModifier|Qt::ShiftModifier,"r");
qApp->postEvent ((QObject*)this, (QEvent *)eve1);
QKeyEvent * eve2 = new QKeyEvent (QEvent::KeyRelease,Qt::Key_R,Qt::ShiftModifier|Qt::ControlModifier,"r");
qApp->postEvent ((QObject*)this, (QEvent *)eve2);
但这不起作用。 我可以将按键事件发送到 ui->lineEdit 但不能将其发送到另一个 运行 应用程序在这种情况下 SimpleScreenRecorder.
我该如何解决这个问题? 谢谢
void MainWindow::on_pushButton_clicked()
{
system("xdotool key \"control+shift+r\"");
}