Linux カーネル、特に入力サブシステムについて調査しています。さまざまな入力イベント (主にキーボードとマウス) の /dev/input/eventX デバイスを読み取ることに興味があります。
ただし、read()
操作はブロックされます。私が考えることができる唯一のことは、すべてのキーボード キーとマウス ボタンの状態を作成し、キーボードとマウスの状態を読み取るための新しいスレッドを作成し (これらのスレッドは時々ブロックされる可能性があります)、メイン プロセスから、キーボードとマウスの状態にアクセスします。
しかし、私は C++ と Linux でのノンブロッキング プログラミングの経験があまりなく、各デバイスのスレッドはやり過ぎかもしれないと思います。
ブロックしない方法で入力を処理する他の方法があるかどうか、またはスレッドを使用しても問題ないかどうかを知りたいですか?
ありがとう、スクウィー。