현재 PS / 2 키보드를 에뮬레이트하여 AVR로 PC를 제어하려는 프로젝트를 진행하고 있습니다. 이러한 이유로 저는 현재 AVR 용 https://github.com/ndusart/ps2-keyboard 및 http://python-evdev.readthedocs.io/en/latest/ 와 같은 모든 필수 하드웨어와 일부 소프트웨어 라이브러리를 보유 하고 있습니다 . PC 부분의 경우 index.html .
또한 http://www.pcbheaven.com/wikipages/The_PS2_protocol/ , http://www.computer-engineering.org/ps2protocol/ 및 http://retired.beyondlogic.org/ 에서 PS / 2 프로토콜에 대해 읽었습니다. keyboard / keybrd.htm
그런 다음 명령을 실행 sudo cat /dev/input/by-path/platform-i8042-serio-0-event-kbd > ./kbrd.hex
하고 키보드를 연결 한 다음 백 스페이스를 눌렀다 놓습니다.
나는 같은 것을 제외 AA 66 F0 66
하고 어쩌면 그 FA
사이에 '(ACK)를 넣을 수도 있지만 내가 가진 것은 매우 다릅니다.
그래서 내 질문 :
이것은 / dev / input /의 작동 동작에 대한 오해로 인해 발생할 수 있습니까? 아니면 문제가 내 설정의 다른 부분에 있습니까? / dev / input /에서 버퍼에서 원시 입력을 가져올 것으로 예상하는데 이것은 원시가 있어야한다고 생각하지 않습니다.
프로세스를 설명하는 방식은 출력 캡처를 시작하고 키보드에 연결하고 키를 누른 다음 캡처를 중지합니다. 이 경우 키보드를 연결하고 캡처를 시작하고 키를 누르고 캡처를 중지하는 것이 좋습니다.
편집 : 추가 정보 추가
지금까지 내 자신의 빠른 조사에서 당신의 덤프와 완전히 일치하는 것을 얻지 못했지만 :
당 kernel.org 문서 및 소스 코드 , 출력 / 디바이스 / 인터페이스로부터 입력 형식이다 :
struct input_event {
struct timeval time;
unsigned short type;
unsigned short code;
unsigned int value;
};
다음과 같습니다.
01
for EV_KEY
(keypress). input-event-codes.h를 참조하십시오.0E
대한 KEY_BACKSPACE
. input-event-codes.h를 참조하십시오.01
키 누르기, 00
해제, 02
자동 반복의 경우 4 바이트이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다