私はLinuxカーネルのタッチスクリーンイベントを処理するユーザースペースライブラリを作業しています。
以下のコード行はそれが何であるかを理解していません。EVIOCGRAB
タッチスクリーンファイル記述子を使用してioctlに渡す目的は何ですか?なぜ必要ですか?
ioctl(fd, EVIOCGRAB, (void *)1);
EVIOCGRAB
インターネット検索では多くの情報が得られなかったようです。よろしくお願いします。
答え1
EVIOCGRAB
パラメータが1の場合、デバイスを排他的に試み、成功すると、キャプチャされたデバイスevdev
によって生成されたすべてのイベントが所有クライアントにのみ送信されます。厳密に言えば、実際には必要はありません。libevdev
出荷書類ビーチlibevdev_grab
(これは図書館呼び出しラッパーEVIOCGRAB
)説明する
これは一般的に悪い考えです。これをしないでください。