/dev/tty1
複数のプロセスを介して文字デバイスを開いて、プロセス間の読み取りを妨げないようにしたいと思います。あるプロセスがバイトを消費すると、他のプロセスはそれを受信できないことがわかりました。
問題の詳細:
私はLinux上でキーを押してキードロップを受け取る必要があるコンソールアプリケーションを書いています。残念ながら、mcは同じデバイス上の読み取りを介してキーストロークを傍受しようとするK_XLATE
ため、ディスクリプタを読み取るとバイトが失われます(対応するインターフェイスを上下に隠す)。K_RAW
ioctl(fd,KDSKBMODE,K_RAW)
/dev/tty1
Ctrl+O
mc
/dev/tty
そのため、stdinで生成された擬似ターミナルパイプ(モードに設定した後)でも読み込みを試みましたK_RAW
。これで、私のCtrl+O
文字コードが0x0F
タブスキャンコード(また)と衝突することを除いて、ほとんど機能します0x0F
。
それよりも高い権限を必要としない干渉の問題を解決する方法を探しているので、キーボードを直接読むことができるcap_sys_tty_config
アクセスは/dev/input
私にとって実行可能なアプローチではありません。