現在Unityテクニカルチームを率いるStephen Webbにタッチ入力について尋ねることができました。以前彼がuTouch-geisパッケージのリード開発者であったため、彼に連絡しました。このパッケージは、Frame、Geis、およびGrailの 3つの異なるパッケージに分割されていました。これらは13.04の主要なタッチスクリーンコントロールであり、他のマルチタッチプロジェクトにも深く関与しています。私は彼にタッチデバイス入力と私の考えについてもっと学ぶことについて尋ねました。これは彼が言わなければならなかったことです:
Grub2にシングルタップイベントを登録させたいのですが、これ以上は必要ありません(マルチタッチは不要です-私はそう思います)。目的は、ブートメニューから選択することです。
ブートローダーコードからタッチして動作するようにするのは難しいでしょう。
多くの(すべてではない)タッチ入力デバイスには、Microsoft HIDプロトコルで動作するデバイスドライバーがあります。そのドライバーテクノロジーをGRUB2に複製し、それをGRUB2が入力として理解できるものにマッピングする方法を理解する必要があります。仕事のようですね。
タッチデバイスの仕組みを理解するのに役立つリソースを教えてください。
それは複雑です。さまざまな方法でホストに接続され、さまざまなプロトコルを使用し、さまざまなデータを配信するさまざまなテクノロジーが数多くあります。
ここにいくつかの良いドキュメントがあります。
提案できるシングルタップライブラリやマルチタッチライブラリはありますか?前進する方法について他に提案はありますか?
さて、Linuxスタックには、タッチプロセッサにファームウェアがあり、カーネルのデバイスドライバーにデータを供給します。これは、x.orgドライバーによって読み取られ、XI2プロトコルに変換されるevdevプロトコルに変換されます。 XI2タッチイベントを探すものは何もないので、それをXIマウスイベントに変換し、X11イベントをクライアントに送信します。ブートローダーレベルでは、タッチプロセッサから直接入力するだけです。