버튼이 있는 와콤 펜이 있습니다. 버튼을 눌러 펜을 움직일 때 스크롤을 트리거하는 방법은 무엇입니까?
에 따르면 xev
다음 트리거 이벤트는 다음과 같습니다.스포츠 알림상태와 함께0x200.
이것이 사소한 것이 아니라면 제가 가지고 있는 한 가지 아이디어는 이러한 이벤트를 어딘가에서 읽고 다른 이벤트로 변환하는 서비스를 구축하는 것입니다. 이런 식으로 제스처를 정의할 수도 있습니다. 이 방법으로:
- 어디서 읽을 수 있나요?
- 이벤트에 답글을 쓰려면 어떻게 해야 하나요?
- 제스처를 감지하는 라이브러리가 있나요?
MotionNotify 이벤트, 시퀀스 번호 33, 합성 NO, 창 0xc00001, 루트 0x2ce, subw 0x0, 시간 695630659, (349,181), 루트: (1255,185), 상태 0x0, is_hint 0, same_screen YES ButtonPress 이벤트, 시퀀스 번호 33, 합성 번호, 윈도우 0xc00001, 루트 0x2ce, subw 0x0, 시간 695630659, (349,181), 루트: (1255,185), 상태 0x0, 버튼 2, same_screen YES MotionNotify 이벤트, 시퀀스 번호 33, 합성 NO, 창 0xc00001, 루트 0x2ce, subw 0x0, 시간 695630667, (348,183), 루트: (1254,187), 상태 0x200, is_hint 0, same_screen YES MotionNotify 이벤트, 시퀀스 번호 33, 합성 NO, 창 0xc00001, 루트 0x2ce, subw 0x0, 시간 695630675, (347,184), 루트: (1253,188), 상태 0x200, is_hint 0, same_screen YES ... MotionNotify 이벤트, 시퀀스 번호 33, 합성 NO, 창 0xc00001, 루트 0x2ce, subw 0x0, 시간 695632069, (327,486), 루트: (1233,490), 상태 0x200, is_hint 0, same_screen YES ButtonRelease 이벤트, 시퀀스 번호 33, 합성 NO, 창 0xc00001, 루트 0x2ce, subw 0x0, 시간 695632069, (327,486), 루트: (1233,490), 상태 0x200, 버튼 2, same_screen YES
답변1
나는 이 문제의 더 간단한 변형을 발견했습니다. 마우스의 추가 키를 키보드/마우스 버튼 조합으로 변환하여 창 관리자에서 바인딩하여 창을 이동/크기 조정할 수 있도록 했습니다. 어쩌면 내 코드가 당신의 출발점이 될 수 있습니다.
https://gist.github.com/CyberShadow/ae30a8d9f86c170c2451c3dd7edb649c
아이디어의 요점은 마우스 /dev/input/...
장치에서 입력 이벤트를 캡처하고 선택적으로 수정한 다음 다시 기록한다는 것입니다 /dev/uinput
.