Linux 상자에 USB 키보드가 연결되어 있습니다.
눌렀다가 놓은 모든 키를 캡처해야 합니다.
내 키보드 n-키 롤오버는 동시에 보유할 수 있는 키 수에 제한이 없음을 의미합니다. 모두 감지되어 보고됩니다.
키보드는 터미널과 x-windows에서 훌륭하게 작동합니다.
키를 하나씩 누르고 있을 때마다 화면에 새로운 캐릭터가 나타날 수 있습니다. 10개를 시도했는데 모두 감지되었습니다.
하지만:
/dev/input/eventX에서 키보드에 해당하는 데이터를 읽을 때 6번의 키를 누르면 데이터가 더 이상 표시되지 않습니다.
node.js에 작은 프로그램을 작성했지만 "cat /dev/input/eventX"를 실행해도 동일한 동작을 관찰할 수 있습니다.
키코드를 읽고 이를 터미널에 표시하는 데 사용되는 동일한 드라이버가 있다고 가정하기 때문에 이는 매우 혼란스럽습니다.
이벤트 파일이 어디에 있는지, 왜 6개 이상의 키에 대한 데이터가 수신되지 않는지 아는 사람이 있나요?
이 문제를 해결할 방법이 있나요?
RPI(Debian 및 Ubuntu), OrangePI(Ubuntu) 및 PC(LinuxMint)를 사용해 보세요.
고마워요, 미
이것은 node.js 코드입니다.
*
const InputEvent = require('input-event');
const input = new InputEvent('/dev/input/event0');
function keyReleased(input) {
console.log(input.code);
}
const keyboard = new InputEvent.Keyboard(input);
keyboard.on('data' , function(input) {
console.log("DATA:" + input.code);
});