2014-07-07 4 views
4

노드가 실행되는 데비안 ARM 헤드리스 머신이 있습니다. 장치에는 gpio-keys을 사용하여 일반 키보드 이벤트에 매핑되는 하드 버튼이 있습니다.NodeJS가있는 Linux에서 전체 키보드 이벤트 캡처

내 목표는 하드 버튼뿐만 아니라 노드의 연결된 키보드에서 글로벌 이벤트를 캡처하는 것입니다. 내가 keydown/keyup 이벤트를 독립적으로 (SSH 세션을 통해 실행됩니다)에서 실행되는 터미널 캡처 할 수있는 솔루션이 필요합니다. ARM 데비안에서 작동하는 한 크로스 플랫폼 일 필요는 없습니다. 받아 들일 것입니다.

나는 어떤 것이 든 sysfs 속성이 필요하다는 것을 직접적으로 읽는 것을 상상하고있다. 그러나 그것은 요구 사항이 아니다.

아무도 도와 줄 수 있습니까? 나는 잠시 머물렀다.

답변

1

장치 파일 중 하나 인 /dev/input/event*은 gpio-keys 장치를 나타냅니다. 여러 가지 방법으로 어느 것을 찾을 수 있습니까? 한 가지 쉬운 방법은 장치에 대한 uevent 파일의 내용을 보는 것입니다 (예 : /sys/class/input/event0/device/uevent. 여기에는 여러 유용한 키 - 값 속성이 포함됩니다.

원하는 장치를 파악한 후에는 열어서 읽을 수 있습니다. <linux/input.h>에 정의 된대로 struct input_event s의 스트림을 반환합니다. 이 이벤트는 각 단추의 누름과 릴리스에 해당합니다.

node-keyboard : https://github.com/Bornholm/node-keyboard

과 같이 문제의 적어도 일부분에 대해 기존 솔루션을 살펴볼 수도 있습니다.