FAQ – Wacom feel™ Multi-Touch API
INDEX
- 4 Wacom feel™ Multi-Touchタブレット機能
- 4.1 Wacom feel™ Multi-Touch APIの主な機能は何ですか?
- 4.2 ペン使用時にマルチタッチタブレットは手のひらによるタッチをリジェクトしますか(手のひら検出、手検出、または手首検出とも呼ばれる)?
- 4.3 ペンデータとタッチデータを一緒に(同時に)使用できますか?
- 4.1 ワイヤレスアクセサリーの使用時にパフォーマンスまたは機能セットは減少しますか?
- 5 Wacom feel™ Multi-Touch APIの使用
- 5.1 どのビルド環境がサポートされていますか?
- 5.2 Wacom feel™ Multi-Touch API用のソフトウェア開発を始めるために必要なものは何ですか?
- 5.3 Wacom feel™ Multi-Touch APIを使用するために必要なものは何ですか? SDKまたはライブラリをプロジェクトに組み込む必要はありますか?
- 5.4 Wacom feel™ Multi-Touch APIは、第1世代のBambooペンおよびタッチ製品と連携しますか?
- 5.5 Wacom feel™ Multi-Touch APIサンプルアプリケーションはどこで入手できますか?
- 5.6 feel™ Multi-touch API用のSDKをどのようにダウンロードできますか?
- 5.7 Wacom feel™ Multi-Touch APIを介して、どの種類のタッチデータをタブレットから取得できますか?
- 5.8 このタッチデータをどのように使用できますか?
- 5.9 Wacom feel™ Multi-Touch APIによってサポートされる主な操作モードは何ですか?
- 5.10 コンシューマモードとオブザーバモードの違いは何ですか?
- 5.11 パームリジェクションはどのように機能しますか?「タッチ信頼性ビット」とは何ですか?
- 5.12 拡張ジェスチャーおよびカスタマイズ可能ジェスチャーをどのように作成できますか?これらのジェスチャーを作成するためのツールは、Wacomで提供されていますか?
- 5.13 Wacomジェスチャーエンジンは、どのようにAPIと連携しますか?
- 5.14 アプリケーションは、Wacomのシステム全体の「ユーザー構成可能ジェスチャー」や、カスタムアプリケーション固有のタッチ機能をどのようにサポートできますか?
- 5.15 手のひらをタブレットに置いているときに、ジェスチャーまたはフィンガーデータ入力のために指でタッチする場合、Wacom feel™ Multi-Touch APIは手のひらを識別してリジェクトできますか?
- 5.16 Wacomタブレット用の機能の設計時に、使用するモデル番号を取得できないのはなぜですか?
- 5.17 APIが変更および改良されても、アプリケーションは旧バージョンのAPIと連携しますか?
- 5.18 フレームカウントとは何ですか、またどのように使用しますか?
- 6 アプリケーション設計上の考慮事項
- 6.1 Wacom feel™ Multi-Touch APIを使用する場合の重要な設計上の考慮事項は何ですか?
- 6.2 素早い滑らかなタッチ体験を作るためのヒントは何ですか?
- 6.3 フィンガーデータからジェスチャーを設計するための推奨事項は何ですか?
- 6.4 ペンをタッチと同時に使用するための推奨事項は何ですか?
- 6.5 Cintiq(液晶ペンタブレット)とIntuos(ペンタブレット)で、タッチ機能の設計方法に違いはありますか?
- 7 Mac固有の環境でのAPIの使用法
- 7.1 AppleのタッチAPI(NSEvent、NSTouch)から、どのWacomデータを取得できますか?
- 7.2 Wacomのハードウェア用のマルチタッチの指位置認識アプリケーションをどのように作成できますか?
- 7.3 Appleトラックパッドハードウェア上では、指1本のジェスチャーでカーソルが移動します。Wacomドライバで指コールバックを有効にしても、Wacomハードウェア上での指1本のジェスチャーは、マウスを駆動せず、指コールバックにフィードされます。
- 7.4 Mac OSでは、どのジェスチャーがサポートされていますか?
- 8 Windows固有の環境でのAPIの使用法
- 8.1 Wacom feel™ Multi-Touch APIは、WM_GESTUREイベント(アプリケーションによって処理される標準のWindows 7 OSレベルのイベント)を介したWindows 7ネイティブのマルチタッチをサポートしていますか?
- 8.2 Wacom feel™ Multi-touch APIを使用して、Windows 8 Metroアプリケーション用のタッチ機能またはジェスチャーを設計できますか?
- 8.3 Win8タッチAPIとWacom feel(tm) Multi-touch APIの違いは何ですか?
詳細
1 サポートされるタブレット
データの種類についての説明:
- ペン/タッチ同時検出 – ペンデータとタッチデータを同時に検出できます。これにより、ユーザが片方の手でペン入力を行いながら、もう片方の手でタッチ機能(描画キャンバスの回転など)を実行しても、アプリケーションは応答できます。
- 信頼性ビット – フィンガータッチポイントデータパケット内のtrue/falseフラグで、タブレットドライバソフトウェアがフィンガーデータをアルゴリズムによって「有効」と判別したかどうかを示します。 たとえば、ユーザがペンで描画している間に手のひらをタブレットに置いているために発生するタッチはfalse(信頼性なし)と判別されます。これにより、アプリケーションは、そのようなタッチに対してパームリジェクションを実行できます。
- タッチポイントデータ – 各指の位置、サイズ、および信頼性を示すフィンガータッチデータ。
- BLOBデータ – 各指の輪郭を示すフィンガータッチデータ。
- RAWデータ – すべてのタブレットポイントを示すタブレットタッチセンサーデータ(タッチしているかどうか)。
詳しくは、Wacom feel™ Multi-Touch APIの資料 を参照してください。
タブレットモデル | タブレット名 | ペン/タッチ同時検出 | APIでの信頼性ビットのサポート | タッチポイントデータ | BLOBデータ | RAWデータ | 指ごとの1秒あたりのタッチポイントの概数(指は5本以下) | タッチデータをサポートする最初のドライババージョン(Windows/Mac) |
CTH-460 | Bamboo Pen & Touch | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 | 50 | 該当なし |
CTH-461 | Bamboo Craft Pen & Touch | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 | 50 | 該当なし |
CTH-661 | Bamboo Fun Medium Pen & Touch | 非対応 | 非対応 | 非対応 | 非対応 | 非対応 | 50 | 該当なし |
CTH-470 | Bamboo Capture | 非対応 | 非対応 | 対応 | 非対応 | 非対応 | 50 | 5.2.5 / 5.2.6 |
CTH-670 | Bamboo Create | 非対応 | 非対応 | 対応 | 非対応 | 非対応 | 50 | 5.2.5 / 5.2.6 |
PTH-450 | Intuos5 Small | 対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.2 / 6.3.2 |
PTH-650 | Intuos5 Medium | 対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.2 / 6.3.2 |
PTH-850 | Intuos5 Large | 対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.2 / 6.3.2 |
DTH-2400 | Cintiq 24HDT Pen and Touch Display | 対応 | 対応 | 対応 | 対応 | 対応 | 100 | 6.3.3 / 6.3.3 |
DTH-2200 | Cintiq 22HD touch | 対応 | 対応 | 対応 | 対応 | 対応 | 100 | 6.3.5 / 6.3.5 |
DTH-2242 | DTH-2242 | 対応 | 対応 | 対応 | 対応 | 対応 | 100 | 6.3.5 / 6.3.5 |
DTH-A1300 | Cintiq Companion Hybrid | 対応 | 対応 | 対応 | 対応 | 対応 | 100 | 6.3.6 / 6.3.6 |
CTH-480 | Intuos PT S | 非対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.6 / 6.3.6 |
CTH-680 | Intuos PT M | 非対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.6 / 6.3.6 |
PTH-451 | Intuos pro S | 対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.6 / 6.3.6 |
PTH-651 | Intuos pro M | 対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.6 / 6.3.6 |
PTH-851 | Intuos pro L | 対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.6 / 6.3.6 |
DTH-W1300 | Cintiq Companion | 対応 | 対応 | 対応 | 対応 | 対応 | 100 | 6.3.7 / 6.3.7 |
DTH-2700 | Cintiq 27QHD Touch Pen and Touch Display | 対応 | 対応 | 対応 | 非対応 | 非対応 | 100 | 6.3.10/6.3.10 |
DTH-1300 | Creative Pen and Touch Display | 対応 | 対応 | 対応 | 対応 | 対応 | 100 | 6.3.11/6.3.11 | DTH-W1310 | Cintiq Companion 2 | 対応 | 対応 | 対応 | 対応 | 対応 | 100 | 6.3.11/6.3.11 |
表1 – Wacom Multi-Touch API でサポートされるタブレット
2 feel™ Multi-Touch SDK
Wacom’s feel™ Multi-Touch SDKは、ソフトウェアアプリケーションが、Wacom feel™ Multi-Touchでサポートされるタブレットに接続してフィンガータッチデータを受信できるようにするAPIです。エンドユーザがタブレットにタッチすると、各指のタッチデータがWacom feel™ Multi-Touch APIを流れます。このタッチデータストリームを使用して、ご使用のデスクトップまたはWebアプリケーションの固有の機能およびジェスチャーを作成します。
Wacom feel™ Multi-Touch SDKは、Wacomから無償で入手可能で、現在は表1にリストされているタブレットで機能します。
4 Wacom feel™ Multi-Touchタブレット機能
4.1 Wacom feel™ Multi-Touch APIの主な機能は何ですか?
- 指ごとの接触データ。各指のタッチポイントの情報は、Wacom feel™ Multi-Touch APIアプリケーションに流れます。
- 指以外の接触のためのパームリジェクション。
- 指ごとの信頼性データ。
- サポートされるタブレット上のタッチBLOBデータ。
- サポートされるタブレット上のRAWタッチデータ。
- アプリケーションは、最適な操作のためにタッチデータとペンデータの両方を使用するように設計できます。
- 「コンシューマモード」。単一のアプリケーションがすべてのタッチデータを処理できるようにします。
- 「オブザーバモード」。複数のアプリケーションがすべてのタッチデータを処理できるようにし、処理(ジェスチャー認識など)のためにデータをシステムに渡します。
これらのサポートされる機能については、以下の説明を参照してください。
また、サポートされるすべての機能の完全な説明については、以下のAPIの資料も参照してください。
http://wdnet.jp/library/feelmulti-touch/wacom-feel-multi-touch/
5 Wacom feel™ Multi-Touch APIの使用
5.1 どのビルド環境がサポートされていますか?
- Microsoft Visual Studio 2010
Macの場合、以下のビルド環境がサポートされています。
- Xcode 3 & 4
5.2 Wacom feel™ Multi-Touch API用のソフトウェア開発を始めるために必要なものは何ですか?
5.3 Wacom feel™ Multi-Touch APIを使用するために必要なものは何ですか? SDKまたはライブラリをプロジェクトに組み込む必要はありますか?
5.4Wacom feel™ Multi-Touch APIは、第1世代のBambooペン&タッチ製品と連携しますか?
5.5 Wacom feel™ Multi-Touch APIサンプルアプリケーションはどこで入手できますか?
以下にアクセスしてください。 http://wdnet.jp/library/feelmulti-touch/
5.6 feel™ Multi-touch API用のSDKをどのようにダウンロードできますか?
5.7 Wacom feel™ Multi-Touch APIを介して、どの種類のタッチデータをタブレットから取得できますか?
- 指の状態(なし、アップ、ダウン、ホールド)
- 指によるタッチの位置(x,y)
- 指のサイズ(幅と高さ)
サポートされるタブレット(表1を参照)の場合、以下の追加のデータの種類がサポートされます。
- BLOBデータ – 1つ以上のタッチ接触が検出された不規則な形の領域
- RAWデータ – センサー用のすべてのデータ(非接触領域と接触領域を含む)
機能の詳細については、Wacom feel™ Multi-Touch APIの資料( http://wdnet.jp/library/feelmulti-touch/wacom-feel-multi-touch/ )を参照してください。
5.8 このタッチデータをどのように使用できますか?
5.9 Wacom feel™ Multi-Touch APIによってサポートされる主な操作モードは何ですか?
- コンシューマモード – コンシューマモードでは、最前部のWacom feel™ Multi-Touch API対応アプリケーションがタッチデータを受信するための唯一のプロセスです。データは、ジェスチャー処理のために、システムまたは他のマルチタッチアプリケーションに渡されることはありません。
- オブザーバモード – オブザーバモードでは、マルチタッチアプリケーションはタッチデータ(必要に応じてパース可能)を受信するように構成されています。タッチデータは、システムだけでなく、タブレットドライバのジェスチャー認識アルゴリズムにも送信されます(たとえば、カーソルナビゲーションのために)。実行中のすべてのWacom feel™ Multi-Touch API対応アプリケーションが、タッチデータを受信します。
アプリケーションがオブザーバモードでドライバにタッチデータを渡す場合、タブレットドライバはタッチデータを解釈して、タブレットおよびオペレーティングシステム用にジェスチャーを適切に認識します。サポートされるジェスチャーの説明については、タブレットのユーザーズガイドを参照してください。
5.10 コンシューマモードとオブザーバモードの違いは何ですか?
オブザーバモードでは、タッチデータと対話する機能がアプリケーションに提供されます。次いで、データがOSに渡され、カーソルの移動や、ウィンドウのスコープ外の項目との対話などの作業が行われます。オブザーバモードは、アプリケーション内にクリック領域やボタンボックス領域を設定する場合に便利です。
5.11 パームリジェクションはどのように機能しますか?「タッチ信頼性ビット」とは何ですか?
多くの場合、信頼性ビットは、ペン入力とタッチ入力の両方を取り込むアプリケーションで使用されます。ペンの位置に近いタッチは信頼性なしと見なされます(右利きのユーザの場合で主にペンの右側でタッチが発生する場合)。信頼性ビットの別の使用法は、タッチによる接触が大きすぎる場合にフラグを立てることです。「大きすぎる」とは、およそ通常の指による接触を超えるような大きさのことです。信頼性ビットはすべてのフィンガータッチデータに付けられますが、アプリケーションはそれらを無視して、タッチが有効か無効化を判別する独自の基準を組み入れることができます。
アプリケーションがダウンイベントとアップイベントを突き合わせる必要がある場合は、信頼性のないデータを調べることが重要です。ほとんどのダウンイベントは、信頼性のない状態で発生するからです。
パームリジェクションを使用すると、多少の遅延が発生します。タッチが受けつけれられるまで、いくつかのフレームが必要になる場合があります。
タッチ信頼性ビットをサポートしているタブレットについては、表1を参照してください。
5.12 拡張ジェスチャーおよびカスタマイズ可能ジェスチャーをどのように作成できますか?これらのジェスチャーを作成するためのツールは、Wacomで提供されていますか?
5.13 Wacomジェスチャーエンジンは、どのようにAPIと連携しますか?
5.14 アプリケーションは、Wacomのシステム全体の「ユーザー構成可能ジェスチャー」や、カスタムアプリケーション固有のタッチ機能をどのようにサポートできますか?
5.15 手のひらをタブレットに置いているときに、ジェスチャーまたはフィンガーデータ入力のために指でタッチする場合、Wacom feel™ Multi-Touch APIは手のひらを識別してリジェクトできますか?
マルチタッチアプリケーションが「オブザーバ」として設定されている場合は、タッチデータがタブレットドライバのジェスチャー認識プログラムにも渡されることに注意してください。このジェスチャー認識プログラムでは、ジェスチャーを判別する際に、ジェスチャー認識プログラムのアルゴリズムでタッチ信頼性ビットを使用する場合もあれば、使用しない場合もあります。
5.16 Wacomタブレット用の機能の設計時に、使用するモデル番号を取得できないのはなぜですか?
6 アプリケーション設計上の考慮事項
6.1 Wacom feel™ Multi-Touch APIを使用する場合の重要な設計上の考慮事項は何ですか?
- ユーザが創作活動に専念できるようにします。ペンタブレットの読取可能範囲内でのスワイプ、回転、ズームイン/アウトなどのジェスチャーをできる限り滑らかにします。
- ペンタブレットの読取可能範囲内のタッチのレスポンスを最大限に引き出します。十分に間隔を空けた大きいメニュー、コントロール、およびスライダーなどを使用します。
- ペンを利き手で使用している間は、利き手ではない方の手でメニューを制御できるようにします。利き手ではない方の手の近くにメニューを浮動させ、両手で簡単に操作できるようにします。
- 制御は、メニューストリップではなくペン位置およびタッチ位置に置きます。
6.2 素早い滑らかなタッチ体験を作るためのヒントは何ですか?
6.3 フィンガーデータからジェスチャーを設計するための推奨事項は何ですか?
Windowsサンプルコードのデモ( http://wdnet.jp/library/feelmulti-touch/ )は、ジェスチャーサポートを実装していなくても、Wacom feel™ Multi-Touch APIとタブレットペンAPIの両方を同じアプリケーションに統合する例を示しています。
6.4 ペンをタッチと同時に使用するための推奨事項は何ですか?
6.5 Cintiq(液晶ペンタブレット)とIntuos(ペンタブレット)で、タッチ機能の設計方法に違いはありますか?
間接タッチデバイスは、トラックパッドのように動作します。間接デバイスをタッチすると、カーソルは移動しますが、その位置で自動的にクリックが行われることはありません。指を動かすと、カーソルがカーソルの最終位置に対して相対的に移動します。複数のディスプレイが接続されている場合は、デスクトップ領域の任意の部分に手を伸ばすことができます。このモデルでは、ジェスチャーは、選択されているオブジェクトまたはフォーカスされているオブジェクトに影響を与えます。タブレットは相対的であり、特定のディスプレイにマッピングされていないため、フィンガーデータはタブレットの割合という単位で出力されます。一方、直接タッチデバイスは、単一ディスプレイ上でカーソルを移動します。これは、ユーザがタッチしている場所と1対1の関係にあります。ユーザが表面をタッチすると同時に、その位置でクリックが発生ます。この場合、ジェスチャーは、指の下にあるオブジェクトに影響を与えます。直接タッチデバイスからのフィンガーデータは、タブレットのマップ先のディスプレイスペースに出力されます。
feel™ Multi-Touch APIは、タッチデータを提供したタブレットについての情報を提供します。アプリケーションは常に、直接タブレットと間接タブレットの両方のデータを確認して処理する必要があります。デバイスケイパビリティーに提供されている情報を使用して、アプリケーションは指の位置データを個別のアプリケーションに最適の単位に変換できます。
7 Mac固有の環境でのAPIの使用法
7.1 AppleのタッチAPI(NSEvent、NSTouch)から、どのWacomデータを取得できますか?
スワイプ、ズーム、および回転は、Wacomタブレットドライバ(Appleイベントの特別処理)によって提供されています。
Wacomは、これらのジェスチャーのためのタッチ座標を提供していません。(NSTouchによって指の位置を発行するMagic Trackpadとは異なります。)NSTouchによって提供されるデバイスディメンションにアクセスできないため、Wacomがその構造体にアクセスすることはできません。
7.2 Wacomのハードウェア用のマルチタッチの指位置認識アプリケーションをどのように作成できますか?
たとえば、直接指先で写真をズームおよび回転できる写真アプリケーションを実装するには、指座標が必要です。iPhone式のスクロール(コンテンツが指の直下で移動する)を実装するには、指座標が必要です。
7.3 Appleトラックパッドハードウェア上では、指1本のジェスチャーでカーソルが移動します。Wacomドライバで指コールバックを有効にしても、Wacomハードウェア上での指1本のジェスチャーは、マウスを駆動せず、指コールバックにフィードされます。
8 Windows固有の環境でのAPIの使用法
8.1 Wacom feel™ Multi-Touch APIは、WM_GESTUREイベント(アプリケーションによって処理される標準のWindows 7 OSレベルのイベント)を介したWindows 7ネイティブのマルチタッチをサポートしていますか?
タブレットでサポートされているジェスチャー(Wacom feel™ Multi-Touch APIではなく、タブレットドライバソフトウェアによって認識されるジェスチャー)については、ご使用のタブレットのユーザーズガイドを参照してください。
9 よくある問題
9.1 Windowsのよくあるビルドの問題は、以下のとおりです。
- C++アプリケーションをビルドするには、ご使用のVisual Studio 2010プロジェクトにWacomMultiTouch.cppを追加し、WacomMultiTouch.hのインクルードパスを正しい位置を指すように変更する必要があります(これらのファイルは両方とも、Wacom_feel_SDK.zipとWacomMT_Scribble.zipのデモに含まれています)。
- ビルドには不要ですが、SDKを使用してビルドされたアプリケーションの実行は、WacomMT.dllがWindowsシステムフォルダ内で見つかるかどうかに依存しています。このDLLは、SDKには含まれておらず、タブレットドライバソフトウェアと共にインストールされます。
9.3 ペンを持つ手を使用してジェスチャーを完了しようとすると、ジェスチャータッチが登録されないか、ジェスチャータッチが断続的になります。
9.4 タッチコールバックが多すぎてアプリケーションに負荷がかかり、コールバックが遅れたり応答しなくなったりします。この状態をどのように修正できますか?
Windowsでは、データを読み取るためのメソッドが2つあります。開発者は、読み取りコールバックを登録するか、データの準備が整ったときにメッセージを受信するためのウィンドウハンドルを登録することができます。
パフォーマンスが問題になっている場合は、コールバックメソッドを使用してデータをキューに入れ、異なるスレッドで処理する方が良い場合もあります。次いで、処理スレッドはデータを確認して、さらなる処理が必要かどうかを判別できます(データのすべては処理しない可能性があります)。パフォーマンス上の理由でフレームをスキップする場合は、たとえば、フレーム内の各指の接触状態を調べて、指の状態が変更されない限り(アップ、または新しい指のダウン)、他のすべてのフレームを処理するという方法が考えられます。この方法では、アップまたはダウンを見過ごすことはなく、中間にあるすべてのパケットを処理する必要もありません。コールバック関数の処理に長い時間をかけないことが重要であり、終了後に残っているデータを信頼することもできません。したがって、接触用の独自の内部キューを保守して、別個のスレッドで処理するのが最善です。
10 Web App Plugin
10.1 Wacom Web App Pluginとは何ですか?
詳しくは、http://wdnet.jp/library/web/ を参照してください。