私のLinuxコンピュータで仮想キーボードを作成しようとしています。マシンにはCLIのみがあります。/dev/input
他のデバイス(同様のもの)を埋めたいと思います/dev/input/event20
。どうすればよいかを調べましたが、mknod
残念ながら、メジャー番号とマイナー番号を実際のデバイスに接続する必要があります(C ++を介してデバイスに読み書きすることはできません)。キーボードドライバを自分で書かずに必要な操作をどのように実行できますか?
答え1
これを使って/dev/uhid
自分だけのものを作ることができます高圧ガス放電管機器。これにより、ユーザー空間でキーボードだけでなく、マウス、ジョイスティックなども簡単に提供することができる。新しく作成されたHIDデバイスは自動的に接続されたデバイスをインポートします/dev/input
。カーネルソースコードにサンプルプログラムがあります。samples/uhid/uhid-example.c
これが最も移植性に優れた方法だと思います。 HIDデバイスは高度に標準化されています。デフォルトでは、すべてのUSBキーボードとマウスはHIDデバイスです。
/dev/uinput
または/dev/input/uinput
(配布パネルに応じて)を使用して直接入力階層デバイスを作成することもできます。たとえば、参照してください。ここもっと学ぶ。これにはuinput
カーネルモジュールが必要です。