マルチタッチ デジタイザーでの使用法のサポート
Windows ポインター デバイスでマルチタッチとは、複数のコンタクト ポイントをサポートすることを意味します。 ここでは、マルチタッチ デジタイザー デバイスの必須の使用法とオプションの使用法について説明します。
マルチタッチ デジタイザーの必須の HID 使用法
マルチタッチ デジタイザーのレポート記述子は、デバイスが HID タッチ 画面 (page = 0x0D、usage = 0x04) であることを指定する必要があります。
マルチタッチ デジタイザーは、既存の HID タッチ使用法のほか、次の使用法を実装する必要があります。
- コンタクト識別子
- 最大コンタクト数
- スキャン時刻
オプションの HID 使用法
次の使用法はオプションですが、デジタイザー ハードウェアによってサポートされている場合、マルチタッチ デジタイザーはそれを報告する必要があります。
- Confidence
- 気圧
- アジマス
- 範囲 (タッチの場合は省略可能、ペンの場合は必須)
- Width と Height
マルチタッチ デジタイザーの HID 使用法
HID 標準では、デジタイザーからのマルチタッチ入力に対して次の使用法が定義されています。
Name | 説明 | CA 使用法 | ページ | Type | id |
---|---|---|---|---|---|
コンタクト識別子 | コンタクト識別子 | Touch | デジタイザー | 動的な値 (DV) | 0x51 |
コンタクト数 | 実際のコンタクト数 | Touch | デジタイザー | 動的な値 (DV) | 0x54 |
最大コンタクト数 | サポートされている最大コンタクト数 | Touch | デジタイザー | 動的な値 (DV) | 0x55 |
コンタクト識別子 現在のコンタクトの識別子を指定します。 デバイスによってコンタクトが検出されている間、識別子は一定でなければなりません。 同時コンタクトそれぞれに一意の識別子が必要です。 コンタクトが検出されなくなったら、識別子を再利用できます。 デバイスが "in-air "パケットをサポートしている場合 (コンタクトが表面上をポイントしている場合)、識別子は、コンタクトが検出されてから範囲外になるまで保持されなければなりません。
コンタクト数 現在のパケット内の有効なコンタクトの数を指定します。 並列モードまたはハイブリッド モードを使用するドライバーには、この使用法を含める必要があります。 この値を指定できないデバイスは、有効なコンタクト情報が含まれない最初の位置のすべての値に NULL を使用する必要があります。 ただし、NULL は、並列モードのデバイスにのみ使用できるオプションです。 デバイスは、コンタクト数と NULL を組み合わせて、実際の数を報告することはできません。 使用できるのはどちらか一方です。
最大コンタクト数 マルチタッチ デバイスがサポートする合計コンタクト数を指定します。 この使用法は、子コレクションではなく、マルチタッチの最上位レベルのコレクションに含める必要があります。 この使用法は、タッチの最上位レベル コレクションの機能レポートに存在しなければなりません。 データの報告中、デバイスは最大コンタクト数よりも多くのコンタクトを報告することはできません。 記述子に最大コンタクト数が記載されていないデバイスは、シングルタッチ デバイスと見なされます。 データのレポート時は、デバイスで最大接触数よりも多くの接触をレポートできません。 入力フレームに最大数を超える接触が含まれている場合、ホストは以前に報告された接触のデータを含むフレーム全体を破棄します。 最適なユーザー エクスペリエンスを得るには、既存の接触が消滅した場合でも、最大数に達した後に検出された新しい接触の有効期間中は、新しい接触の報告をデバイスで抑制する必要があります。 既存の接触は引き続き報告でき、いずれかが消滅した場合は、新たに届いた接触がその代わりを務めます。