我需要一种方法来检测Linux上的鼠标/键盘活动.类似于任何IM程序的东西.如果没有检测到任何活动,例如5分钟,它会将您的IM状态设置为"我现在不在这里".
对此有任何帮助表示赞赏.
谢谢.
或者只需使用xprintidle
返回空闲时间的命令(以毫秒为单位).
它已经为基于debian的系统打包.(源代码在原始网站dtek.chalmers.se/~henoch上不再可用,但你可以在packages.ubuntu.com上获得)
关于freshmeat.net的更多信息
完整的c解决方案:(将整个代码剪切并粘贴到终端中)
cat>/tmp/idletime.c<#include #include #include #include #include int GetIdleTime () { time_t idle_time; static XScreenSaverInfo *mit_info; Display *display; int screen; mit_info = XScreenSaverAllocInfo(); if((display=XOpenDisplay(NULL)) == NULL) { return(-1); } screen = DefaultScreen(display); XScreenSaverQueryInfo(display, RootWindow(display,screen), mit_info); idle_time = (mit_info->idle) / 1000; XFree(mit_info); XCloseDisplay(display); return idle_time; } int main() { printf("%d\n", GetIdleTime()); return 0; } EOF gcc -Wall /tmp/idletime.c -o /tmp/idletime -L/usr/X11R6/lib/ -lX11 -lXext -lXss DISPLAY=:0 /tmp/idletime
(主要部分来自X11 :: IdleTime perl模块)