我正在开发一个小型应用程序,当我一段时间未按任何键或单击任何鼠标按钮时,都会显示警报,这只是为了帮助我集中精力。但是,我找不到在应用程序框架之外按下按钮的方法。
我的应用程序是使用gnome作为桌面环境在C中针对ubuntu 18.04开发的。我曾想过,如果有什么办法可以工作,那就是使用X11库方法,因此我尝试使用它们,但没有成功。 XNextEvent方法仅在我的应用程序聚焦时捕获事件。
我真的不需要知道按下了什么键或鼠标按钮,它不是键盘记录器。我只想知道是否发生了鼠标或键盘事件。
答案 0 :(得分:2)
只要我有一段时间没有按任何键或单击任何鼠标按钮,就会显示警报
这与屏幕保护程序将执行的操作非常相似,最有效的实现方法是使用X11 Screen Saver Extension。 XScreenSaverQueryInfo
函数将填充一个结构,该结构包括自上次用户输入(saver_info.idle
以来的毫秒数。