마우스 비활성을 감지하는 방법

마우스 비활성을 감지하는 방법

일정 시간 동안 유휴 상태가 되면 키보드 조명을 자동으로 어둡게 하고 싶습니다. 비활성 시간을 감지하는 방법은 무엇입니까? 그런데 저는 아치리눅스를 사용합니다.

답변1

Debian 기반 시스템에는 xprintidle다음 xprintidle명령이 있습니다(https://github.com/g0hl1n/xprintidle/)는 표준 출력에 유휴 시간을 밀리초 단위로 인쇄합니다.

$ sleep 2; xprintidle
1925

이렇게 하면 다른 답변과 마찬가지로 API를 사용 ltrace하는 것을 볼 수 있습니다.XScreenSaverQueryExtension()XScreenSaverQueryInfo()또한 일부 서버의 극단적인 경우에 발생하는 특정 문제에 대한 몇 가지 해결 방법을 추가했습니다..

답변2

컴파일하고 실행하면 유휴 시간이 밀리초 단위로 표시됩니다.

#include <X11/extensions/scrnsaver.h>
#include <stdio.h>

int main(void) {
    Display *dpy = XOpenDisplay(NULL);

    if (!dpy) {
        return(1);
    }

    XScreenSaverInfo *info = XScreenSaverAllocInfo();
    XScreenSaverQueryInfo(dpy, DefaultRootWindow(dpy), info);
    printf("%u\n", info->idle);

      return(0);
}

답변3

이는 또한 C(Makefile을 사용하여)로 구현됩니다.https://github.com/mjml/xidle.

이는 유휴 시간의 시간, 분, 초 및 밀리초와 단위/액면가를 선택하는 옵션 스위치가 포함된 쉘 스크립트를 제공합니다.

관련 정보