2016-12-09 1 views
0

두 번의 클릭 사이의 지연이 설정된 경우 마우스 클릭을 전역으로 후킹하고 마지막 클릭을 차단해야합니다.X11에서 전 세계적으로 후크 및 차단

나는 WM_MOUSE_LL 후크를 사용하여 창문에 작성했습니다. 나를위한 해결책을 찾지 못했습니다. X11에서 마우스 클릭을 전체적으로 차단할 수 있습니까?

Windows full code

+0

무엇을하려고합니까? 그냥 "빠른"두 번 클릭 차단? –

+0

@I-V, 예, 우리가 서로 정확하게 이해한다면 – Inline

+0

코드가 실행중인 동일한 컴퓨터에서 클릭을 차단하려고 시도했거나 rdp를 통해 원격 컴퓨터에서 블록을 차단하려고하면 실제로 의미가 있습니까? –

답변

1

은 내가 아는 한 표준 X11 프로토콜이 허용하지 않습니다. XInput 2.0 확장 기능은있을 수 있지만 의심 스럽습니다. Windows는 모든 프로그램이 수신하는 단일 이벤트 대기열을 사용하므로 프로그램이 이벤트를 가로 채고 대기열을 다른 수신 대기자에게 보내지 못하게합니다. 모든 X11 클라이언트에는 독립적 인 대기열과 이벤트에 관심을 갖는 모든 클라이언트는 대기열에 독립적 인 사본을 수신합니다. 즉, 일반적인 상황에서는 잘못된 프로그램이 다른 프로그램을 실행하는 것을 차단하는 것이 불가능합니다. 클라이언트가 다른 클라이언트를 차단해야하는 경우 서버가 다른 클라이언트의 이벤트를 처리하지 못하도록 서버를 잡아야한다는 것을 의미합니다. 당신도

  • 는 X 서버 프록시를 사용할 수 있다는 것을 의미

    (어렵지 않을 것이다, 그러나이 될 것입니다 꽤 느린)

또는

  • 은에 그것을 할 입력 장치 레벨. /dev/input/event<n>은 입력 이벤트를 제공합니다. 거기에서 keypresses를 읽을 수 있고 그들이 더 많이 전파되어야하는지 결정할 수 있습니다. 불행하게도 이것에 대한 실제 문서는 없지만 헤더 파일 linux/include/input.h은 매우 자명합니다.
관련 문제