パケット報告モード
このトピックでは、Windows 10 の Windows タッチスクリーン デバイスのパケット報告モードについて説明します。
並列モード
並列モードでは、デバイスによってすべての接触情報が 1 つのパケットでレポートされます。 物理的な接触はそれぞれ、最上位のコレクションに埋め込まれている論理コレクションによって表されます。 この論理コレクションには、デバイスが各接触に対してサポートしているすべての使用状況が含まれています。 並列モードを使用する場合、各論理コレクションは同一である必要があります。 デバイスからレポートされる接触の数は、通常、レポート可能な最大数よりも少ないため、並列パケットでは接触の数のレポートを使用して通信する必要があります。
たとえば、3 つの接触をサポートするデバイスを考えてみます。 デジタイザーに指が 2 本しか置かれていない場合、3 つの接触データを送信できるレポートであっても、並列パケットはこれら 2 つの連絡先に関する情報のみで構成されます。 この場合は、接触の数を 2 に設定して、クライアント アプリケーション側が 3 つ以上の接触に関する情報を無効と認識できるようにする必要があります。
1 つのレポートで複数の接触をレポートすることの欠点は、接触数がレポート可能な最大数よりも少なくなるたびに、レポートあたりのスペースが無駄になることです。 デバイスでハイブリッド モードを使用すると、この非効率性を低減できます。
ハイブリッド モード
ハイブリッド モードでは、1 つのレポートでレポートできる接触の数が、デバイスがサポートしている接触の最大数よりも少なくなります。 たとえば、最大 4 つの物理的な同時接触をサポートするデバイスで、1 つのレポートあたり最大 2 つの接触を送信するように、最上位のコレクションを設定できます。 4 つの接触ポイントが発生した場合、そのデバイスでは、これらを 2 つのシリアル レポートに分割して、それぞれで 2 つの接触を送信することができます。
この方法でデバイスでデータを送信する場合、最初のレポートでの接触の数の使用状況の値には、ハイブリッド レポートで送信されている接触の総数が反映されている必要があります。 その他のシリアル レポートの接触数は、0 (ゼロ) にする必要があります。
1 本指ハイブリッド レポート モード
特定のフレームの最初の入力レポートは、接触の数の使用状況を介してレポートされる接触の数の合計を示している必要があります。 また、同じフレームの後続のすべての入力レポートでは、それらが以前にレポートされたフレームの一部であることを示すために、接触の数の使用状況の値を 0 (ゼロ) にする必要があります。 特定のフレームのすべてのレポートのスキャン時間は同じである必要があります。
接触が 2 つの場合のレポート シーケンスと、1 本指ハイブリッド レポート モードを使用した場合のレポート シーケンスの表を次に示します。
レポート | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
接触の数 | 2 | 0 | 2 | 0 | 2 | 0 |
接触 ID | 1 | 2 | 1 | 2 | 1 | 2 |
接触 1: X、Y | X₁、Y₁ | NR | X₂、Y₂ | NR | X₃、Y₃ | NR |
接触 1: 先端スイッチ | 1 | NR | 1 | NR | 1 | NR |
接触 2: X、Y | NR | X₁、Y₁ | NR | X₂、Y₂ | NR | X₃、Y₃ |
接触 2: 先端スイッチ | NR | 1 | NR | 1 | NR | 1 |
スキャン時刻 | T1 | T1 | T2 | T2 | T3 | T3 |