複数のプロセスを並列に読み取るためのLinux上のオープンキャラクタデバイス

複数のプロセスを並列に読み取るためのLinux上のオープンキャラクタデバイス

/dev/tty1複数のプロセスを介して文字デバイスを開いて、プロセス間の読み取りを妨げないようにしたいと思います。あるプロセスがバイトを消費すると、他のプロセスはそれを受信できないことがわかりました。

問題の詳細: 私はLinux上でキーを押してキードロップを受け取る必要があるコンソールアプリケーションを書いています。残念ながら、mcは同じデバイス上の読み取りを介してキーストロークを傍受しようとするK_XLATEため、ディスクリプタを読み取るとバイトが失われます(対応するインターフェイスを上下に隠す)。K_RAWioctl(fd,KDSKBMODE,K_RAW)/dev/tty1Ctrl+O

mc/dev/ttyそのため、stdinで生成された擬似ターミナルパイプ(モードに設定した後)でも読み込みを試みましたK_RAW。これで、私のCtrl+O文字コードが0x0Fタブスキャンコード(また)と衝突することを除いて、ほとんど機能します0x0F

それよりも高い権限を必要としない干渉の問題を解決する方法を探しているので、キーボードを直接読むことができるcap_sys_tty_configアクセスは/dev/input私にとって実行可能なアプローチではありません。

関連情報