Cプログラムの入力を受け入れる偽のデバイスファイルを作成する方法は?

Cプログラムの入力を受け入れる偽のデバイスファイルを作成する方法は?

/dev/input/js0ゲームパッド()から入力を受け取り、処理してから偽のデバイスファイル(char)に送信するCプログラムを作成したいと思います。またはブロック)キーボードで表示される(あ、また何?はいキーボード用のデバイスファイル?これが可能かどうか、可能であればどのように可能かを知りたいです。

ベストアンサー1

ls -al /dev私のシステムから抜粋したコマンドを詳しく見てください。

brw-rw----  1 root floppy    8,   0 Jun  7 19:55 sda
brw-rw----  1 root floppy    8,   1 Jun  7 19:55 sda1
brw-rw----  1 root floppy    8,   2 Jun  7 19:55 sda2
brw-rw----  1 root floppy    8,   3 Jun  7 19:55 sda3
brw-rw----  1 root floppy    8,   5 Jun  7 19:56 sda5
brw-rw----  1 root floppy    8,   6 Jun  7 19:56 sda6
brw-rw----  1 root floppy    8,   7 Jun  7 19:56 sda7
brw-rw----  1 root floppy    8,   8 Jun  7 19:57 sda8
brw-rw----  1 root floppy    8,  16 Jun  7 19:55 sdb
brw-rw----  1 root floppy    8,  32 Jun  7 19:55 sdc
brw-rw----  1 root floppy    8,  33 Jun  7 19:55 sdc1
brw-rw----  1 root floppy    8,  34 Jun 11 10:39 sdc2
brw-rw----  1 root floppy    8,  35 Jun  7 19:56 sdc3

グループIDの後、日付の前の2つの数字は、デバイスファイルのメジャー番号とマイナー番号です。これは基本的にデバイスの「タイプ」です。この例では、8はSCSI(またはエミュレートされたSCSI)ディスクドライブです。

http://lxr.linux.no/linux/Documentation/devices.txtすべてのメジャー番号とマイナー番号の新しいリストではありません。最新バージョンのリストが正式にどこにあるかわかりません。

とにかく、これらのファイルはmknodコマンド(ブロック、文字のmknod [OPTION]... NAME TYPE [MAJOR MINOR]いくつかのタイプ)を使用して生成されます。システムコールもあります。既存のデバイスと同じ州/部門で異なるファイルを作成することが何を意味するのかわかりません。bcmknod()

uinput説明のように、これはあなたが探しているものかもしれませんが、PCハードウェアでは、/dev/psauxシステムが十分に古い場合は、PS / 2ポートに直接読み書きできます。 USBキーボードをどこから始めるべきかさえわかりません...

偽のデバイスファイルが必要で、ここに送信されるデータがどうなるか気にしない場合は常に/dev/zero

おすすめ記事