(57)【要約】【課題】本発明は、シングルポインティングデバイスを使用するコンピュータシステムがマルチポイントジェスチャ入力をシミュレートできるようにする。【解決手段】シミュレーションソフトウェアが、（例えば、マウスからの入力などの）シングルポインティング入力を受け取り、これを指のピンチ、逆ピンチ、平行移動、回転などのシミュレートしたマルチポイントジェスチャ入力に変換することができる。このシミュレーションソフトウェアにより、ユーザは、マルチポイントジェスチャ入力を作成する際に、キーボードのキーを使用して追加の制御を行えるようにもなる。【選択図】図１
2009205685.tif 000002
【特許請求の範囲】
【請求項１】
マルチポイントセンサパネル上のマルチポイントジェスチャをシミュレートするためのシステムであって、
前記マルチポイントセンサパネルの表現を表示するためのディスプレイと、
シングルポインティングユーザ入力デバイスと、
前記シングルポインティングユーザ入力デバイスから入力を受け取り、所定の変換ルールに従って該入力をマルチポイントジェスチャに変換するように構成されたデバイスシミュレータと、
を備えることを特徴とするシステム。
【請求項２】
前記シングルポインティングユーザ入力デバイスはマウスである、
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記システムは、前記センサパネルを含むマルチポイント対応デバイスにおいて実行するように意図されたソフトウェアを実行するように構成されたプロセッサをさらに含み、前記デバイスシミュレータは、前記変換されたマルチポイントジェスチャ入力を、該マルチポイントジェスチャ入力が前記マルチポイント対応デバイスにおいて実行されたとしたら前記ソフトウェアが受け取ったであろうフォーマットと同一のフォーマットで前記ソフトウェアへ送るようにさらに構成された、
ことを特徴とする請求項１に記載のシステム。
【請求項４】
前記シングルポインティングユーザ入力デバイスからの前記入力は、前記シングルポインティングユーザ入力デバイスが制御するカーソルがたどる経路により定められる、
ことを特徴とする請求項１に記載のシステム。
【請求項５】
前記変換されたマルチポイントジェスチャ入力は、少なくとも２つの別個のポイントジェスチャ入力により定められ、第１のポイントジェスチャ入力は、前記シングルポインティングデバイスが制御する前記カーソルがたどる前記経路により定められ、少なくとも１つの別のポイントジェスチャ入力は、前記シングルポインティングデバイスが制御する前記カーソルがたどる前記経路から導き出された経路により定められる、
ことを特徴とする請求項４に記載のシステム。
【請求項６】
前記少なくとも１つの別のポイントジェスチャ入力は、前記シングルポインティングデバイスが制御するカーソルから所定のベクトルだけ変位したポイントがたどる経路により定められる、
ことを特徴とする請求項５に記載のシステム。
【請求項７】
前記少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルの位置と所定のポイントに関して対称の位置にあるポイントがたどる経路により定められる、
ことを特徴とする請求項５に記載のシステム。
【請求項８】
前記デバイスシミュレータは、前記シングルポインティングデバイスを通じて連続して入力された複数のシングルポイントジェスチャ入力を入力として受け取り、
前記複数の受け取ったシングルポイントジェスチャ入力を前記マルチポイントジェスチャ入力と合成して、前記マルチポイントジェスチャ入力が、前記複数のシングルポイントジェスチャ入力により定められる複数のシングルポイントジェスチャの少なくとも部分的に同時に行われる動作を表すようにすることにより、前記複数のシングルポイントジェスチャ入力を前記マルチポイントジェスチャ入力に変換するように構成された、
ことを特徴とする請求項１に記載のシステム。
【請求項９】
ＣＰＵ及びコンピュータ可読メモリをさらに含み、前記デバイスシミュレータは、前記コンピュータ可読メモリに記憶されるとともに前記ＣＰＵにより実行されるソフトウェアである、
ことを特徴とする請求項１に記載のシステム。
【請求項１０】
前記マルチポイントセンサパネルを含むマルチポイント対応デバイスのためのソフトウェアを開発するように構成されたソフトウェア開発キットをさらに含み、該ソフトウェア開発キットは、前記コンピュータ可読メモリに記憶されるとともに前記ＣＰＵにより実行され、前記デバイスシミュレータは前記ソフトウェア開発キットの一部である、
ことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記マルチポイントジェスチャはマルチタッチジェスチャであり、前記マルチポイントセンサパネルはマルチタッチセンサパネルであり、前記マルチポイントジェスチャ入力はマルチタッチジェスチャ入力である、
ことを特徴とする請求項１に記載のシステム。
【請求項１２】
マルチポイントジェスチャをシミュレートする方法であって、
シングルポインティングデバイスからシングルトラッキング入力を受け取るステップと、
前記受け取ったシングルトラッキング入力に応答して、２又はそれ以上のシミュレートしたタッチポイントを含むとともに前記シングルトラッキング入力に少なくとも一部基づくシミュレートしたマルチポイントジェスチャの視覚的表現を表示するステップと、
を含むことを特徴とする方法。
【請求項１３】
前記シングルポインティングデバイスから初期位置決めコマンドを受け取るステップと、
前記シングルトラッキング入力を受け取る前に２又はそれ以上のシミュレートしたタッチポイントの初期位置を表示するステップと、
をさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記シミュレートしたマルチポイントジェスチャは、前記トラッキング入力に所定のルールを適用することにより決定される、
ことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記シングルポインティングデバイスはマウスである、
ことを特徴とする請求項１２に記載の方法。
【請求項１６】
前記シングルポインティングデバイスはシングルタッチトラックパッドである、
ことを特徴とする請求項１２に記載の方法。
【請求項１７】
第１のデバイスにおいて実行するように構成されたソフトウェアを含むコンピュータ可読媒体であって、前記第１のデバイスはシングルポインティングユーザ入力デバイスを含み、前記ソフトウェアは、
前記シングルポインティングユーザ入力デバイスを通じてシングルポインティングジェスチャを受け取るステップと、
前記シングルポインティングジェスチャに基づいて、所定の変換ルールに従ってマルチポイントジェスチャを生成するステップと、
前記マルチポイントジェスチャを表示するステップと、
を行うことにより、マルチポイントセンサパネル上のマルチポイントジェスチャをシミュレートするように構成された、
ことを特徴とするコンピュータ可読媒体。
【請求項１８】
前記マルチポイントジェスチャの生成ステップ及び前記マルチポイントジェスチャの表示ステップは、前記シングルポインティングジェスチャを受け取っている間にリアルタイムで行われる、
ことを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記ソフトウェアは、
制御信号を受け取り、
前記制御信号に基づいて、前記マルチポイントジェスチャの生成時に従う変換ルールとして複数の所定の前記変換ルールのうちの１つを選択するようにさらに構成された、
ことを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
前記シングルポインティングユーザ入力デバイスはマウスである、
ことを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項２１】
前記第１デバイスにおいて第２のソフトウェアが実行され、該第２のソフトウェアは、前記マルチポイントセンサパネルを含むマルチポイント対応デバイスにおいて実行することを意図されたものであり、前記ソフトウェアは、
前記生成したマルチポイントジェスチャを、該マルチポイントジェスチャが前記マルチポイント対応デバイスにおいて実行されたとしたら前記第２のソフトウェアが受け取ったであろうフォーマットと同一のフォーマットで前記第２のソフトウェアへ送るようにさらに構成された、
ことを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項２２】
前記シングルポインティングジェスチャは、前記シングルポインティングデバイスが制御するカーソルがたどる経路により定められる、
ことを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項２３】
前記生成したマルチポイントジェスチャは、少なくとも２つの別個のポイントジェスチャにより定められ、前記第１のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルがたどる経路により定められ、少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルがたどる経路から導き出された経路により定められる、
ことを特徴とする請求項２０に記載のコンピュータ可読媒体。
【請求項２４】
前記少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルから所定のベクトルだけ変位した位置がたどる経路により定められる、
ことを特徴とする請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
前記少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルの位置と所定のポイントに関して対称の位置にあるポイントがたどる経路により定められる、
ことを特徴とする請求項２３に記載のコンピュータ可読媒体。
【請求項２６】
前記ソフトウェアはソフトウェア開発キットの一部である、
ことを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項２７】
前記マルチポイントジェスチャはマルチタッチジェスチャであり、前記マルチポイントセンサパネルはマルチタッチセンサパネルであり、前記マルチポイントジェスチャ入力はマルチタッチジェスチャ入力である、
ことを特徴とする請求項１７に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にマルチタッチジェスチャに関し、より具体的には、シングルポインティング入力デバイスを利用してマルチタッチジェスチャをシミュレートすることに関する。
【背景技術】
【０００２】
マルチポイントセンサパネルとは、同時に複数の地点のイベントを感知できるパネルのことである。従って、マルチポイントセンサパネルは、例えば、２つの異なる位置で同時に発生する、パネルに押し付けられた２本の指又はその他のオブジェクトによって引き起こされる２つのタッチイベントを感知することができる。マルチポイントセンサパネルの例については、２００７年１月３日に出願された「近接センサ及びマルチタッチセンサの検出及び復調」という名称の米国特許出願第１１／６４９，９９８号に解説があり、該特許は全体が引用により本明細書に組み入れられる。出願の後半で解説されるように、マルチポイントセンサパネルは、マルチタッチセンサパネルの他に（マルチ近接センサパネルなどの）別のタイプのセンサパネルも含むことができる。マルチポイントセンサパネルを使用して、様々な電子デバイスに向上したユーザインタフェースを提供することができる。
【０００３】
マルチポイントセンサパネルを利用して、向上したユーザ体験を提供する１つの方法として、ユーザがマルチポイントジェスチャを使用してデバイスとコミュニケーションできるようにすることがある。ジェスチャとは、（例えば、通常のマウスクリックの場合のように）単に位置を特定するだけでなく、任意的にある方向及び速度を含む１又は複数のオブジェクトの一定の動きを特定することもできるユーザ入力のことである。例えば、従来のマウスベースのジェスチャでは、通常、ユーザがジェスチャを行うためにマウスボタンを押し、所定の経路に従ってマウスを動かすことが行われる。マルチタッチ機能では、より複雑なジェスチャを使用できるようになる。例えば、ユーザは、パネルの表面上で２又はそれ以上の指を同時に動かすことによりジェスチャを行うことができる。マルチポイントジェスチャ（及びより正確にはマルチタッチジェスチャ）については、２００４年７月３０日に出願された「タッチセンシティブ入力デバイスのためのジェスチャ」という名称の米国特許出願第１０／９０３，９６４号で詳細に解説されており、該特許は全体が引用により本明細書に組み入れられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願第１１／６４９，９９８号
【特許文献２】米国特許出願第１０／９０３，９６４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチタッチジェスチャの最大の利点を得るために、マルチタッチ対応デバイスで実行されるソフトウェアもまた、マルチタッチ対応であることが必要であると考えられる。しかしながら、このようなソフトウェアの開発は困難な場合がある。普通のパーソナルコンピュータ及び／又はワークステーションコンピュータなどのソフトウェアを開発するための既存のコンピュータプラットフォームは、通常マルチタッチ対応ではない。このような対応がなされていなければ、既存のソフトウェア開発コンピュータは、通常、開発中のマルチタッチ対応ソフトウェアをこれらのコンピュータ上でテストすることができない。
【０００６】
開発者は、開発中のソフトウェアをマルチタッチ対応デバイスでロードすることができ、その後このソフトウェアをこのデバイスでテストする。しかしながら、実際には、開発者は様々なバージョンのソフトウェアに対して多くの反復テストを行う必要があり、個々のバージョンのソフトウェアをロードして別個のデバイスでテストする必要があるため、非常に時間がかかるとともに開発プロセスを著しく減速させる可能性がある。
【課題を解決するための手段】
【０００７】
本発明は、シングルポインティングデバイスを使用するコンピュータシステムがマルチポイントジェスチャ入力をシミュレートできるようにすることに関する。シミュレーションソフトウェアが、（例えば、マウスからの入力などの）シングルポインティング入力を受け取り、これを、指のピンチ、逆ピンチ、平行移動、回転などのシミュレートしたマルチポイントジェスチャ入力に変換することができる。このシミュレーションソフトウェアにより、ユーザは、マルチポイントジェスチャ入力を作成する際に、キーボードのキーを使用して追加の制御を行えるようにもなる。
【０００８】
様々な所定の方法により、受け取ったシングルポイントジェスチャ入力をマルチポイントジェスチャ入力に変換することができる。例えば、受け取ったシングルポイントジェスチャ入力を第１のジェスチャ入力として使用し、一方で第１のジェスチャ入力を所定のベクトルだけ変位させることにより第２のジェスチャ入力を作成することができる。これとは別に、或いはこれに加えて、第２のジェスチャ入力を、第１のジェスチャ入力と所定の地点に関して対称なジェスチャとして定めることができる。別の代替例では、複数のシングルポイントジェスチャ入力をシングルポインティングデバイスから連続して受け取り、この連続して受け取った複数のシングルポイント入力の少なくとも部分的に同時に行われた動作を定めるマルチポイントジェスチャ入力に変換することができる。
【図面の簡単な説明】
【０００９】
【図１】マルチタッチジェスチャを特徴とする例示的なデバイスと、本発明の１つの実施形態による、このデバイスのためのソフトウェアの開発に使用する例示的なデバイスとを示す図である。
【図２】本発明の１つの実施形態によるテスタデバイスで実行できる例示的なソフトウェアを示す図である。
【図３Ａ】本発明の１つの実施形態によるタッチの開始位置を定めるための例示的なスキームを示す図である。
【図３Ｂ】本発明の１つの実施形態によるタッチの開始位置を定めるための例示的なスキームを示す図である。
【図４Ａ】本発明の１つの実施形態によるタッチに関するジェスチャの動きを定めるための例示的なスキームを示す図である。
【図４Ｂ】本発明の１つの実施形態によるタッチに関するジェスチャの動きを定めるための例示的なスキームを示す図である。
【図５】本発明の１つの実施形態によるジェスチャを定めるための例示的なスキームを示す図である。
【図６】本発明の１つの実施形態によるジェスチャを定めるための例示的なスキームを示す図である。
【図７】本発明の１つの実施形態によるシングルポインティングデバイスを利用して入力できるいくつかの例示的なシミュレートしたマルチタッチジェスチャを示す図である。
【発明を実施するための形態】
【００１０】
以下の好ましい実施形態の説明では、本明細書の一部を形成する添付図面を参照し、該図面において、本発明を実施できる特定の実施形態を例示目的で示す。本発明の好ましい実施形態の範囲から逸脱することなく、他の実施形態を利用し、構造的な変更を行うことができる。
【００１１】
本発明は、シングルポインティングデバイスを使用するコンピュータシステムがマルチポイントジェスチャ入力をシミュレートできるようにすることに関する。シミュレーションソフトウェアが、（例えば、マウスからの入力などの）シングルポインティング入力を受け取り、これを、指のピンチ、逆ピンチ、平行移動、回転などのシミュレートしたマルチポイントジェスチャ入力に変換することができる。このシミュレーションソフトウェアにより、ユーザは、マルチポイントジェスチャ入力を作成する際に、キーボードのキーを使用して追加の制御を行えるようになる。
【００１２】
ユーザが、シミュレートしたマルチポイントジェスチャ入力を入力した場合、デバイスシミュレータがマーカーを表示し、シミュレートした対象デバイスの画面全体に渡って動かして、マウス及びキーボード（又はその他の入力デバイス）を使用して行われているタッチイベントの種類を示すことができる。これらのマーカーは、例えば、マルチタッチパネル上で、或いはその近くで検出された指先を表す小さな円又はその他の形状であってもよい。マルチポイントソフトウェアをテストする際には、このマーカーを円の重心などの実際の点入力として解釈することができる。
【００１３】
本明細書では、ポータブルデバイス、パーソナルコンピュータ及び／又はワークステーションのマルチポイント機能をシミュレートするという観点で本発明の実施形態について説明するが、本発明の実施形態はこれらのデバイスに制限されるものではなく、一般に、任意のマルチポイント対応デバイスの機能を任意の他のデバイス上でシミュレートすることができる。以下の詳細な説明は、マルチタッチセンサパネルのシミュレーションに焦点を当てたものであるが、その教示をマルチポイントセンサパネルに大まかに適用することができる。
【００１４】
図１は、マルチタッチジェスチャ入力を受け取ることができる例示的なデバイス（１１０）と、本発明の実施形態による、このデバイス用のソフトウェアの開発に使用できるデバイス（１００）とを示す図である。デバイス１１０は、ハンドヘルドデバイス、ノートブックコンピュータなどであってもよい。いくつかの実施形態では、デバイス１１０は、ディスプレイとマルチタッチセンサパネル１１１との組合せを含むことができる。しかしながら、別の実施形態では、デバイス１１０は、トラックパッドなどのディスプレイのないマルチタッチセンサパネルを含むことができる。後半の実施形態のいくつかでは、デバイス１１０は、別個のディスプレイを含むこともできる。例えば、デバイス１１０は、マルチタッチ対応トラックパッドとモニタとを含むノートブックコンピュータであってもよい。
【００１５】
デバイス１００は、ユーザと交信するためのモニタ１０１、キーボード１０２、及びマウス１０３を含むことができる。或いは、デバイスは、ユーザと交信するための他のインタフェースデバイスを含むことができる。本実施例では、デバイス１００は、シングルポインティングデバイス（すなわち、マウス１０３）を含む。マウスは、一度に１つの空間点の選択しか許可しないためシングルポインティングデバイスと考えることができる。これとは逆に、マルチタッチセンサパネルは、（例えば、パネル上又はパネル近くの２又はそれ以上の異なる地点において２又はそれ以上の指を降ろすことにより）一度に複数の空間点の選択を許可するため、マルチポインティングデバイスと考えることができる。本発明の実施形態は、デバイス１００がシングルポインティングデバイスのみを含むことを求めるものではなく、マルチポインティングデバイスを含むこともできる。デバイス１００は、ＣＰＵ及び１又はそれ以上のメモリを含むことができる。１又はそれ以上のメモリは命令及びデータを記憶することができ、ＣＰＵはメモリが記憶した命令を実行することができる。従って、デバイス１００は、限定的な意味ではないが、ソフトウェア開発キット（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ：ＳＤＫ）ソフトウェアを含む様々なソフトウェアを実行することができる。
【００１６】
上述したように、デバイス１００を使用して、デバイス１１０のためのソフトウェアを開発又はテストすることができる。従って、デバイス１００をテスタデバイスと呼ぶことができ、デバイス１１０を対象デバイスと呼ぶことができる。
【００１７】
図２は、本発明の１つの実施形態によるテスタデバイスで実行できる例示的なソフトウェアを示す図である。このソフトウェアは、オペレーティングシステム（ＯＳ２００）を含むことができる。ソフトウェアはまた、ユーザインタフェースアプリケーションプログラミングインタフェース（ＡＰＩ）２０１を含むこともできる。ＡＰＩ２０１は、対象デバイス（すなわち、デバイス１１０）で実行されるプログラムをユーザと交信できるようにするアプリケーションプログラミングインタフェースであってもよい。これらのＡＰＩは、通常、対象デバイス１１０で実行されるが、デバイス１１０のために設計されたソフトウェアをデバイス１００側でテストするためにデバイス１００側で実行することができる。ＡＰＩ２０１は、対象デバイス（１１０）側での実行を意図された対応するＡＰＩと同じものであってもよい。或いは、ＡＰＩ２１０を異なるデバイス（デバイス１００）側で実行できるようにするために、デバイス１１０側で実行されるＡＰＩからＡＰＩ２１０を修正することができる。しかしながら、第２の代替例においても、ＡＰＩ２０１は、同じ又は同様のインタフェースを、これらを使用しているソフトウェア（例えば、本実施例ではソフトウェア２０２）に提供することができる。従って、例えば、ＡＰＩ２０１は、デバイス１１０側で実行される同様のＡＰＩが提供するヘッダと同じヘッダをソフトウェア２０２に提供することができる。
【００１８】
本発明のいくつかの実施形態では、エミュレーションソフトウェア２０５を使用して、ＵＩ  ＡＰＩ２０１をＯＳ２００及びデバイス１００上で実行できるようにすることができる。別の実施形態では、エミュレーションソフトウェアが必要ないように、ＯＳ２００と対象デバイス（１１０）側で実行されるＯＳとは、同一の或いはほぼ同様のものであってもよい。
【００１９】
テスタデバイス１００はまた、テストを受けるソフトウェア２０２を実行することもできる。このソフトウェアは、最終的にはデバイス１１０における実行を目的としたソフトウェアであってもよいが、現在のところ、デバイス１００において開発されテストされている。テストを受けるソフトウェアは、ＵＩ  ＡＰＩ２０１を使用してユーザと交信することができる。ＵＩ  ＡＰＩは、テストを受けるソフトウェアと、それを実行しているデバイスとの間の全ての通信を実現することができる。上述したように、テスタデバイスで実行されるＵＩ  ＡＰＩ２０１は、対象デバイス１１０で実行される同様のＡＰＩと同一のもの又は非常に類似したものであってもよい。従って、ＵＩ  ＡＰＩは、テストを受けるソフトウェアに、実際にデバイス１１０側で実行されているように見せることができる。すなわち換言すれば、ＵＩ  ＡＰＩにより、テストを受けるソフトウェアが対象デバイス１１０側で実行されたとしたら行ったであろう外部と通信するための方法と同じ方法を使用できるようになる。
【００２０】
通常（すなわち、対象デバイス１１０側で実行される場合）、ＵＩ  ＡＰＩ２０１は、デバイス１１０のより低水準のソフトウェア及び／又はハードウェアと通信することができ、これらは様々なユーザインタフェース機能を実行することができる。従って、ＵＩ  ＡＰＩは、情報又はグラフィクスが表示されるようにするために、及び／又はこれらがユーザ入力を示すタッチイベントを受け取るようにするために、デバイス１１０のディスプレイ／マルチタッチパネル１１１（又はディスプレイ／マルチタッチパネルを制御するより低水準のソフトウェア）と通信することができる。しかしながら、ＵＩ  ＡＰＩがデバイス１００側で実行されている場合、デバイス１００はこのような要素を含むことができないため、ＵＩ  ＡＰＩはディスプレイ／マルチタッチパネル１１１と通信することができない。テスタデバイス１００はディスプレイ１０１を含むことができるが、このディスプレイ１０１は、対象デバイス１１０のディスプレイとは異なる種類のものであってもよい。さらに、デバイス１００は、いずれのマルチタッチセンサパネルも含む必要はない。
【００２１】
従って、デバイスシミュレータ２０３を使用して、デバイス１１０のディスプレイ及び／又はマルチタッチセンサパネルをデバイス１００側でシミュレートすることができる。デバイスシミュレータは、ディスプレイ／マルチタッチパネル１１１に接続するために、これらのＵＩ  ＡＰＩが対象デバイス１１０において通信を行う同じ種類の（単複の）インタフェースをＵＩ  ＡＰＩ２０１に提供することができる。デバイスシミュレータ２０３は、デバイス１００のディスプレイ１０１にウィンドウ１０４（図１を参照）が表示されるようにすることができる。デバイスシミュレータは、デバイス１１０が、テストを受けるソフトウェア２０２及びＵＩ  ＡＰＩ２０１を実行したとしたら出力したであろう同じ又は類似のグラフィクスをウィンドウ１０１に出力することができる。従って、ウィンドウ１０４は、デバイス１１０のディスプレイのシミュレーションであると考えることもできる。
【００２２】
同様に、デバイスシミュレータ２０３は、デバイス１００のユーザからのユーザ入力を受け入れ、この入力をデバイス１１０のユーザから受信したであろう種類に変換することができる。従って、デバイスシミュレータは、（キーボード１０２及びマウス１０３などの）デバイス１００のインタフェースデバイスを介して行われた入力を受け入れ、この入力を、マルチタッチセンサパネルが生成したであろう入力に変換することができる。デバイスシミュレータがこの変換をどのように行うかについてのさらなる詳細を以下に示す。
【００２３】
いくつかの実施形態では、デバイスシミュレータは、サウンド、マイク、電源又はその他のボタン、光センサ、加速度センサなどのデバイス１１０の他の入力／出力機能をシミュレートすることもできる。
【００２４】
いくつかの実施形態では、テスタデバイス１００及び対象デバイス１１０は、異なる命令セットを含む異なる種類のプロセッサを使用することができる。このような場合、テストを受けるソフトウェア２０２及びＵＩ  ＡＰＩは、一方がデバイス１００側での実行を意図され、他方がデバイス１１０側での実行を意図された２つの異なるバージョンを各々含むことができる。この２つのバージョンは、同じ又は類似の高水準コードを、デバイス１００及び１１０に関連する２つの異なる命令セットにコンパイルした結果であってもよい（この実施例のために、高水準コードは、アセンブリコード及びマシンコードよりも高水準の任意のコードを含むことができる）。従って、デバイス１００を使用して、テストを受けるソフトウェア２０２の高水準コードをテストすることができる。デバイス１００及び１１０のためのコンパイラがエラー又は不一致を全く持ち込まなければ、これで十分と言える。
【００２５】
ソフトウェア開発キット（ＳＤＫ）２０４をデバイス１００側で実行することもできる。ＳＤＫを使用して、テストを受けるソフトウェア２０２を開発することができる。さらに、ＵＩ  ＡＰＩ（２０１）及びデバイスシミュレータ（２０３）は、ＳＤＫを使用して開発したソフトウェアのテストに使用するＳＤＫの一部であると考えることができる。代替の実施形態では、ＳＤＫをデバイス１００で実行する必要はない。これらの実施形態では、デバイス１００をテスト目的で使用することができ、必ずしもソフトウェア開発のために使用する必要はない。
【００２６】
いくつかの実施形態では、デバイス１００をテスト又はソフトウェア開発に使用する必要は全くない。代わりに、デバイス１００を使用して、デバイス１１０向けのソフトウェアを単純に実行し、デバイス１１０のシミュレーションを行うことができる。例えば、本発明の実施形態を使用してマルチタッチ対応デバイスの動作のデモンストレーションを行うことにより。ユーザがそのデバイスを購入するかどうかを決定できるようになる。
【００２７】
前述したように、シミュレーションソフトウェアは、シングルポインティング入力又は（マウスで入力されたジェスチャなどの）ユーザから出されたシングルポインティングジェスチャを受け入れ、これをマルチタッチジェスチャ入力に変換することができる。シミュレーションソフトウェアは、結果として得られたマルチタッチジェスチャ入力に対して、ユーザがキーボードのキーを使用して追加の制御を行えるようにすることもできる。所定のルールに従って、ユーザ入力からマルチタッチジェスチャ入力への変換を行うことができる。
【００２８】
通常、指、手のひら、人体の様々な他の部分、又は（スタイラス又はペンなどの）オブジェクトをマルチタッチセンサパネル上に、或いはその近くに置くことによりマルチタッチジェスチャを行うことができる。本発明のいくつかの実施形態は、ユーザが上記の種類のシミュレートしたジェスチャの全てを入力できるようにすることができる。１つの容易に行われるグループのジェスチャは、タッチセンサパネルの表面上に、或いはその近くに２又はそれ以上の指先を置くこと及び動かすことを伴う。
【００２９】
ユーザがシミュレートしたマルチタッチジェスチャ入力を入力している間、デバイスシミュレータ２０３は、マーカーを表示し、シミュレートした対象デバイスの画面（すなわち、ウィンドウ１０４）全体に渡って動かして、ユーザがマウス及びキーボード（又はデバイス１００の他のインタフェース）を使用して入力しているジェスチャの種類をユーザに示すことができる。これらのマーカーは、例えば、マルチタッチパネルを押す指先を表す小さな円であってもよい。マーカーについて以下にさらに詳細に説明する。
【００３０】
いくつかの実施形態では、ユーザは、開始位置を入力することによりマルチタッチジェスチャシミュレーションを開始することができる。図３Ａ及び図３Ｂは、このような位置を入力する２つの実施例を示す図である。図３Ａ及び図３Ｂは、指先などの２つのタッチポイントを動かすことによって行われるジェスチャに関連するものである。従って、２つの指先の初期位置を定める開始位置の入力を必要とすることができる。
【００３１】
図３Ａ及び図３Ｂは、対象デバイス１１０の画面及び／又はマルチタッチパネルをシミュレートするように意図されたシミュレーションウィンドウ３００及び３０１を示している。いくつかの実施形態では、画面とマルチタッチパネルとを重ね合わせることにより、これらを同じウィンドウ内に表示することができる。従って、ウィンドウ３００及び３０１は、図１のウィンドウ１０４に類似したものであってもよい。
【００３２】
ウィンドウ３００及び３０１は、ジェスチャ入力の初期配置段階を示す。キーボードのキーを押したり、マウスボタン（図示せず）をクリックしたり、或いはシミュレーションウィンドウ（３００又は３０１）上で単純にマウスカーソルを動かしたりなどの様々な方法で初期配置段階を開始することができる。円３０２〜３０５はタッチ入力の位置を表す。換言すれば、これらの円は、シミュレートした画面／マルチタッチパネルに触れているバーチャルな指先の位置を表す。
【００３３】
（図３Ａに示す）第１の代替例では、第１のタッチ（３０２）はマウスポインタ（３０８）に従うことができる。第１のタッチから一定の所定の変位した位置に第２のタッチを置くことができる。例えば、第１のタッチ３０２から所定のベクトル３０６だけ離れたところに第２のタッチ３０３を変位させることができる。ベクトル３０６は、例えば、何らかのデフォルト値であってもよいし、或いはユーザが予め定めたものであってもよい。最初に、ユーザは、ウィンドウ３００のあちこちにカーソル３０８を動かすことができ、その後タッチ３０２及び３０３の動きを引き起こすことができる。この結果、ユーザは、これらのタッチのための望ましい位置を探し出し、ユーザの望むタッチの初期位置を示すことができるようになる（これは、例えばマウスボタンをクリックすることにより行われる）。このようにして、ユーザは、（マウスなどの）シングルポインティング入力デバイスのみを使用しながら、２つのタッチを含む所望の開始位置を指定することができる。
【００３４】
第２の代替例では、所定のベクトル３０６の代わりに、所定の中心点３０７を使用することができる。この場合も、ユーザは、マウスポインタ（３０９）を使用して第１のタッチ（３０４）を位置決めすることができる。この代替例では、中心点３０７に関して第１のタッチの位置から鏡の位置、すなわち対称位置に第２のタッチ（３０５）を位置決めすることができる。換言すれば、中心点から第１のタッチまでの変位がベクトル３１０を定める場合、第２のタッチ３０５の位置は、第２のタッチと中心点との間の変位が同じベクトル（３１０）を定めるような位置となる。この場合も、ユーザは、カーソルをあちこちに動かして望ましい位置を決定し、（マウスボタンをクリックすることなどにより）望ましい開始位置を示すことができる。この場合も、ユーザが中心点３０７を入力してもよいし、或いは（ウィンドウの中心などの）デフォルト値を使用してもよい。
【００３５】
様々な実施形態が、開始位置を入力するための上述の代替例のいずれかを利用することができる。いくつかの実施形態は両方の代替例を実施することができ、（ボタンを押したり、或いはクリックしたりすることなどにより）ユーザがこれらの代替例の間で選択を行えるようにすることができる。
【００３６】
いくつかの実施形態では、ユーザは、タッチを操作しながら２つの代替例の間で切り換えを行うことができる。例えば、ユーザは、図３Ａの代替例から開始し、タッチ３０２及び３０３を所望の第１の位置の組に変位させることができる。その後、ユーザは、（キーボードのキーを押すことなどにより）第２の代替例に切り換えることができる。第２の代替例を起動したら、第１の位置の組を使用して中心点を定めることができる。例えば、中心点を、第１の位置の組のタッチ３０２の位置と３０３の位置との間の点として定めることができる。このようにして、ユーザは、所望の中心点を容易に定め、図３Ｂの代替例を使用して開始位置を選択する段階に進むことができる。
【００３７】
また、ユーザは、タッチ３０４及び３０５の第１の位置の組を定めるために図３Ｂの代替例から開始することができる。ユーザは、その後、図３Ａの代替例に切り換えることができる。第１の位置の組を使用して、図３Ａの代替例のベクトル３０６を定めることができる。ユーザは、その後、図３Ａの代替例を使用して実際の初期位置を定めることができる。
【００３８】
両方の代替例では、デバイスシミュレータは、例えばタッチの位置を示す小さな半透明の円を表示することにより、シミュレーションウィンドウ内のタッチ３０２〜３０４の位置決めを示すことができる。シミュレーションウィンドウ内に中心点の位置を示すこともできる。図３Ａに示した位置決め方法を並行位置決めと呼び、図３Ｂの方法をミラー位置決めと呼ぶことができる。
【００３９】
当業者であれば、図３Ａ及び図３Ｂに関して上述した教示を、３以上のタッチの位置を定めるために応用できることを認識するであろう。例えば、異なる所定のベクトルに従って、複数のタッチをタッチ３０２から変位しているものとして定めることができる。これに加えて、或いはこれとは別に、タッチ３０４と中心点（３０７）との間の距離に等しい半径を有する円の周囲に複数のタッチを配置することができる。その後、円を拡大したり、縮小したり、或いは回転させたりすることにより、タッチ３０４を動かすことによってこれらのタッチを動かすことができる。
【００４０】
図３Ａ及び図３Ｂ及び上記の説明は、２又はそれ以上のタッチの初期位置を定める段階について説明したものである。しかしながら、ジェスチャの初期位置によってのみジェスチャを定める必要はない。同様にジェスチャは、初期位置からの何らかの動きを要求することもできる。従って、マルチタッチジェスチャは、タッチの動きを要求することができる。図４Ａ及び図４Ｂは、その初期位置が定められた後のタッチの動きを定めるためのスキームを示す図である。
【００４１】
上述したように、マウスボタンをクリックすることにより、ユーザが所望の初期位置を示すことができる。いくつかの実施形態では、マウスボタンをクリック（又はダウン）したままでマウスを動かすことにより、動きを定めることができる。
【００４２】
初期位置を定める態様と類似した態様で動きを定めることができる。従って図４Ａは、図３Ａに示した初期位置を定めるためのスキームに類似した、動きを定めるためのスキームを示している。このため、図４Ａのスキームを並行移動定義と呼ぶことができる。位置４０２及び４０３は、ユーザが定めた２つのタッチの初期位置を表すことができる。上述したように、図３Ａ及び図３Ｂに関連して上述した方法のいずれか又は両方を使用してこれらの初期位置を入力することができる。或いは、初期位置を入力するための他の方法を使用することもできる。初期位置の設定後、ユーザは、マウスボタンを押したまま経路４１０に沿ってマウスを導くことができる。この結果、デバイスシミュレータは同様に、位置４０２から開始するタッチのグラフィカル表示を経路４１０に沿って位置４０２’に到達するまで導くことができる。デバイスシミュレータはまた、他のタッチ（位置４０３で始まるタッチ）を同様の経路４１１に沿って位置４０３’に到達するまで動かすこともできる。従って、図３Ａの場合と同様に、１つのタッチがマウスカーソルによって動かされている間に、他のタッチがシミュレータによって動かされ、マウスカーソルによって動かされたタッチから所定の距離に留まるようになる。タッチの初期位置決めにより変位ベクトルを定めることができる（すなわち、このベクトルは、位置４０２と４０３との間のベクトルであると考えることができる）。
【００４３】
図３Ａのスキームと図４Ａのスキームとの間の１つの違いは、図４Ａの動きの最中には、デバイスシミュレータが両方のタッチの動きを追跡し、この動きを適切なデータフォーマットに変換し、ジェスチャとしてＵＩ  ＡＰＩ２０１へ送信できるという点である。一方、（マウスボタンが押される前などの）図３Ａの処理中の動きは、初期位置を定めるためにのみ使用することができ、特定の動きの経路を定めるために使用することはできないため、この動きを追跡する必要はない。
【００４４】
図４Ｂは、図３Ｂに示す初期位置を定めるためのスキームに類似した動きを定めるためのスキームを示す図である。換言すれば、図４Ｂはミラー移動の定義を表すことができる。図４Ｂでは、２つのタッチが、位置４０４及び４０５でそれぞれ開始される。カーソル４０９を経路４１４に沿って位置４０４’まで動かすことにより、位置４０４のタッチ（第１のタッチ）を動かすことができる。いくつかの実施形態では、マウスボタンを押しながらカーソルが動かされる。
【００４５】
デバイスシミュレータは、位置４０５から開始するタッチ（第２のタッチ）を、この第２のタッチの位置が中心点４０７を挟んで第１のタッチの位置から忠実に表現されるような態様で、位置４０５から位置４０５’へ動かすことができる。従って、第２のタッチは経路４１５に沿って移動することができる。２つのタッチの初期位置に基づいて、中心点４０７を定めることができる。従って、この中心点４０７は、（図示のように）初期位置４０４と４０５との間の中心点であると考えることができる。この場合も、デバイスシミュレータは、両方のタッチの動きを追跡し、この動きを適切なデータフォーマットに変換し、ＵＩ  ＡＰＩ２０１へ送信することができる。
【００４６】
いくつかの実施形態は、動きを定めるための図４Ａの方法及び図４Ｂの方法の両方を提供し、ユーザがキーボードのキーを押すことによって切り換えを行えるようにすることができる。いくつかの実施形態では、初期位置をどのようにして定めたかに関わらず、図４Ａ及び図４Ｂの動きの定義スキームを使用することができる。従って、例えば、図３Ａのスキームに従って２つのタッチの初期位置を定めることができる一方で、図４Ｂのスキームに従ってタッチの動きを定めることができる。
【００４７】
いくつかの実施形態では、ユーザは、ジェスチャを定めている途中で図４Ａのスキームと図４Ｂのスキームとの間で切り換えを行うことができる。従って、図４Ａのスキームに従ってジェスチャの一部を定め、図４Ｂのスキームに従ってその他の部分を定めることができる。図４Ａ及び図４Ｂの方法を使用して、図３Ａ及び図３Ｂに関連して上述した態様で、３以上のタッチを含むジェスチャを定めることができる。
【００４８】
上述した方法は、いくつかのマルチタッチ対応デバイスで使用されるいくつかの種類のジェスチャを容易に定めるために有用なものとなり得る。これらのジェスチャは、例えば、２本の指を並行にドラッグしたり、２本の指を狭めたり及び広げたり、（眼に見えないノブを回転させるように）２本の指を回転させたりなどを含むことができる。しかしながら、これらの方法は、２又はそれ以上の指を利用する全ての考えられるジェスチャを定めることはできない。全ての考えられるジェスチャを定めることが必要となる可能性はないため、このことを障害とする必要はない。シミュレートしたデバイス（すなわち、対象デバイス１１０）及び／又はテストを受けるソフトウェアが重要とみなすジェスチャの定義のみをシミュレートする必要がある。
【００４９】
とは言いながらも、図５は、より大きな柔軟性を見込むジェスチャをシミュレートするための別の方法を示す図である。ジェスチャ入力の排他的な方法として、或いは上述した方法の１又はそれ以上の代替例として、様々な実施形態により図５の方法を提供することができる。図５は、マルチタッチジェスチャを定める様々な段階を示すことができる画面５０１、５０２、及び５０３を含む。
【００５０】
図５のスキームによれば、複数のシングルタッチジェスチャの構成要素を別個に定めることにより、マルチタッチジェスチャを定めることができる。最初に、シングルタッチを動かすことにより、第１の構成要素を定めることができる。より具体的には、例えば、５０５の位置にマウスカーソル５０４を置きマウスボタンを押すことにより、シングルタッチの初期位置５０５を選択することができる。次に、マウスボタンを押しながらマウスを動かし、ジェスチャの最後にマウスボタンを放すことによりジェスチャを定めることができる。この結果、ジェスチャが、位置５０５でタッチを開始するステップと、経路５０６に沿ってタッチを動かすステップと、位置５０５’でタッチを終了するステップとを含むことができるようになる。
【００５１】
このようにして、マルチタッチジェスチャの１つの構成要素であるシングルタッチジェスチャを定めることができる。同様の態様で、１又はそれ以上の追加の構成要素を続けて定めることができる。例えば、画面５０２を参照すると、最初に位置５０６においてマウスをクリックし、次にこれを経路５０７に沿って位置５０６’まで動かすことにより、第１の構成要素の後に第２のジェスチャの構成要素を定めることができる。いくつかの実施形態では、第２の又はそれに続くジェスチャの構成要素を定めている間に、次の構成要素を定めながら、１又はそれ以上の以前に定めたジェスチャの構成要素を「再生」することができる。定められたジェスチャは、全ての構成要素が少なくとも部分的に同時に実行されると推測するため、上記の「再生」により、関連する構成要素を定める際にユーザを支援することができる。従って、ユーザが、位置５０６から位置５０６’へカーソルを動かすことにより第２の構成要素を定めている間に、デバイスシミュレータにより、位置５０５から位置５０５’へ動かされる別のタッチのアニメーション５０８を同時に表示することができる。
【００５２】
第２のジェスチャの構成要素の入力後、第３のジェスチャの構成要素を入力することができる。第３のジェスチャの構成要素は、位置５０９から経路５１０に沿って位置５０９’へカーソルを動かすステップを含むことができる。同様に、第３のジェスチャの構成要素を入力している間に、２つの以前に入力したジェスチャの構成要素のアニメーション５１１及び５１２を「再生」することができる。
【００５３】
本発明の実施形態は、任意の数のジェスチャの構成要素がこのようにして入力されることを可能にする。いくつかの実施形態では、対象デバイス１１０のユーザがジェスチャの入力に使用すると予想される指の本数に関連して、入力できるジェスチャの構成要素の数が制限される。様々な実施形態により、誤って入力した１又はそれ以上のジェスチャの構成要素を再入力又は削除できるようにもなる。
【００５４】
ユーザが所望の数のジェスチャの構成要素を入力し終えると、ユーザは、（指定されたボタンをクリックすることなどにより）そのように指示を与えることができる。この時点で、デバイスシミュレータは、全てのジェスチャの構成要素を重ね合わせる（すなわち、これらを同時に実行する）ことにより、単一のマルチタッチジェスチャを作成することができる。従って、図５に関連して説明した構成要素に基づいて、デバイスシミュレータは、２本の右の指を下方向にドラッグしながら左端の指を上方向にドラッグするステップを含むマルチタッチジェスチャを作成することができる。
【００５５】
いくつかの実施形態では、デバイスシミュレータは、様々なジェスチャの構成要素を標準化することができる。より詳細には、デバイスシミュレータは、様々な構成要素の速度を調整して、全てのジェスチャの構成要素が同時に開始し、同時に終了できるようにすることができる。代替の実施形態では、いくつかの構成要素が他の構成要素よりも先に終了できるように速度を調整しなくてもよい。さらに別の実施形態では、ユーザは、他のジェスチャの構成要素が開始した後に開始するジェスチャの構成要素を入力できるようになる。
【００５６】
図６は、本発明のいくつかの実施形態によるジェスチャを定めるための別の例示的な方法を示す図である。図５と同様に、要素６０１及び６０２は、ジェスチャを定める際のシミュレーションウィンドウ１０４の様々な段階を示す。最初に、ユーザは、マウスカーソル６０５を位置６０３に置いてボタンをクリックすることにより、静的タッチを定めることができる。ユーザは、例えば、位置６０４においてマウスカーソルをクリックし、マウスカーソルを経路６０６に沿って位置６０４’へ動かすことにより、動くタッチを続けて定めることができる。結果として得られるジェスチャは、位置６０３において１本の指を押したまま、この指を動かさずに位置６０４から経路６０５に沿って位置６０４’へ別の指を動かすステップを表すことができる。或いは、動的タッチ、又は２以上の静的及び／又は動的タッチを定めることができた後に、静的タッチを定めることができる。マルチタッチジェスチャを入力する異なるモードとして図６の方法を提供することができ、それぞれの制御キー又はマウスクリック可能なボタンにより、この方法を起動することができる。或いは、図５に関連して上述した方法の特定のケースとして図６の方法を実行することができる。
【００５７】
図７は、本発明のいくつかの実施形態によるシングルポインティングデバイスを使用して入力できるいくつかの例示的なシミュレートしたマルチタッチジェスチャを示す図である。実施例７０１は、ピンチを示す。実施例７０２は、逆ピンチを示す。実施例７０３は、回転を示す。実施例７０４は、シミュレートしたパネルの中心とは異なる位置に回転の中心７０５を選択した場合を示す。当業者であれば、上述した方法を使用して図７の全ての実施例を実施できることを認識するであろう。
【００５８】
当業者であれば、上記に加え、マルチタッチジェスチャを入力するための別の方法を使用できることを認識するであろう。例えば、タッチの輪郭の形状を、例えばマウスでこの輪郭をたどり、或いは所定の選択肢から選択することにより入力することができる。この形状は、単に指先で画面をタッチするよりも複雑なタッチイベントを示すことができる。この形状は、例えば、手のひらで画面をタッチすること、或いは画面上にオブジェクトを置くことを示すことができる。形状を入力し終えると、マルチタッチジェスチャを定めるために、マウスカーソルを動かすことによりこの形状をあちこちに動かすことができる。
【００５９】
上記の説明は、テスタデバイスが（マウスなどの）シングルポインティングデバイスのみを特徴として備える場合に焦点を当てたものであるが、いくつかの実施形態では、テスタデバイスは、同様にマルチタッチパネルを特徴として備えることができる。例えば、テスタデバイスは、マルチタッチ対応トラックパッドを特徴として備えたラップトップであってもよい。対象デバイスは、ディスプレイと一体になったマルチタッチパネルを含むことができる（従って、ユーザは、ディスプレイの表面とやりとりすることにより、マルチタッチ入力を入力することができる）。テスタデバイスは、テスタデバイスのモニタ１０１のシミュレーションウィンドウ１０４内で対象デバイスのディスプレイのシミュレーションを行うことにより対象デバイスをシミュレートすることができる一方で、テスタデバイスのユーザは、テスタデバイスのトラックパッドを使用してマルチタッチ入力を入力できるようになる。テスタデバイスは、ユーザがタッチパッドを通じてタッチを入力している間に、（シミュレーションウィンドウ内に小さな円を表示することなどにより）シミュレーションウィンドウ内にシミュレートしたタッチの位置を示すことができる。
【００６０】
上述した実施形態のいくつかは、シングルポイントジェスチャ入力をマルチタッチジェスチャ入力に変換することに関するものであるが、本発明をこのように限定する必要はない。より一般的には、本発明の実施形態は、シングルポイント入力をマルチポイント入力に変換することに関する。マルチポイント入力は、マルチタッチ入力を含むことができるが、例えば、米国特許出願第１１／６４９，９９８号により解説されるマルチ近接入力などの他の種類の入力を含むこともできる。
【００６１】
添付の図面を参照しながら本発明の実施形態に関連して本発明について十分に説明してきたが、当業者には様々な変更及び修正が明らかになるであろう。これらの変更及び修正は、添付の特許請求の範囲により定められる本発明の範囲に含まれると理解すべきである。
【図１】
2009205685.tif 000003
【図２】
2009205685.tif 000004
【図３Ａ】
2009205685.tif 000005
【図３Ｂ】
2009205685.tif 000006
【図４Ａ】
2009205685.tif 000007
【図４Ｂ】
2009205685.tif 000008
【図５】
2009205685.tif 000009
【図６】
2009205685.tif 000010
【図７】
2009205685.tif 000011
【手続補正書】
【提出日】平成21年4月21日(2009.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチポイントセンサパネル上のマルチポイント入力をシミュレートするためのシステムであって、
前記マルチポイントセンサパネルの表現を表示するためのディスプレイと、
シングルポインティングユーザ入力デバイスと、
前記シングルポインティングユーザ入力デバイスから入力を受け取り、所定の変換ルールに従って該入力をマルチポイント入力に変換するように構成されたデバイスシミュレータと、
を備えることを特徴とするシステム。
【請求項２】
前記シングルポインティングユーザ入力デバイスはマウスである、
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記システムは、前記センサパネルを含むマルチポイント対応デバイスにおいて実行するように意図されたソフトウェアを実行するように構成されたプロセッサをさらに含み、前記デバイスシミュレータは、前記変換されたマルチポイント入力を、該マルチポイント入力が前記マルチポイント対応デバイスにおいて実行されたとしたら前記ソフトウェアが前記マルチポイント入力を受け取ったであろう場合のフォーマットと同一のフォーマットで前記ソフトウェアへ送るようにさらに構成された、
ことを特徴とする請求項１に記載のシステム。
【請求項４】
前記シングルポインティングユーザ入力デバイスからの前記入力は、前記シングルポインティングユーザ入力デバイスが制御するカーソルの位置により定められる、
ことを特徴とする請求項１に記載のシステム。
【請求項５】
前記変換されたマルチポイント入力は、少なくとも２つの別個のポイント入力により定められ、第１のポイント入力は、前記シングルポインティングデバイスが制御する前記カーソルの前記位置により定められ、少なくとも１つの別のポイント入力は、前記シングルポインティングデバイスが制御する前記カーソルの前記位置から導き出された位置により定められる、
ことを特徴とする請求項４に記載のシステム。
【請求項６】
前記少なくとも１つの別のポイント入力は、前記シングルポインティングデバイスが制御するカーソルから所定のベクトルだけ変位したポイントがたどる経路により定められる、
ことを特徴とする請求項５に記載のシステム。
【請求項７】
前記少なくとも１つの別のポイント入力は、前記シングルポインティングデバイスが制御するカーソルの位置と所定のポイントに関して対称となる位置により定められる、
ことを特徴とする請求項５に記載のシステム。
【請求項８】
前記デバイスシミュレータは、前記シングルポインティングデバイスを通じて連続して入力された複数のシングルポイント入力を入力として受け取り、
前記複数の受け取ったシングルポイント入力を前記マルチポイント入力と合成して、前記マルチポイント入力が、前記複数のシングルポイントジェスチャ入力の少なくとも部分的に同時に行われる動作を表すようにすることにより、前記複数のシングルポイント入力を前記マルチポイント入力に変換するように構成された、
ことを特徴とする請求項１に記載のシステム。
【請求項９】
ＣＰＵ及びコンピュータ可読メモリをさらに含み、前記デバイスシミュレータは、前記コンピュータ可読メモリに記憶されるとともに前記ＣＰＵにより実行されるソフトウェアである、
ことを特徴とする請求項１に記載のシステム。
【請求項１０】
前記マルチポイントセンサパネルを含むマルチポイント対応デバイスのためのソフトウェアを開発するように構成されたソフトウェア開発キットをさらに含み、該ソフトウェア開発キットは、前記コンピュータ可読メモリに記憶されるとともに前記ＣＰＵにより実行され、前記デバイスシミュレータは前記ソフトウェア開発キットの一部である、
ことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記マルチポイント入力はマルチタッチ入力であり、前記マルチポイントセンサパネルはマルチタッチセンサパネルである、
ことを特徴とする請求項１に記載のシステム。
【請求項１２】
マルチポイント入力をシミュレートする方法であって、
シングルポインティングデバイスからシングルトラッキング入力を受け取るステップと、
前記受け取ったシングルトラッキング入力に応答して、２又はそれ以上のシミュレートしたタッチポイントを含むとともに前記シングルトラッキング入力に少なくとも一部基づくシミュレートしたマルチポイント入力の視覚的表現を表示するステップと、
を含むことを特徴とする方法。
【請求項１３】
前記シミュレートしたマルチポイント入力は、前記トラッキング入力に所定のルールを適用することにより決定される、
ことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記シングルポインティングデバイスはマウスである、
ことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記シングルポインティングデバイスはシングルタッチトラックパッドである、
ことを特徴とする請求項１２に記載の方法。
【請求項１６】
第１のデバイスにおいて実行するように構成されたソフトウェアを含むコンピュータ可読媒体であって、前記第１のデバイスはシングルポインティングユーザ入力デバイスを含み、前記ソフトウェアは、
前記シングルポインティングユーザ入力デバイスを通じてシングルポインティング入力を受け取るステップと、
前記シングルポインティング入力に基づいて、所定の変換ルールに従ってマルチポイント入力を生成するステップと、
前記マルチポイント入力を表示するステップと、
を行うことにより、マルチポイントセンサパネル上のマルチポイント入力をシミュレートするように構成された、
ことを特徴とするコンピュータ可読媒体。
【請求項１７】
前記マルチポイント入力の生成ステップ及び前記マルチポイント入力の表示ステップは、前記シングルポインティング入力を受け取っている間にリアルタイムで行われる、
ことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記ソフトウェアは、
制御信号を受け取り、
前記制御信号に基づいて、前記マルチポイント入力の生成時に従う変換ルールとして複数の所定の前記変換ルールのうちの１つを選択するようにさらに構成された、
ことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
前記シングルポインティングユーザ入力デバイスはマウスである、
ことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２０】
前記第１デバイスにおいて第２のソフトウェアが実行され、該第２のソフトウェアは、前記マルチポイントセンサパネルを含むマルチポイント対応デバイスにおいて実行することを意図されたものであり、前記ソフトウェアは、
前記生成したマルチポイント入力を、該マルチポイント入力が前記マルチポイント対応デバイスにおいて実行されたとしたら前記第２のソフトウェアが前記マルチポイント入力を受け取ったであろう場合のフォーマットと同一のフォーマットで前記第２のソフトウェアへ送るようにさらに構成された、
ことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２１】
前記シングルポインティング入力は、前記シングルポインティングデバイスが制御するカーソルの位置により定められる、
ことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２２】
前記生成したマルチポイント入力は、少なくとも２つの別個のポイント入力により定められ、前記第１のポイント入力は、前記シングルポインティングデバイスが制御するカーソルの前記位置により定められ、少なくとも１つの別のポイント入力は、前記シングルポインティングデバイスが制御するカーソルがたどる位置から導き出された位置により定められる、
ことを特徴とする請求項１９に記載のコンピュータ可読媒体。
【請求項２３】
前記少なくとも１つの別のポイント入力は、前記シングルポインティングデバイスが制御するカーソルから所定のベクトルだけ変位した位置により定められる、
ことを特徴とする請求項２２に記載のコンピュータ可読媒体。
【請求項２４】
前記少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルの位置と所定のポイントに関して対称となる位置により定められる、
ことを特徴とする請求項２２に記載のコンピュータ可読媒体。
【請求項２５】
前記ソフトウェアはソフトウェア開発キットの一部である、
ことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２６】
前記マルチポイント入力はマルチタッチ入力であり、前記マルチポイントセンサパネルはマルチタッチセンサパネルである、
ことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２７】
マルチポイントセンサパネル上のマルチポイントジェスチャをシミュレートするためのシステムであって、
前記マルチポイントセンサパネルの表現を表示するためのディスプレイと、
シングルポインティングユーザ入力デバイスと、
前記シングルポインティングユーザ入力デバイスから入力を受け取り、所定の変換ルールに従って該入力をマルチポイントジェスチャ入力に変換するように構成されたデバイスシミュレータと、
を備えることを特徴とするシステム。
【請求項２８】
前記シングルポインティングユーザ入力デバイスはマウスである、
ことを特徴とする請求項２７に記載のシステム。
【請求項２９】
前記システムは、前記センサパネルを含むマルチポイント対応デバイスにおいて実行するように意図されたソフトウェアを実行するように構成されたプロセッサをさらに含み、前記デバイスシミュレータは、前記変換されたマルチポイントジェスチャ入力を、該マルチポイントジェスチャ入力が前記マルチポイント対応デバイスにおいて実行されたとしたら前記ソフトウェアが前記マルチポイントジェスチャ入力を受け取ったであろう場合のフォーマットと同一のフォーマットで前記ソフトウェアへ送るようにさらに構成された、
ことを特徴とする請求項２７に記載のシステム。
【請求項３０】
前記シングルポインティングユーザ入力デバイスからの前記入力は、前記シングルポインティングユーザ入力デバイスが制御するカーソルがたどる経路により定められる、
ことを特徴とする請求項２７に記載のシステム。
【請求項３１】
前記変換されたマルチポイントジェスチャ入力は、少なくとも２つの別個のポイントジェスチャ入力により定められ、第１のポイントジェスチャ入力は、前記シングルポインティングデバイスが制御する前記カーソルがたどる前記経路により定められ、少なくとも１つの別のポイントジェスチャ入力は、前記シングルポインティングデバイスが制御する前記カーソルがたどる前記経路から導き出された経路により定められる、
ことを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記少なくとも１つの別のポイントジェスチャ入力は、前記シングルポインティングデバイスが制御するカーソルから所定のベクトルだけ変位したポイントがたどる経路により定められる、
ことを特徴とする請求項３１に記載のシステム。
【請求項３３】
前記少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルの位置と所定のポイントに関して対称の位置にあるポイントがたどる経路により定められる、
ことを特徴とする請求項３１に記載のシステム。
【請求項３４】
前記デバイスシミュレータは、前記シングルポインティングデバイスを通じて連続して入力された複数のシングルポイントジェスチャ入力を入力として受け取り、
前記複数の受け取ったシングルポイントジェスチャ入力を前記マルチポイントジェスチャ入力と合成して、前記マルチポイントジェスチャ入力が、前記複数のシングルポイントジェスチャ入力により定められる複数のシングルポイントジェスチャの少なくとも部分的に同時に行われる動作を表すようにすることにより、前記複数のシングルポイントジェスチャ入力を前記マルチポイントジェスチャ入力に変換するように構成された、
ことを特徴とする請求項２７に記載のシステム。
【請求項３５】
ＣＰＵ及びコンピュータ可読メモリをさらに含み、前記デバイスシミュレータは、前記コンピュータ可読メモリに記憶されるとともに前記ＣＰＵにより実行されるソフトウェアである、
ことを特徴とする請求項２７に記載のシステム。
【請求項３６】
前記マルチポイントセンサパネルを含むマルチポイント対応デバイスのためのソフトウェアを開発するように構成されたソフトウェア開発キットをさらに含み、該ソフトウェア開発キットは、前記コンピュータ可読メモリに記憶されるとともに前記ＣＰＵにより実行され、前記デバイスシミュレータは前記ソフトウェア開発キットの一部である、
ことを特徴とする請求項３５に記載のシステム。
【請求項３７】
前記マルチポイントジェスチャはマルチタッチジェスチャであり、前記マルチポイントセンサパネルはマルチタッチセンサパネルであり、前記マルチポイントジェスチャ入力はマルチタッチジェスチャ入力である、
ことを特徴とする請求項２７に記載のシステム。
【請求項３８】
マルチポイントジェスチャをシミュレートする方法であって、
シングルポインティングデバイスからシングルトラッキング入力を受け取るステップと、
前記受け取ったシングルトラッキング入力に応答して、２又はそれ以上のシミュレートしたタッチポイントを含むとともに前記シングルトラッキング入力に少なくとも一部基づくシミュレートしたマルチポイントジェスチャの視覚的表現を表示するステップと、
を含むことを特徴とする方法。
【請求項３９】
前記シングルポインティングデバイスから初期位置決めコマンドを受け取るステップと、
前記シングルトラッキング入力を受け取る前に２又はそれ以上のシミュレートしたタッチポイントの初期位置を表示するステップと、
をさらに含むことを特徴とする請求項３８に記載の方法。
【請求項４０】
前記シミュレートしたマルチポイントジェスチャは、前記トラッキング入力に所定のルールを適用することにより決定される、
ことを特徴とする請求項３８に記載の方法。
【請求項４１】
前記シングルポインティングデバイスはマウスである、
ことを特徴とする請求項３８に記載の方法。
【請求項４２】
前記シングルポインティングデバイスはシングルタッチトラックパッドである、
ことを特徴とする請求項３８に記載の方法。
【請求項４３】
第１のデバイスにおいて実行するように構成されたソフトウェアを含むコンピュータ可読媒体であって、前記第１のデバイスはシングルポインティングユーザ入力デバイスを含み、前記ソフトウェアは、
前記シングルポインティングユーザ入力デバイスを通じてシングルポインティングジェスチャを受け取るステップと、
前記シングルポインティングジェスチャに基づいて、所定の変換ルールに従ってマルチポイントジェスチャを生成するステップと、
前記マルチポイントジェスチャを表示するステップと、
を行うことにより、マルチポイントセンサパネル上のマルチポイントジェスチャをシミュレートするように構成された、
ことを特徴とするコンピュータ可読媒体。
【請求項４４】
前記マルチポイントジェスチャの生成ステップ及び前記マルチポイントジェスチャの表示ステップは、前記シングルポインティングジェスチャを受け取っている間にリアルタイムで行われる、
ことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４５】
前記ソフトウェアは、
制御信号を受け取り、
前記制御信号に基づいて、前記マルチポイントジェスチャの生成時に従う変換ルールとして複数の所定の前記変換ルールのうちの１つを選択するようにさらに構成された、
ことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４６】
前記シングルポインティングユーザ入力デバイスはマウスである、
ことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４７】
前記第１デバイスにおいて第２のソフトウェアが実行され、該第２のソフトウェアは、前記マルチポイントセンサパネルを含むマルチポイント対応デバイスにおいて実行することを意図されたものであり、前記ソフトウェアは、
前記生成したマルチポイントジェスチャを、該マルチポイントジェスチャが前記マルチポイント対応デバイスにおいて実行されたとしたら前記第２のソフトウェアが前記マルチポイントジェスチャを受け取ったであろう場合のフォーマットと同一のフォーマットで前記第２のソフトウェアへ送るようにさらに構成された、
ことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４８】
前記シングルポインティングジェスチャは、前記シングルポインティングデバイスが制御するカーソルがたどる経路により定められる、
ことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項４９】
前記生成したマルチポイントジェスチャは、少なくとも２つの別個のポイントジェスチャにより定められ、前記第１のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルがたどる経路により定められ、少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルがたどる経路から導き出された経路により定められる、
ことを特徴とする請求項４４に記載のコンピュータ可読媒体。
【請求項５０】
前記少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルから所定のベクトルだけ変位した位置がたどる経路により定められる、
ことを特徴とする請求項４９に記載のコンピュータ可読媒体。
【請求項５１】
前記少なくとも１つの別のポイントジェスチャは、前記シングルポインティングデバイスが制御するカーソルの位置と所定のポイントに関して対称の位置にあるポイントがたどる経路により定められる、
ことを特徴とする請求項４９に記載のコンピュータ可読媒体。
【請求項５２】
前記ソフトウェアはソフトウェア開発キットの一部である、
ことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【請求項５３】
前記マルチポイントジェスチャはマルチタッチジェスチャであり、前記マルチポイントセンサパネルはマルチタッチセンサパネルであり、前記マルチポイントジェスチャ入力はマルチタッチジェスチャ入力である、
ことを特徴とする請求項４３に記載のコンピュータ可読媒体。
【外国語明細書】
2009205685.tif 000012
2009205685.tif 000013
2009205685.tif 000014
2009205685.tif 000015
2009205685.tif 000016
2009205685.tif 000017
2009205685.tif 000018
2009205685.tif 000019
2009205685.tif 000020
2009205685.tif 000021
2009205685.tif 000022
2009205685.tif 000023
2009205685.tif 000024
2009205685.tif 000025
2009205685.tif 000026
2009205685.tif 000027
2009205685.tif 000028
2009205685.tif 000029
2009205685.tif 000030
2009205685.tif 000031
2009205685.tif 000032
2009205685.tif 000033
2009205685.tif 000034
2009205685.tif 000035
2009205685.tif 000036
2009205685.tif 000037
2009205685.tif 000038
2009205685.tif 000039
2009205685.tif 000040