有没有办法让ubuntu中的任何按钮按下,甚至没有在我的C / C ++应用程序窗口中按下的按钮?

时间:2019-06-19 21:13:29

标签: c linux bash x11 gnome

我正在开发一个小型应用程序,当我一段时间未按任何键或单击任何鼠标按钮时,都会显示警报,这只是为了帮助我集中精力。但是,我找不到在应用程序框架之外按下按钮的方法。

我的应用程序是使用gnome作为桌面环境在C中针对ubuntu 18.04开发的。我曾想过,如果有什么办法可以工作,那就是使用X11库方法,因此我尝试使用它们,但没有成功。 XNextEvent方法仅在我的应用程序聚焦时捕获事件。

我真的不需要知道按下了什么键或鼠标按钮,它不是键盘记录器。我只想知道是否发生了鼠标或键盘事件。

1 个答案:

答案 0 :(得分:2)

  

只要我有一段时间没有按任何键或单击任何鼠标按钮,就会显示警报

这与屏幕保护程序将执行的操作非常相似,最有效的实现方法是使用X11 Screen Saver ExtensionXScreenSaverQueryInfo函数将填充一个结构,该结构包括自上次用户输入(saver_info.idle以来的毫秒数。