멀티 터치 이벤트를 애플리케이션에 전파

멀티 터치 이벤트를 애플리케이션에 전파

제 목표는 표준 라이브러리를 사용하여 제스처를 인식하고 해당 이벤트를 Java 8에서 사용하는 것입니다. Ubuntu(grail, geis)에 대한 제스처 인식 스택이 있다는 것을 알고 있지만 이를 모두 통합하는 방법을 아직 이해하지 못했습니다.

저는 EETI eGTouch 드라이버(eGTouchD 버전: 2.5)와 함께 eGalaxTouch 터치 포일(PCAP7200 시리즈)을 사용하고 있습니다. 내 Linux Mint 17은 이 장치를 마우스로 인식합니다.

에서 장치의 이벤트를 읽고 /dev/input/eventX멀티 터치 이벤트( )를 출력한다는 것을 알았습니다 ABS_MT_SLOT, ABS_MT_TRACKING_ID, ABS_MT_POSITION_X, ABS_MT_POSITION_Y.

표준 Linux 기능을 사용하여 제스처를 감지하고 해당 이벤트를 애플리케이션(제 경우에는 JavaFX2 애플리케이션)에 전파할 가능성이 있습니까? 아니면 내 애플리케이션 내에서 제스처를 인식해야 합니까? 즉, Linux 라이브러리를 사용할 수 없다는 의미입니까?

표준 마우스 외에 멀티 터치 장치를 위한 특별한 장치 유형이 있습니까?

답변1

표준 Linux 라이브러리에는 제스처 프로그래밍을 위해 통합된 기술이 없습니다. 어쨌든 xinput 장치에서 읽을 수 있으며 방법을 보여 드리겠습니다. 하지만 먼저 xInput 프로그래밍의 역사, X에 대한 제스처 프로그래밍, 마지막으로 제가 믿는 명령 및 외부 라이브러리에 대한 몇 가지 기사로 연결해 드리겠습니다. 당신에게 유용합니다.

LWN.Net Xinput 멀티터치 역사

이것은 xorg-multitouch 확장의 역사입니다. 제스처 프로그래밍을 다루고 다음을 참조합니다.uTouch 제스처 프로그래밍 프로젝트.

이 두 가지 유익한 기사는 좋은 소스 자료이며 오늘날 기술이 어디에 있는지 이해하는 데 도움이 될 것입니다.

XInput 매뉴얼

$> xinput --list

위에 설명된 명령은 xInput 장치를 나열합니다.

필요한 제스처 기능은 응용 프로그램 내에서 만들 수 있지만 uTouch 제스처 프로그래밍 프로젝트와 같이 격차를 메울 수 있는 옵션도 있습니다.

장치에서 입력을 읽는 동안 두 패키지 중 하나를 추천할 수 있습니다.

xInput에서 XEV 읽기 이벤트

$> xev --display :0 -id $WINDOW_ID >> to.file
  • [--display]는 xserver 디스플레이 #입니다(내 것은 :0).
  • [id]는 귀하의 창 ID #입니다($> wmctrl -lG와 같은 명령에서 얻을 수 있음).

xInput의 Key-Mon 읽기 이벤트

위 캡션은 동일한 작업을 수행하지만 입력 이벤트를 인쇄하는 Python 스크립트입니다. XEV가 입력 이벤트의 기하학적 구조를 기록하기 때문에 XEV가 귀하에게 솔루션이 될 것이라고 믿습니다.

이게 도움이 되길 바란다!

관련 정보