有没有一种简单的方式来检测Linux / Xorg / Qt4 / Kde4中的鼠标或键盘活动? [英] Is there a simple way to detect mouse or keyboard activity in Linux/Xorg/Qt4/Kde4?

查看:169
本文介绍了有没有一种简单的方式来检测Linux / Xorg / Qt4 / Kde4中的鼠标或键盘活动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有一种简单的方式来检测Linux或Xorg或Qt4或Kde4环境中的鼠标或键盘活动?显然不仅仅是在特定的窗口上,而是在整个Xorg桌面上。

解决方案

可以使用XScreenSaver扩展( man Xss )。它可以使用函数 XScreenSaverQueryInfo 为您提供价值:

  typedef struct {
窗口窗口; / *屏幕保护程序窗口* /
int state; / * ScreenSaver {Off,On,Disabled} * /
int kind; / * ScreenSaver {Blanked,Internal,External} * /
unsigned long til_or_since; / * milliseconds * /
unsigned long idle; / * milliseconds * /
unsigned long event_mask; / * events * /
} XScreenSaverInfo;




空闲字段指定自上次输入收到以来的毫秒数来自任何输入设备上的用户。


我不知道这个Qt唯一的解决方案。

Is there a simple way to detect mouse or keyboard activity in Linux or Xorg or Qt4 or Kde4 environment? Obviously not only on a particular window but in the entire Xorg desktop.

解决方案

You can use the XScreenSaver extension (man Xss). It can provide you with values into this struct using the function XScreenSaverQueryInfo:

   typedef struct {
       Window window;                /∗ screen saver window */
       int state;                    /∗ ScreenSaver{Off,On,Disabled} */
       int kind;                     /∗ ScreenSaver{Blanked,Internal,External} */
       unsigned long til_or_since;   /∗ milliseconds */
       unsigned long idle;           /∗ milliseconds */
       unsigned long event_mask;     /∗ events */
   } XScreenSaverInfo;

The idle field specifies the number of milliseconds since the last input was received from the user on any of the input devices.

I don't know about a Qt only solution for this.

这篇关于有没有一种简单的方式来检测Linux / Xorg / Qt4 / Kde4中的鼠标或键盘活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆