tmytのらくがき

個人の日記レベルです

Surface SDKでWindows Phone 7のマルチタッチエミュレーション

WP7のエミュレータ、ソフトウェアはマルチタッチに対応しててマルチタッチディスプレイだとピンチジェスチャとかのデバッグもできたりします。
が、マルチタッチディスプレイなんてそうそう持ってる人も居ないし、最近はやりのスレートPC()とかだとハードウェアスペックが根本的に足りなかったりします。
そんなこんなで、マルチタッチデバッグiPhoneな環境よりめんどくさいWP7ですがマルチタッチできないならエミュレーションしてしまえ!ってのがWindowsらしくて、エミュレーションしてくれるドライバがあります。

Project Description
Multi-Touch Vista is a user input management layer that handles input from various devices (touchlib, multiple mice, TUIO etc.) and normalises it against the scale and rotation of the target window. Now with multitouch driver for Windows 7.

Multi-Touch Vista - Home

結構前からあって、WP7の開発環境がではじめのころにも結構紹介されてたソリューション。

で、今回紹介するのはSurface SDKを使ったソリューション。
Surface SDKってなんなの。って人向けの説明をしておくと、Microsoft Surfaceっていうマルチタッチなテーブルがあってそれ用のSDKですよ。
で、これにInput Simulatorというツールが含まれていて、このツールでマルチタッチのエミュレーションができます。

Download Microsoft® Surface® 2.0 SDK and Runtime (Updated February 2, 2012) from Official Microsoft Download Center からSurfaceSDK.msiをダウンロードしてインストールします。
スタートメニューにMicrosoft Surface 2.0 SDK > Tools > Input Simulator が追加されるのでそれを実行。そうするとこんなウィンドウが立ち上がってきます。

起動直後はマウスモードになってるので、アイコンが6つ並んでるところの、上段真ん中、指のアイコンをクリックします。すると入力がタッチになります。Win7のひとはエクスプローラのリストビュー部分を一気にドラッグして離すといいと思います。けっこう快適なんですよ。
で、本命のマルチタッチデバッグ。Windows Phone 7エミュレータ上で、まず1本目の指を起きたいところで左クリックしながら右クリックします。すると指の位置を固定したまま2本目の指を動かせます。あとは2本目の指をクリックとかしてピンチイン/アウトするでもなんでもしてデバッグするといいとおもいます。
固定した1本目の指を取り消すには、1本目の指の近くまでポインタを動かして、左クリック+右クリックです。
結構便利ですよ