組み込み Linux システム用のカスタム ジョイスティック/ゲームパッド デバイスを構築しようとしています。ユーザー空間コードから /dev/input にノードを作成できるライブラリまたはシステム API を探しています。
私はこれが欲しい理由:
カスタム ハードウェアは、既存の SPI または I2C ドライバーを使用してシステムと通信できます (これは私のハードウェア設計なので、最も技術的に意味のあることは何でもできます)。
カーネルモジュールは他のドライバーを利用できず、他のモジュールからエクスポートされたシンボルのみ
カーネル モジュールを作成する唯一の方法は、カーネル コードを使用し、それをカーネル モジュールとしてコンパイルすることだと理解しています。ユーザー空間コードでカーネル モジュールを実現しようとしているわけではありません。
ファイルを作成できる API を探しています。そのファイルが読み書きされると、関数が呼び出されます。それがキャラクタードライバーの一般的なコンセプトです。カーネルが提供または課す特権や制限は必要ありません。
まったく新しいカーネル モジュールを作成する必要のない、ファイル I/O をエミュレートする何らかの方法が必要です。
ありがとう!