PS/2キーボードの/dev/input/読み取り

PS/2キーボードの/dev/input/読み取り

私は現在、AVRを使用してPS / 2キーボードをシミュレートしてPCを制御するプロジェクトを進めています。だから私は現在必要なすべてのハードウェアと次のソフトウェアライブラリをいくつか持っています。https://github.com/ndusart/ps2-keyboardAVRとhttp://python-evdev.readthedocs.io/en/latest/index.htmlPC部分の場合。
PS/2プロトコルについても読みました。http://www.pcbheaven.com/wikipages/The_PS2_protocol/http://www.computer-engineering.org/ps2protocol/そしてhttp://retired.beyondlogic.org/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/にあるバッファから生の入力を受け取ることを期待していますが、それは生の入力でなければならないとは思いません。

編集する
キーボードが接続されている別の16進ダンプ: ここに画像の説明を入力してください。

ベストアンサー1

プロセスを説明する方法は、出力キャプチャを開始し、キーボードを接続し、キーを押してからキャプチャを停止することです。このような場合は、キーボードを接続してキャプチャを開始し、キーを押してキャプチャを停止することをお勧めします。

編集する:追加情報を追加

これまで私が直接調査した結果、あなたのダンプと正確に一致する結果は出ていませんでしたが、

すべてkernel.org ドキュメントそしてソースコード, /dev/input インタフェースの出力形式は次のとおりです。

struct input_event {
    struct timeval time;
    unsigned short type;
    unsigned short code;
    unsigned int value;
};

これは次のとおりです。

おすすめ記事