/dev/input/event はキーの押下を報告しません。

/dev/input/event はキーの押下を報告しません。

LinuxボックスにUSBキーボードが接続されています。

押して放したすべてのキーをキャプチャする必要があります。

ここに画像の説明を入力してください。

私のキーボードのnキーロールオーバーは、同時に保持できるキーの数に制限がないことを意味します。すべてが検出され報告されます。

キーボードは端末とx-windowsでうまく機能します。

キーを1つずつ押しているたびに、画面に新しいキャラクターが表示されることがあります。 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);
});

ベストアンサー1

おすすめ記事