(57)【要約】  仮想マウスを実施するための方法および装置が開示される。一実施形態では、実施される機能は、仮想マウスをアクティブ化することと、仮想マウスに関連するカーソルアイコンの位置を決定することと、仮想マウスを非アクティブ化することとを含む。様々な実施形態では、仮想マウスの位置は、タッチスクリーンにタッチしている指の向きまたは位置と、指によってタッチスクリーンに加えられた測定または計算された圧力とに基づいて、プロセッサによって決定される。
2017534993.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスのタッチスクリーン上に仮想マウスを実施するための、プロセッサにおいて実施される方法であって、
ユーザによる前記コンピューティングデバイスの片手での使用中に前記仮想マウスをアクティブ化するステップと、
ユーザタッチイベントに関連するタッチ領域を識別するステップと、
前記識別されたタッチ領域からタッチデータを収集するステップと、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定するステップと、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいて前記タッチスクリーン上の位置を計算するステップとによって、
前記タッチスクリーン上の前記仮想マウスの位置を決定するステップと、
前記仮想マウスの前記決定された位置に前記タッチスクリーン上のカーソルアイコンを表示するステップと
を備える方法。
【請求項２】
前記表示されたカーソルアイコンが、片手での使用中にユーザの指の届く範囲を超えて延びるように構成される、請求項1に記載の方法。
【請求項３】
前記仮想マウスをアクティブ化するステップが、前記コンピューティングデバイスのタッチスクリーンディスプレイの所定の仮想マウスアクティブ化領域内のタッチイベントを検出するステップを備える、請求項1に記載の方法。
【請求項４】
前記仮想マウスをアクティブ化するステップが、前記コンピューティングデバイスが前記ユーザによる片手での使用と一致する方法で保持されていることを検出すると、アクティブ化を自動的に開始するステップを備える、請求項1に記載の方法。
【請求項５】
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが前記コンピューティングデバイス上で検出されたかどうかを決定するステップと、
前記非アクティブ化イベントが検出されたことを決定したことに応答して前記仮想マウスを非アクティブ化するステップと
をさらに備える、請求項3に記載の方法。
【請求項６】
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが前記コンピューティングデバイス上で検出されたかどうかを決定するステップが、タッチイベントが前記所定の仮想マウスアクティブ化領域内で検出されたかどうかを決定するステップを備える、請求項5に記載の方法。
【請求項７】
前記ユーザタッチイベントに関連する前記方向を決定するステップが、前記タッチ領域に適合された楕円の長軸の向きに少なくとも部分的に基づく、請求項1に記載の方法。
【請求項８】
前記ユーザタッチイベントに関連する前記圧力パラメータを決定するステップが、前記タッチ領域に適合された前記楕円の面積と、タッチ圧力とのうちの少なくとも1つに基づき、
前記仮想マウスの位置を計算するステップが、前記仮想マウスの前記位置を表すベクトルを計算するステップを備え、前記計算されたベクトルの大きさが、前記決定された圧力パラメータに少なくとも部分的に基づく、請求項7に記載の方法。
【請求項９】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kpf
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表す、請求項8に記載の方法。
【請求項１０】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kp(c-r)
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
rが前記初期基準点から前記楕円の前記中心点に最も近い前記タッチスクリーンディスプレイのコーナーまでのベクトルを表し、
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表す、請求項8に記載の方法。
【請求項１１】
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示されたグラフィカルユーザインターフェース(GUI)要素のしきい値距離内に位置している間に選択入力が受信されたかどうかを決定するステップと、
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示されたグラフィカルユーザインターフェース(GUI)要素のしきい値距離内に位置している間に前記選択入力が受信されたと決定したことに応答して前記GUI要素に関連する動作を実行するステップと
をさらに備える、請求項1に記載の方法。
【請求項１２】
前記GUI要素に関連する前記動作を実行した後、前記仮想マウスを自動的に非アクティブ化するステップをさらに備える、請求項11に記載の方法。
【請求項１３】
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示された動作可能なグラフィカルユーザインターフェース(GUI)要素からしきい値距離内に位置するかどうかを検出するステップと、
前記カーソルアイコンが前記しきい値距離内に位置することを検出したことに応答して、前記投影されたカーソルアイコンを前記動作可能なGUI要素に描画するステップと
をさらに備える、請求項1に記載の方法。
【請求項１４】
前記投影されたカーソルアイコンが現在選択されている動作可能なグラフィカルユーザインターフェース(GUI)要素から所定の非ゼロ距離よりも遠くに移動したかどうかを検出するステップと、
前記投影されたカーソルが前記現在選択されている動作可能なGUI要素から前記所定の非ゼロ距離よりも遠くに移動したことを検出したことに応答して、前記動作可能なGUI要素を選択解除するステップと
をさらに備える、請求項1に記載の方法。
【請求項１５】
タッチスクリーンと、
メモリと、
前記タッチスクリーンおよび前記メモリに結合されたプロセッサとを備えるコンピューティングデバイスであって、前記プロセッサが、
ユーザによる前記コンピューティングデバイスの片手での使用中に仮想マウスをアクティブ化する動作と、
ユーザタッチイベントに関連するタッチ領域を識別する動作と、
前記識別されたタッチ領域からタッチデータを収集する動作と、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定する動作と、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいて前記タッチスクリーン上の位置を計算する動作とによって、
前記タッチスクリーン上の前記仮想マウスの位置を決定する動作と、
前記仮想マウスの前記決定された位置に前記タッチスクリーン上のカーソルアイコンを表示する動作と
を備える動作を実行するようにプロセッサ実行可能命令を用いて構成され、
前記投影されたカーソルアイコンが、片手での使用中にユーザの親指または指の届く範囲を超えて延びるように構成される、コンピューティングデバイス。
【請求項１６】
前記表示されたカーソルアイコンが、片手での使用中にユーザの指の届く範囲を超えて延びるように構成されるように動作を実行するように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項１７】
前記仮想マウスをアクティブ化する動作が、前記コンピューティングデバイスのタッチスクリーンディスプレイの所定の仮想マウスアクティブ化領域内のタッチイベントを検出する動作を備えるように、前記プロセッサが動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項１８】
前記仮想マウスをアクティブ化する動作が、前記コンピューティングデバイスが前記ユーザによる片手での使用と一致する方法で保持されていることを検出すると、アクティブ化を自動的に開始する動作を備えるように、前記プロセッサが動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項１９】
前記プロセッサが、
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが前記コンピューティングデバイス上で検出されたかどうかを決定する動作と、
前記非アクティブ化イベントが検出されたことを決定したことに応答して前記仮想マウスを非アクティブ化する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項17に記載のコンピューティングデバイス。
【請求項２０】
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが検出されたかどうかを決定する動作が、タッチイベントが前記所定の仮想マウスアクティブ化領域内で検出されたかどうかを決定する動作を備えるように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項19に記載のコンピューティングデバイス。
【請求項２１】
前記ユーザタッチイベントに関連する前記方向を決定する動作が、前記タッチ領域に適合された楕円の長軸の向きに少なくとも部分的に基づくように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項２２】
前記ユーザタッチイベントに関連する前記圧力パラメータを決定する動作が、前記タッチ領域に適合された前記楕円の面積と、タッチ圧力とのうちの少なくとも1つに基づき、
前記仮想マウスの位置を計算する動作が、前記仮想マウスの前記位置を表すベクトルを計算する動作を備え、前記計算されたベクトルの大きさが、前記決定された圧力パラメータに少なくとも部分的に基づくように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項21に記載のコンピューティングデバイス。
【請求項２３】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kpf
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表すように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項22に記載のコンピューティングデバイス。
【請求項２４】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kp(c-r)
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
rが前記初期基準点から前記楕円の前記中心点に最も近い前記タッチスクリーンディスプレイのコーナーまでのベクトルを表し、
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表すように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項22に記載のコンピューティングデバイス。
【請求項２５】
前記プロセッサが、
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示されたグラフィカルユーザインターフェース(GUI)要素のしきい値距離内に位置している間に選択入力が受信されたかどうかを決定する動作と、
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示されたグラフィカルユーザインターフェース(GUI)要素のしきい値距離内に位置している間に前記選択入力が受信されたと決定したことに応答して前記GUI要素に関連する動作を実行する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項２６】
前記プロセッサが、前記GUI要素に関連する前記動作を実行した後、前記仮想マウスを自動的に非アクティブ化する動作をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項25に記載のコンピューティングデバイス。
【請求項２７】
前記プロセッサが、
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示された動作可能なグラフィカルユーザインターフェース(GUI)要素からしきい値距離ないに位置するかどうかを検出する動作と、
前記投影されたカーソルアイコンが前記しきい値距離内に位置することを検出したことに応答して、前記投影されたカーソルアイコンを前記動作可能なGUI要素に描画する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項２８】
前記プロセッサが、
前記投影されたカーソルアイコンが現在選択されている動作可能なグラフィカルユーザインターフェース(GUI)要素から所定の非ゼロ距離よりも遠くに移動したかどうかを検出する動作と、
前記投影されたカーソルアイコンが前記現在選択されている動作可能なGUI要素から前記所定の非ゼロ距離よりも遠くに移動したことを検出したことに応答して、前記動作可能なGUI要素を選択解除する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項２９】
タッチスクリーンと、
ユーザによる前記コンピューティングデバイスの片手での使用中に仮想マウスをアクティブ化するための手段と、
ユーザタッチイベントに関連するタッチ領域を識別するための手段と、
前記識別されたタッチ領域からタッチデータを収集するための手段と、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定するための手段と、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいて前記タッチスクリーン上の位置を計算するための手段と
を備える、前記タッチスクリーン上の前記仮想マウスの位置を決定するための手段と、
前記仮想マウスの前記決定された位置に前記タッチスクリーン上のカーソルアイコンを表示するための手段と
を備えるコンピューティングデバイス。
【請求項３０】
ユーザによる前記コンピューティングデバイスの片手での使用中に仮想マウスをアクティブ化する動作と、
ユーザタッチイベントに関連するタッチ領域を識別する動作と、
前記識別されたタッチ領域からタッチデータを収集する動作と、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定する動作と、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいてタッチスクリーン上の位置を計算する動作とによって、
前記タッチスクリーン上の前記仮想マウスの位置を決定する動作と、
前記仮想マウスの前記決定された位置に前記タッチスクリーン上のカーソルアイコンを表示する動作と
を備える動作をコンピューティングデバイスのプロセッサに実行させるように構成されたプロセッサ実行可能命令が記憶された非一時的プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、その内容全体が参照により本明細書に組み込まれている、2014年11月11日に出願した「Virtual Mouse Based on Improve Touch Shape Feature」と題する米国仮出願第62/078,356号の優先権の利益を主張するものである。
【０００２】
本開示は全般に電子デバイスに関する。様々な実施形態は、電子デバイス上のグラフィカルユーザインターフェース(GUI)を動作させるための方法に関する。
【背景技術】
【０００３】
片手でスマートフォンデバイスを保持し、スマートフォンデバイスを保持している手の親指のみでスマートフォンデバイスのタッチスクリーンディスプレイ上に表示されたグラフィカルユーザインターフェース(GUI)と対話することは、多くの状況下でスマートフォンデバイスを使用する好ましいモードであり得る。しかしながら、スマートフォンデバイスのタッチスクリーンディスプレイのサイズが増加するにつれて、そのような片手の使用は、少なくとも、制限された手のサイズを仮定すれば、デバイスを保持する手の親指ですべてのコーナー、特に、タッチスクリーンの上部領域に到達することは、挑戦になる可能性があるという理由のため、扱いにくくなるか、不可能にさえなる可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
様々な実施形態のシステム、方法、およびデバイスは、ユーザによるコンピューティングデバイスの片手での使用中に仮想マウスをアクティブ化し、タッチスクリーン上の仮想マウスの位置を決定し、計算されたベクトルを使用してタッチスクリーン上にカーソルアイコンを投影することによって、タッチスクリーンを有して構成されたコンピューティングデバイスがタッチスクリーン上に仮想マウスを実施することを可能にし得る。いくつかの実施形態では、投影されたカーソルアイコンは、片手での使用中にユーザの親指または指の届く範囲を超えて延びるように配置され得る。いくつかの実施形態では、タッチスクリーン上の仮想マウスの位置を決定することは、ユーザタッチイベントに関連するタッチ領域を識別することと、識別されたタッチ領域からタッチデータを収集することと、ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定することと、ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータに基づいて仮想マウスの位置を表すベクトルを計算することとを含み得る。
【０００５】
いくつかの実施形態では、仮想マウスをアクティブ化することは、コンピューティングデバイスのタッチスクリーンディスプレイの所定の仮想マウスアクティブ化領域内のタッチイベントを検出することを含み得る。いくつかの実施形態は、仮想マウスがアクティブ化されている間、所定の仮想マウスアクティブ化領域内でタッチイベントが検出されたかどうかを決定することと、仮想マウスがアクティブ化されている間、所定の仮想マウスアクティブ化領域内でタッチイベントが検出されたことを決定したことに応答して、仮想マウスを非アクティブ化することとをさらに含み得る。
【０００６】
いくつかの実施形態では、仮想マウスをアクティブ化することは、コンピューティングデバイスが、ユーザによる片手での使用と一致する方法で保持されていることを決定すると、アクティブ化を自動的に開始することを含み得る。いくつかの実施形態では、ユーザタッチイベントに関連する方向を決定することは、タッチ領域に適合された楕円の長軸の向きに少なくとも部分的に基づき得る。いくつかの実施形態では、ユーザタッチイベントに関連する圧力パラメータを決定することは、タッチ領域に適合された楕円の面積と、タッチ圧力とのうちの少なくとも1つに基づき得、仮想マウスの位置を計算することは、仮想マウスの位置を表すベクトルを計算することを含み得、計算されたベクトルの大きさは、決定された圧力パラメータに少なくとも部分的に基づき得る。
【０００７】
いくつかの実施形態は、投影されたカーソルアイコンがタッチスクリーン上に表示されたグラフィカルユーザインターフェース(GUI)要素の上に配置されている間、ユーザタッチイベントが終了したかどうかを決定することと、投影されたカーソルアイコンが表示されたGUI要素の上に配置されている間、ユーザタッチイベントが終了したことを決定したことに応答して、GUI要素に関連する動作を実行することとをさらに含み得る。いくつかの実施形態は、GUI要素に関連する動作の実行後、仮想マウスを自動的に非アクティブ化することをさらに含み得る。
【０００８】
いくつかの実施形態は、投影されたカーソルアイコンが、タッチスクリーン上に表示された動作可能なグラフィカルユーザインターフェース(GUI)要素からしきい値距離内に配置されているかどうかを検出することと、投影されたカーソルアイコンがしきい値距離内に配置されていることを検出したことに応答して、投影されたカーソルアイコンを動作可能なGUI要素に描画することとをさらに含み得る。いくつかの実施形態は、投影されたカーソルアイコンが現在選択されている動作可能なグラフィカルユーザインターフェース(GUI)要素から所定の非ゼロ距離よりも遠くに移動したかどうかを検出することと、カーソルが現在選択されている動作可能なGUI要素から所定の非ゼロ距離よりも遠くに移動したことを検出したことに応答して、動作可能なGUI要素を選択解除することとをさらに含み得る。
【０００９】
様々な実施形態は、タッチスクリーンを有して構成され、上記で説明した方法の動作を実行するようにプロセッサ実行可能命令を用いて構成されたプロセッサを含むコンピューティングデバイスを含む。様々な実施形態はまた、コンピューティングデバイスのプロセッサに上記で説明した方法の動作を実行させるように構成されたプロセッサ実行可能命令が記憶された非一時的プロセッサ可読媒体を含む。様々な実施形態は、上記で説明した方法の機能を実行するための手段を有するコンピューティングデバイスを含む。
【００１０】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、例示的な実施形態を示し、上記で与えた一般的な説明および以下に与える詳細な説明とともに、特許請求の範囲の特徴を説明する役割を果たす。
【図面の簡単な説明】
【００１１】
【図１Ａ】様々な実施形態で使用するのに適したスマートフォンデバイスを示すブロック図である。
【図１Ｂ】様々な実施形態によるデバイス上に仮想マウスシステムを実施するための例示的なシステムを示すブロック図である。
【図２】様々な実施形態によるスマートフォンデバイスの従来の片手での使用の例示の図である。
【図３Ａ】様々な実施形態によるカーソル移動を計算するために使用される例示的なタッチパラメータを示す概略図である。
【図３Ｂ】様々な実施形態による仮想マウス位置を決定するために使用される計算を示す例示的なスマートフォンデバイスの図である。
【図３Ｃ】様々な実施形態による仮想マウス位置を決定するために使用される計算を示す例示的なスマートフォンデバイスの図である。
【図４Ａ】様々な実施形態による例示的な仮想マウスインターフェースの使用を示す例示的なスマートフォンデバイスタッチスクリーンの図である。
【図４Ｂ】様々な実施形態による例示的な仮想マウスインターフェースの使用を示す例示的なスマートフォンデバイスタッチスクリーンの図である。
【図４Ｃ】様々な実施形態による例示的な仮想マウスインターフェースの使用を示す例示的なスマートフォンデバイスタッチスクリーンの図である。
【図５】様々な実施形態による仮想マウスを実施するための例示的な方法を示すプロセスフロー図である。
【図６Ａ】様々な実施形態による仮想マウスを実施するための例示的な方法を示すプロセスフロー図である。
【図６Ｂ】様々な実施形態による仮想マウスを実施するための例示的な方法を示すプロセスフロー図である。
【発明を実施するための形態】
【００１２】
様々な実施形態は、添付図面を参照して詳細に説明される。可能な場合、同じ参照番号は、同じまたは同様の部分を指すために図面全体を通して使用される。特定の例および実施態様に対してなされる参照は、例示の目的のためであり、特許請求の範囲を限定するものではない。
【００１３】
様々な実施形態のシステム、方法、およびデバイスは、タッチスクリーン対応デバイスのための仮想マウスポインタを提供することによって、モバイルデバイスのユーザ体験を改善する。具体的には、様々な実施形態において、仮想マウスインターフェース(「仮想マウス」とも呼ばれる)は、ディスプレイのサイズとユーザの手のサイズとの間の不一致によるスマートフォンの片手での使用の不都合を軽減し得る。仮想マウスは、単一の指(たとえば、親指または他の指)によって制御され得るカーソルを提供する。仮想マウスは、タッチスクリーンディスプレイ上の様々な位置においてGUI要素表示と相互作用し得る。これは、片手での使用中に指または親指によって容易に到達できないGUI要素を含み得る。
【００１４】
動作中、ユーザは、たとえば、タッチスクリーン上に表示された仮想マウスを表すGUI要素(たとえば、仮想マウスアイコン)に対応するタッチスクリーンの一部をタップすることによって、仮想マウスをアクティブ化し得る。仮想マウスがアクティブ化されたとき、カーソルアイコンは、タッチスクリーンによって表示され得る。表示されたカーソルアイコンは、GUI要素を参照して仮想マウスの位置を示し得る。タッチスクリーン上のユーザの指または親指の特性は、スマートフォンのプロセッサによって計算され得る。タッチスクリーンから受信した信号を使用するプロセッサは、ユーザ指のタッチ圧力および向き(向きは、ユーザの指の角度配置を指す)を計算し得る。仮想マウスの位置は、ユーザの指の計算されたタッチ圧力および向きに少なくとも部分的に基づいて決定され得る。いくつかの実施形態では、仮想マウスの位置は、指によってタッチされたタッチスクリーンの部分の中心点からタッチスクリーン上の遠位位置に延びるベクトルとして計算され得る。ベクトルは、計算されたタッチ圧力に基づいて計算された長さまたは大きさを有し得る。ベクトルは、指の計算された向きに基づく角度方向を有し得る。カーソルアイコンは、計算されたベクトルの遠位端においてタッチスクリーンディスプレイ上に配置され得る。仮想マウスが選択可能なGUI要素の近くにあるとき、カーソルアイコンは、GUI要素(たとえば、アイコン)に描画され得、GUI要素は同時に、タッチスクリーン上に表示されたGUI内で拡大および/または強調表示され得る。GUI要素は、タッチスクリーンから指を物理的に持ち上げる(すなわち、スマートフォンから離す)ことによって選択され得る。カーソルがオブジェクト上にあるときにタッチスクリーンから指を持ち上げることは、関連するアプリケーションまたは他の動作を起動するようにスマートフォンのプロセッサに促し得る。ユーザはまた、指を仮想マウスアイコンに後退させる(すなわち、仮想マウスを表すGUI要素に対応するタッチスクリーンの部分に戻る)ことによって、仮想マウスを非アクティブ化し得る。
【００１５】
本明細書で使用される場合、「スマートフォンデバイス」、「スマートフォン」、および「モバイルコンピューティングデバイス」は、セルラー電話、タブレットコンピュータ、携帯情報端末(PDA)、ウェアラブルデバイス(たとえば、腕時計、ヘッドマウントディスプレイ、仮想現実眼鏡など)、パームトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、ワイヤレス電子メール受信機およびセルラー電話受信機、マルチメディアインターネット対応セルラー電話、マルチメディア対応スマートフォン(たとえば、Android(登録商標)およびApple iPhone(登録商標))、ならびに、プログラマブルプロセッサ、メモリ、およびタッチスクリーンディスプレイ/ユーザインターフェースを含む同様の電子デバイスなどの、片手での操作が可能なサイズの様々なモバイルコンピューティングデバイスのいずれかを指す。図1Aは、仮想マウスに適応され得るモバイルコンピューティングのコンポーネント図である。スマートフォンは、様々な実施形態を実施するのに特に適しており、したがって、図面および様々な実施形態の説明における例として使用される。しかしながら、特許請求の範囲は、明示的に記載されていない限り、スマートフォンに限定されるものではなく、片手での使用に適したサイズの任意のモバイルコンピューティングデバイスを包含する。
【００１６】
スマートフォンデバイス100は、バス105を介して電気的に結合され得る(または、他の方法で適切に通信し得る)ハードウェア要素を備えて示されている。ハードウェア要素は、限定はしないが、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の専用プロセッサ(デジタル信号処理チップ、グラフィカルアクセラレーションプロセッサなど)を含む1つまたは複数のプロセッサ110、タッチスクリーン115を含み、限定はしないが、マウス、キーボード、キーパッド、カメラ、マイクロホンなどをさらに含む1つまたは複数の入力デバイス、および限定はしないが、外部出力デバイス、ディスプレイデバイス、スピーカ116、プリンタなどに結合するためのインターフェース120(たとえば、ユニバーサルシリアルバス(USB))を含む1つまたは複数の出力デバイス120を含み得る。
【００１７】
スマートフォンデバイス100は、限定はしないが、ローカルストレージおよび/またはネットワークアクセス可能なストレージを含み得、限定はしないが、ディスクドライブ、ディスクアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/または、プログラム可能、フラッシュ更新可能であり得る読出し専用メモリ(「ROM」)などの固体記憶デバイスなどを含み得る、1つまたは複数の非一時的記憶デバイス125をさらに含み得る(かつ/または、これらと通信し得る)。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータストアを実施するように構成され得る。
【００１８】
スマートフォンデバイス100はまた、限定はしないが、モデム、ネットワークカード(ワイヤレスまたはワイヤード)、赤外線通信デバイス、ワイヤレス通信デバイスおよび/またはチップセット(Bluetooth（登録商標）デバイス、802.11デバイス、Wi-Fiデバイス、WiMAXデバイス、セルラー通信設備など)などを含み得る通信サブシステム130を含み得る。通信サブシステム130は、ネットワーク、他のデバイス、および/または本明細書で説明する任意の他のデバイスとデータを交換することを可能にする場合がある。一実施形態では、デバイス100は、上記で説明したように、RAMデバイスまたはROMデバイスを含み得るメモリ135をさらに含み得る。スマートフォンデバイス100は、モバイルデバイスまたは非モバイルデバイスであり得、ワイヤレス接続および/またはワイヤード接続を有し得る。
【００１９】
スマートフォンデバイス100は、使い捨てバッテリまたは充電式バッテリなどの、プロセッサ102に結合された電源122を含み得る。充電式バッテリはまた、スマートフォンデバイス100の外部のソースから充電電流を受け取るために、周辺デバイス接続ポートに結合され得る。
【００２０】
スマートフォンデバイス100はまた、オペレーティングシステム140、デバイスドライバ、実行可能ライブラリ、および/または、本明細書で説明されるように、実施形態によって提供される方法を含み得る、もしくは方法を実施するように設計され得る、かつ/またはシステムを構成し得る1つまたは複数のアプリケーションプログラム145などの他のコードを含む、現在作業メモリ135内に位置するように示されているソフトウェア要素を含み得る。単なる例として、以下で論じる方法に関して説明する1つまたは複数の手順は、スマートフォンデバイス100(および/またはスマートフォンデバイス100内のプロセッサ110)によって実行可能なコードおよび/または命令として実施され得る。一実施形態では、そのようなコードおよび/または命令は、説明する方法に従って1つまたは複数の動作を実行するように汎用コンピュータ(または他のデバイス)を構成するかつ/または適合させるために使用され得る。
【００２１】
これらの命令および/またはコードのセットは、上記で説明した記憶デバイス125などの非一時的コンピュータ可読記憶媒体上に記憶され得る。いくつかの場合には、記憶媒体は、スマートフォンデバイス100などのデバイス内に組み込まれ得る。他の実施形態では、記憶媒体は、記憶媒体がそれに記憶された命令/コードを用いて汎用コンピュータをプログラムする、構成するかつ/または適合させるために使用され得るように、デバイスから分離され得(たとえば、コンパクトディスクなどのリムーバブル媒体)、かつ/またはインストールパッケージ内に設けられ得る。これらの命令は、スマートフォンデバイス100によって実行可能な実行可能コードの形態をとり得、かつ/または、(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのうちのいずれかを使用して)スマートフォンデバイス100上でのコンパイルおよび/またはインストール時にソースおよび/またはインストール可能コードの形態をとり得、次いで実行可能コードの形態を取り得る。アプリケーションプログラム145は、仮想マウスに適応された1つまたは複数のアプリケーションを含み得る。アプリケーションの機能性は、ハードウェア、または、オペレーティングシステム(OS)140、ファームウェア、コンピュータビジョンモジュールなどの異なるレベルのソフトウェアにおいて代替的に実施され得ることが理解されるべきである。
【００２２】
図1Bは、様々な実施形態による仮想マウスインターフェースを実施するために使用され得る要素を示すスマートフォン150の機能ブロック図である。様々な実施形態によれば、スマートフォン150は、図1Aに関連して説明したスマートフォンデバイス100と同様であり得る。図示のように、スマートフォン150は、少なくとも1つのメモリ154(たとえば、135)に結合され得る、汎用プロセッサ152など(たとえば、110)の少なくとも1つのコントローラを含む。メモリ154は、プロセッサ実行可能命令を記憶する非一時的有形コンピュータ可読記憶媒体であり得る。メモリ154は、オペレーティングシステム(OS)(140)、ならびにユーザアプリケーションソフトウェアおよび実行可能命令を記憶し得る。
【００２３】
スマートフォン150はまた、1つまたは複数のタッチセンサ158とディスプレイデバイス160とを含むタッチスクリーン115(「タッチスクリーンシステム」および/または「タッチスクリーンディスプレイ」とも呼ばれる)を含み得る。タッチセンサ158は、タッチ感応表面に対してユーザによって引き起こされたタッチ接触を感知するように構成され得る。たとえば、タッチ感応表面は、容量性感知、光学感知、抵抗性感知、電界感知、表面音波感知、圧力感知、および/または他の技術に基づき得る。いくつかの実施形態では、タッチスクリーンシステム156は、タッチ、ならびに、タッチ感応表面上のタッチの位置および大きさを認識するように構成され得る。
【００２４】
ディスプレイデバイス160は、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)(たとえば、アクティブマトリックス、パッシブマトリックス)などであり得る。代替的には、ディスプレイデバイス160は、モノクロディスプレイ、カラーグラフィックスアダプタ(CGA:color graphics adapter)ディスプレイ、拡張グラフィックスアダプタ(EGA:enhanced graphics adapter)ディスプレイ、可変グラフィックスアレイ(VGA:variable-graphics-array)ディスプレイ、スーパーVGAディスプレイ、陰極線管(CRT)などのモニタであり得る。ディスプレイデバイスはまた、プラズマディスプレイ、または電子インクを用いて実施されたディスプレイに対応し得る。
【００２５】
様々な実施形態では、ディスプレイデバイス160は、一般に、コンピュータシステムのユーザとコンピュータシステム上で動作するオペレーティングシステムまたはアプリケーションとの間の対話を可能にするグラフィカルユーザインターフェース(GUI)を表示するように構成され得る。GUIは、グラフィカル画像を用いてプログラム、ファイル、および動作オプションを表し得る。グラフィカル画像は、ウィンドウ、フィールド、ダイアログボックス、メニュー、アイコン、ボタン、カーソル、スクロールバーなどを含み得る。そのような画像は、予め定義されたレイアウトにおいて配置され得、または、ユーザによってとられている特定の動作に役立つように動的に作成され得る。動作中、ユーザは、それに関連する機能およびタスクを開始するために、様々なグラフィカル画像を選択し、アクティブ化し得る。例として、ユーザは、ウィンドウを開く、閉じる、最小化する、もしくは最大化するボタン、または、特定のプログラムを起動するアイコンを選択し得る。
【００２６】
様々な実施形態におけるタッチスクリーンシステムは、センサ158からの情報の入力(たとえば、タッチイベント)およびディスプレイデバイス160への情報の出力(たとえば、GUI提示)を可能にするタッチスクリーン入力/出力(I/O)コントローラ162に結合され得る。様々な実施形態では、タッチスクリーンI/Oコントローラは、ユーザのタッチに基づいてタッチセンサ158からの情報を受信し得、タッチイベントを解釈するために汎用プロセッサ152によって実行されるように構成された特定のモジュールに情報を送り得る。様々な実施態様では、単一点タッチおよび多点タッチが解釈され得る。本明細書で使用される「単一点タッチ」という用語は、単一の指(または器具)の単一の部分との相互作用によって定義されるタッチイベントを指すが、相互作用は、時間の経過とともに起こり得る。単一点タッチ入力の例は、単純なタッチ(たとえば、単一のタップ)と、タッチおよびドラッグと、ダブルタッチ(たとえば、ダブルタップ-素早く連続した2つのタップ)とを含む。「多点タッチ」は、異なる指または指部の組合せによって定義されるタッチイベントを指し得る。
【００２７】
様々な実施形態では、スマートフォンは、タッチスクリーンシステム156と組み合わせて、またはタッチスクリーンシステム156とは独立してスマートフォンにデータを転送するように構成され得る他の入力/出力(I/O)デバイスを含み得る。たとえば、タッチスクリーンI/Oコントローラ162は、ディスプレイデバイス上のGUIに対する追跡を実行し、選択を行い、ならびにコマンドを発行するために使用され得る。そのようなコマンドは、ズーミング、パンニング、スクローリング、ページング、回転、サイジングなどに関連し得る。さらに、コマンドはまた、特定のプログラムを起動すること、ファイルまたは文書を開くこと、メニューを見ること、選択を行うこと、命令を実行すること、コンピュータシステムにログオンすること、ユーザの好ましい配置に関連するユーザプロファイルをロードすることなどに関連し得る。いくつかの実施形態では、そのようなコマンドは、以下でさらに詳細に論じる仮想マウスマネージャのアクティブ化をトリガすることを伴い得る。
【００２８】
タッチ入力がタッチスクリーンI/Oコントローラ162を介して受信されたとき、汎用プロセッサ152は、タッチイベントを識別/解釈し、スマートフォンの様々なコンポーネントを制御するために、メモリ154内に記憶された1つまたは複数のプログラムモジュールを実施し得る。たとえば、タッチ識別モジュール164は、メモリ154内に記憶されたアプリケーション166における動作を実行するためのコマンド、ディスプレイデバイス160上に表示されたGUI要素を修正するためのコマンド、メモリ154内に記憶されたデータを修正するためのコマンドなどに対応するイベントを識別し得る。いくつかの実施形態では、タッチ識別子モジュールは、タッチスクリーンシステム156上の単一点タッチイベントとして入力を識別し得る。
【００２９】
いくつかの実施形態では、タッチ入力は、たとえば、仮想マウスを表すGUI要素(たとえば、アイコン)に近接したカーソルの位置に基づいて仮想マウスのアクティブ化をトリガするものとして識別され得る。アクティブ化されると、スマートフォンにおけるカーソルの制御は、仮想マウスマネージャ168に渡され得る。様々な実施形態では、仮想マウスマネージャ168は、メモリ154内に記憶されたプログラムモジュールであり得、プログラムモジュールは、1つまたは複数のコントローラ(たとえば、汎用プロセッサ152)によって実行され得る。
【００３０】
様々な実施形態では、単一点タッチは、カーソル追跡および/または選択を開始し得る。追跡中、カーソル移動は、タッチスクリーンシステム156のタッチ感応表面上で単一の指を動かすユーザによって制御され得る。仮想マウスがアクティブではないとき、そのような追跡は、タッチ識別子モジュール164によってタッチイベントを解釈することと、ディスプレイデバイス160上のカーソルアイコンの対応する移動を生じさせるための信号を生成することとを伴い得る。
【００３１】
仮想マウスがアクティブである間、仮想マウスマネージャ168は、タッチイベントを解釈し、ディスプレイデバイス160上のカーソルアイコンのスケールされた移動を生じさせるための信号を生成し得る。様々な実施形態では、仮想マウスがアクティブである間にタッチイベントを解釈することは、タッチデータから特徴(たとえば、タッチの数、タッチの位置および形状など)を抽出すること、ならびにパラメータ(たとえば、タッチ圧力および/またはタッチ領域に最も適合する楕円など)を計算することを伴い得る。様々な実施形態では、そのようなタッチデータおよび計算パラメータは、タッチスクリーンI/Oインターフェース162によって計算され得る。さらに、カーソル計算モジュール170は、カーソル位置を決定するために、タッチスクリーンI/Oインターフェース162から得られた測定/感知されたタッチデータおよび計算パラメータを使用し得る。信号をフィルタリングすることと、異なるフォーマットへの変換と、ならびに、仮想マウスがアクティブ化されていないときのタッチイベントを解釈することとを含む他の機能は、メモリ154内に記憶された様々な追加のプログラム/モジュールのいずれかを使用して実行され得る。
【００３２】
いくつかの実施形態では、汎用プロセッサ152、メモリ154、およびタッチスクリーンI/Oコントローラ162は、システムオンチップデバイス172内に含まれ得る。1つまたは複数の加入者識別モジュール(SIM)および対応するインターフェースは、システムオンチップデバイス172、ならびに、インターフェースまたはコントローラなどのシステムオンチップデバイス172のコンポーネントに結合され得る様々な周辺デバイス(たとえば、追加の入力デバイスおよび/または出力デバイス)の外部にあり得る。
【００３３】
スマートフォンデバイスを片手で保持し、スマートフォンデバイスを保持している手の親指のみを用いてスマートフォンデバイスのタッチスクリーンディスプレイ上に表示されたGUIと対話することは、多くの状況下でスマートフォンデバイスを使用する好ましいモードであり得る。しかしながら、スマートフォンデバイスのタッチスクリーンディスプレイのサイズが増加するにつれて、そのような片手での使用は、扱いにくくなるか、または不可能にさえなる可能性がある。デバイスを保持している手の親指または他の指でタッチスクリーンディスプレイのすべての部分、特にタッチスクリーンディスプレイの上部領域に到達する問題は、特に小さい手を有する者にとって挑戦になる可能性がある。
【００３４】
図2は、スマートフォンデバイス200の従来の片手での使用の例示である。様々な実施形態によれば、スマートフォンデバイス200は、図1A〜図1Bに関連して説明したスマートフォン100、150と同様であり得る。スマートフォンデバイス200は、タッチスクリーンディスプレイ220(たとえば、ディスプレイデバイス160)を有して構成され得る。片手230でスマートフォンデバイス200を保持し、手230の親指240(または他の指)のみでスマートフォンデバイスのタッチスクリーンディスプレイ220上に表示されたGUIと対話することは、多くの状況下でスマートフォンデバイスを使用する好ましいモードであり得る。しかしながら、タッチスクリーンデバイス220が大きくなればなるほど、単一の指ですべてのコーナーに到達することがより困難になる。タッチスクリーンディスプレイ220の上部領域は、スマートフォンデバイスを保持している手230の親指240(または他の指)で到達することが特に困難であり得る。たとえば、図2は、親指240によって容易に到達可能なタッチスクリーンディスプレイ220の第1の領域250と、親指240によって到達することが困難なタッチスクリーンディスプレイ220の第2の領域260とを示す。
【００３５】
様々な実施形態は、タッチスクリーンディスプレイと手のサイズとの間の不一致によって引き起こされるスマートフォンデバイスの片手での使用に対する不都合を克服するために仮想マウスを実施するためにタッチスクリーンによって生成されたタッチイベントデータを処理することによって利用可能にされた追加の入力を利用する。仮想マウスは、GUIの異なる要素と対話し得るカーソル/アイコンを含む。カーソルは、タッチスクリーンディスプレイ上の親指の対応する回転および運動および/または圧力変化によって、タッチスクリーンディスプレイの全領域内で移動可能であり得る。本開示の実施形態を実施するスマートフォンデバイスでは、ユーザは、容易に到達可能なタッチスクリーンディスプレイの領域内に親指を維持しながら、仮想マウスのカーソル/アイコンを使用して、片手での使用のシナリオでは容易に到達できないタッチスクリーンディスプレイ上のGUIの要素と対話し得る。
【００３６】
仮想マウスは、ユーザの単一点タッチに関連するいくつかの特性のいずれかによって制御され得る。様々な実施形態では、そのような特性は、スマートフォンの特定の構成、設定、および能力に応じて、複数のメカニズムを使用して決定され得る。仮想マウスは、タッチスクリーン上にカーソルアイコンを投影することによって実施され得、カーソルアイコンの位置は、タッチスクリーンからのデータに基づいて計算される位置は、たとえば、データから決定されたタッチの向きおよび圧力に基づいて計算され得る。たとえば、いくつかの実施形態では、スマートフォンは、実際のタッチ圧力を測定することができる圧力感応タッチスクリーンを有して構成され得る。そのような圧力感応タッチスクリーンは、タッチ力を決定するために、容量性タッチ感知と赤外線感知との組合せを利用し得る。他の実施形態では、圧力は、タッチスクリーン表面と接触する指の面積に基づいて間接的に計算され得る。すなわち、タッチ領域の相対的なサイズは、タッチ圧力の代用として機能し得、より大きい面積は、より大きい圧力に変換される。このようにして、実際の圧力測定の代わりに、スマートフォンは、タッチ領域に基づいて推定圧力を計算し得、それによって、デバイス上の追加のハードウェアまたは感知回路の必要性を回避する。
【００３７】
ユーザのタッチの方向は、タッチ領域によって近似される楕円の長軸の向きに基づいて決定され得る。代替的には、方向は、スクリーンの最も近いコーナーから生じ、タッチ位置を通って延びるラインまたはベクトルに基づいて決定され得る。
【００３８】
いくつかの実施形態では、タッチ方向は、タッチ領域境界によって近似される楕円の形状からの計算に基づいて決定され得る。代替的には、方向は、タッチスクリーンの最も近いコーナーに対するタッチ領域の中心に基づいて決定され得る。
【００３９】
カーソルの位置の計算は、実施中に生じ得るが、様々な実施形態において参照される様々な式は、本発明の実施中に計算されなくてもよく、むしろ本発明の実施態様のコンポーネント間の関係を記述するモデルを提供し得る。上記で論じたように、仮想マウスがアクティブ化されたとき、タッチスクリーンへの入力の特性は、タッチスクリーン上のユーザの指(たとえば、親指)に関連するタッチのデータ(すなわち、「タッチデータ」)を感知/測定することによって決定され得る。様々な実施形態では、そのようなタッチデータは、タッチ領域の境界を形成する点の位置と、タッチ領域の中心とを含み得る。いくつかの実施形態では、タッチデータから導出された特性は、タッチ領域の境界に最もよく適合し、非線形回帰分析を使用して識別され得る楕円関数を含み得る。たとえば、最も適合する楕円は、式1を使用して定義され得る。
【００４０】
【数１】
2017534993.tif 000003
【００４１】
ここで、aは、楕円の半長軸を表し、bは、楕円の半短軸を表し、半長軸および半短軸は、xデカルト軸およびyデカルト軸上に整列し、楕円中心は、原点(0,0)にある。
【００４２】
様々な実施形態では、最も適合する楕円関数の長軸は、長軸が2aに等しい場合のaを解くことによって決定され得る。さらに、タッチ領域のサイズに基づく推定圧力は、式2を使用して最も適合する楕円の面積を計算することによって決定され得る。
Area=π*ab    式2
ここで、aは、楕円の半長軸を表し、bは、楕円の半短軸を表す。
【００４３】
図3Aは、様々な実施形態におけるユーザの指のタッチ領域に対応する例示的な楕円関数300を示す図である。従来のタッチスクリーン技術は、タッチイベントの位置(すなわち、x座標、y座標)のみを提供する。様々な実施形態では、各タッチイベントについて、タッチ領域の向きおよびタッチイベントに関連する圧力が、タッチ領域の位置に加えて提供され得る。楕円関数300は、近似タッチ領域310に適合され、半長軸320および半短軸330に基づいて特徴付けられる。タッチ領域310の位置に加えて、タッチ領域310の向きが、正のx軸と、タッチ領域310の長軸340に対応する線分との間の角度312として決定され得る。タッチ方向を確立するために長軸の向きを利用し、ユーザがタッチスクリーンの最下部に最も近くに位置するエッジからスマートフォンデバイスを保持することを仮定すると、カーソルアイコンは、タッチスクリーンの上部に最も近い主要な楕円上の点に向かって投影される線に沿って配置され得る。したがって、タッチ領域310に関して示すように、左手を使用することは、0度(すなわち、完全に水平な指)と90度(すなわち、完全に垂直な指)との間の角度312を提供し得る。右手(図示せず)を使用する実施形態では、角度312は、90度(すなわち、完全に垂直な指)と180度(すなわち、完全に水平な指)との間であり得る。
【００４４】
さらに、タッチイベントに関連する圧力も提供され得る。いくつかの実施形態では、タッチイベントが指などの拡張可能な物体によって作成されたとき、タッチ圧力が増加するにつれてタッチ領域が拡大するので、タッチ領域310のサイズは、圧力を推定するために使用され得る。
【００４５】
仮想マウスは、様々なタッチパラメータに基づいて計算された位置においてタッチスクリーン上に表示され得る。いくつかの実施形態では、仮想マウスの位置は、様々なタッチ特性に基づいて計算されたベクトルとして計算され得る。仮想マウスの位置を表すために、カーソルアイコン(または他のアイコン)が表示され得る。
【００４６】
様々な実施形態では、仮想マウス位置を計算するために使用されるタッチ特性は、ベクトルとして表され得る。たとえば、最も適合する楕円の長軸の向きは、タッチスクリーンの上端に向かい、および/または仮想マウスアクティブ化領域から離れる方向に基づくベクトルfによって表され得る。別の例では、ユーザの指のタッチ位置は、始点または基準点からタッチ領域の中心点までのベクトルcによって表され得る。同様に、実際のタッチ位置に最も近いコーナーの位置は、開始基準点から最も近いコーナーまでのベクトルrによって表され得る。様々な実施形態では、ベクトルcおよびベクトルrの開始基準点または初期基準点は、計算された仮想マウスベクトルがタッチスクリーン上に投影される投影点、すなわち、仮想マウスアクティブ化領域における点と同じであり得る。
【００４７】
いくつかの実施形態では、仮想マウスの位置は、式3を使用して計算され得る。
仮想マウス位置=c+kpf    式3
ここで、cは、実際のタッチ位置の中心点(すなわち、デカルト空間内の点)に対するベクトルを表し、fは、タッチ領域の境界に最も適合する楕円の長軸の向きに対応するベクトルを表し、pは、圧力測定値であり、kは、仮想マウスがタッチスクリーン全体をカバーするようなスケーリング係数である。
【００４８】
図3Bは、式3を使用する、スマートフォンデバイス350上の仮想マウス位置の代表的な決定を示す。様々な実施形態によれば、スマートフォンデバイス350は、図1A〜図2に関して説明したスマートフォン100、150、200と同様であり得る。スマートフォンデバイス350は、タッチスクリーンディスプレイ352(たとえば、160、220)を有して構成され得、ユーザは、1本の指354のみでタッチスクリーンディスプレイ352上に表示されたGUIと対話し得る。タッチスクリーンディスプレイ352上で、ベクトル356は、式3中のcに対応する、初期基準点から指354のタッチ領域310の中心までの方向および距離を提供する。タッチスクリーンディスプレイ352の左上コーナーは、図3に示す実施形態のための初期基準点として使用されるが、タッチスクリーンディスプレイ352上のコーナーまたは他の点のいずれかが初期基準点を提供し得るので、初期基準点の位置は、任意であるベクトル358は、式3中のfに対応する、タッチ領域310の境界に最も適合する楕円(たとえば、300)の長軸340の向きを表す方向を提供する。いくつかの実施形態では、ベクトル358の大きさは、長軸340の実際の長さであり得る。他の実施形態では、ベクトル358の大きさは、スケーリング係数kと同様の一定の代表値であり得る。
【００４９】
タッチスクリーンディスプレイ352上のベクトル360は、ベクトル358にスカラーを乗算することから結果として生じるベクトルであり、式3中のkpfに対応する。ベクトル356にベクトル360を加えると、結果として生じるベクトル362は、タッチスクリーンディスプレイ352上の初期基準点から仮想マウス位置363までの方向および距離を提供する。すなわち、ベクトル362は、c+kpfの式3における計算に対応する。
【００５０】
他の実施形態では、仮想マウスの位置は、式4を使用して計算され得る。
仮想マウス位置=c+kp(c-r)    式4
ここで、rは、実際のタッチ位置(すなわち、デカルト空間内の位置)に最も近いタッチスクリーンのコーナーまでのベクトルを表す。
【００５１】
図3Cは、式4を使用してスマートフォンデバイス350における仮想マウス位置を決定する際に使用するベクトルc-rの代表的な計算を示す。図3Bに関して説明したように、ベクトル356は、タッチスクリーンディスプレイ352の左上コーナーにおける初期基準点からタッチ領域の中心までの方向および距離を提供する。式3と同様に、ベクトル356は、式4中のcに対応する。図3C中のタッチスクリーンディスプレイ352上で、ベクトル364は、式4中のrに対応する、初期基準点から実際のタッチ位置に最も近いコーナーまでの方向および距離を提供する。ベクトル356からベクトル364を減算することは、式4中のc-rに対応する、結果として生じるベクトル366を提供する。
【００５２】
タッチスクリーンディスプレイ352上のベクトル368は、式4中のkp(c-r)に対応する、ベクトル366にスカラーを乗算し、その位置を変換することから結果として生じるベクトルである。ベクトル368をベクトル356に加えることは、ベクトル370を結果としてもたらし、ベクトル370は、タッチスクリーンディスプレイ352上の初期基準点から仮想マウス位置372までの方向および距離を提供する。すなわち、ベクトル372は、c+kp(c-r)の式4における計算に対応する。
【００５３】
図4Aおよび図4Bは、本開示の実施形態が実施されるスマートフォンデバイス400を示す。スマートフォンデバイス400は、GUIが表示されるタッチスクリーンディスプレイ410を含む。様々な実施形態では、タッチスクリーンディスプレイ410上の所定の領域420は、仮想マウスアクティブ化領域として指定され得る。以下で詳細に説明するように、ユーザは、たとえば、親指でアクティブ領域420にタッチし、(たとえば、親指を外さないことによって)タッチを維持することによって、仮想マウスをアクティブ化し得る。図4Aおよび図4Bでは、仮想マウスアクティブ化領域420は、タッチスクリーンディスプレイ410の右下コーナーにある。いくつかの実施形態では、仮想マウスアクティブ化領域の実際の配置は、ユーザがカスタマイズ可能であり得る。たとえば、右手でスマートフォンデバイス410を操作しようとするユーザは、仮想マウスアクティブ化領域として右下コーナーを指定し得、左手でスマートフォンデバイス410を操作しようとするユーザは、仮想マウスアクティブ化領域として左下コーナーを指定し得る。いくつかの実施形態では、ユーザは、加えて、または代替的に、タッチスクリーンディスプレイ410上の任意の領域において十分な量の力を加えることによって、仮想マウスをアクティブ化し得る。たとえば、仮想マウスは、しきい値を超える圧力量を有するタッチ入力を検出したことに応答してアクティブ化され得る。
【００５４】
仮想マウスがアクティブ化されると、カーソルアイコン430は、カーソルアイコン430を示すためにタッチスクリーンディスプレイ410上に表示され得る。仮想マウスによって選択されたGUI要素は、カーソルアイコン430の位置によって示され、カーソルアイコン430の位置は、以下に説明するように、たとえば、親指による維持されたタッチの回転および移動ならびに/または圧力変化によって制御され得る。いくつかの実施形態では、仮想マウスは、スマートフォンデバイス400が片手での使用と一致する方法で手に保持されていることをプロセッサが決定したとき、自動的にアクティブ化され得る。
【００５５】
図4Cは、仮想マウスがアクティブ化されるスマートフォンデバイス400を示す。上記で説明したように、ユーザは、たとえば、指440(たとえば、親指)で仮想マウスアクティブ化領域にタッチし、指440とタッチスクリーンディスプレイ410との間の接触を維持することによって、仮想マウスをアクティブ化し得る。ユーザは、ユーザが指440によって容易に到達できないタッチスクリーンディスプレイ410の領域上のGUI要素を操作しようとするとき、仮想マウスをアクティブ化することを望み得る。仮想マウスがアクティブ化され、カーソルアイコン430が表示されると、ユーザは、指440を回転させ、タッチスクリーンディスプレイ410上の指440の位置および/またはタッチ圧力のうちの少なくとも1つを変更することによって、カーソルアイコン430の位置を制御し得る。いくつかの実施形態では、カーソルアイコン430の位置(たとえば、仮想マウスアクティブ化領域からカーソルアイコン430の現在の位置までのベクトルの終点)は、(式3)からの式c+kpfまたはc+kp(c-r)(式4)を評価することによって決定され得る。前述したように、式3および式4において、cは、タッチ領域の位置を表すベクトル(たとえば、仮想マウスアクティブ化領域または初期基準点から現在のタッチ領域の中心までのベクトル)である。前述したように、式4において、rは、タッチスクリーンの最も近いコーナーの位置を表すベクトル(たとえば、仮想マウスアクティブ化領域または初期基準点からcに最も近いコーナーまでのベクトル)である。前述したように、式3において、fは、タッチ領域の向きを表すベクトル(たとえば、タッチ領域の向きを示す単位ベクトル)である。前述したように、式3および式4において、pは、圧力であり、kは、ユーザがタッチスクリーンディスプレイ410の容易に到達可能な領域内の親指440の運動でタッチスクリーンディスプレイ410の最も遠いコーナーにカーソルアイコン430を移動させ得るように選択されたスケーリング係数である。
【００５６】
したがって、例示的な実施形態では、現在のタッチ領域の位置、現在のタッチ領域の向き、および現在のタッチ圧力は、カーソルアイコン430の位置の決定においてすべて考慮される。別の実施形態では、現在のタッチ領域の位置および向きのみが、カーソルアイコン430の位置の決定において考慮される(すなわち、c+kpfまたはc+kp(c-r)におけるpは、一定にされる)。さらに別の実施形態では、現在のタッチ領域の向きおよび現在のタッチ圧力のみが、カーソルアイコン430の位置の決定において考慮される(すなわち、c+kpfにおけるcは、一定にされる)。すべての実施形態では、ユーザは、容易に到達可能なタッチスクリーンディスプレイ410の領域内に親指を保ちながら、カーソルアイコン430をタッチスクリーンディスプレイ410の最も遠いコーナーに移動させ得る。
【００５７】
いくつかの実施形態では、上記の仮想マウス位置の計算で利用され得るスケーリング係数kは、ユーザの指の動きあたりのカーソル位置の変化の量を調整するように較正され得る。いくつかの実施形態では、ユーザは、表示されたカーソルアイコンの位置における変化の形態で、タッチスクリーンディスプレイから一定の視覚的フィードバックを受け取る。したがって、ユーザは、所望の結果を達成するためにユーザによって用いられている相対的な力および/または動きを調整し得る。いくつかの実施形態では、最初に電源投入時に、スマートフォンは、ユーザの指のサイズおよび押圧動作の特性を検出するために、ユーザとのいくらかのトレーニングを実行するように構成され得る。このようにして、スケーリング係数は、各ユーザの相対的入力特性に適応するように調整され得る。
【００５８】
スマートフォンは、ユーザの将来の使用のために各ユーザがカスタマイズしたスケーリング係数を(たとえば、ユーザプロファイル内に)記憶し得、特定のタッチパターンに関する詳細が収集されるにつれて、ユーザのスケーリング係数を時間の経過とともに進化させ得る。いくつかの実施形態では、製造業者は、特定のディスプレイのサイズと、平均の人のタッチ入力の相対的サイズおよび強度とに基づいて、予め設定された最大スケーリング係数および最小スケーリング係数(すなわち、スケーリング係数範囲)を指定し得る。これらの範囲は、最初に使用され得るが、いくつかの実施形態は、ユーザに基づいて時間とともにスケーリング係数の最終的なカスタマイズを行い、一般的なスケーリング係数を具体的に開発された値に効果的に置き換える。そのようなカスタマイズはまた、仮想マウスの移動の感度および/または速度に利用可能にされ得、圧力値の代わりに指数関数を適用することによって変更され得る(すなわち、pをpxに置き換え、ここで、xは、時間とともにユーザのトレーニングおよび/またはカスタマイズに基づいて構成可能であり得る)。いくつかの実施形態では、ユーザは、スケーリング係数k、圧力pに適用される指数関数、ならびに/または、GUI要素を選択および/もしくは選択解除するためのしきい値などのパラメータを、様々なユーザ入力メカニズムを介するなどして手動で調整し得る。
【００５９】
いくつかの実施形態では、カーソルアイコン430がGUIの所望の位置にくると、カーソルの位置におけるGUI要素に関して動作が実行され得る。いくつかの実施形態では、プロセッサは、仮想マウスの速度の低下またはしきい値を超えるユーザのタッチの圧力に基づいて、カーソルアイコン430がGUI上の所望の位置にあることを決定し得る。
【００６０】
いくつかの実施形態では、カーソルアイコン430が所望の位置にあるときに実行される動作は、アプリケーション(たとえば、ゲームアプリケーション)を起動させるアイコンの選択であり得る。別の例では、動作は、項目の選択(たとえば、テキストの選択、メニュー項目の選択など)を引き起こし得る。動作は、いくつかの実施形態では、カーソルアイコン430に関する追加のユーザ入力に応答して実行され得る。そのような追加のユーザ入力は、たとえば、カーソルアイコン430がGUI上の所望の位置にきた後、所望のしきい値時間内に受信される指による認識されたジェスチャ(たとえば、クリック、ダブルクリック、スワイプなど)を含み得る。別の例では、追加のユーザ入力は、ユーザの別の指から受け取ったジェスチャ(たとえば、クリック、ダブルクリック、スワイプなど)であり得る。
【００６１】
別の例では、動作を実行することをトリガする追加のユーザ入力は、ユーザの指によって加えられるタッチ力の増加(すなわち、圧力の増加)であり得る。たとえば、タッチスクリーンディスプレイ410上の異なるレベルの力は、しきい値を超える入力力を検出したことに応答してGUIを介して動作を実行することを含む、異なる目的のために認識され得る。仮想マウスを移動させる距離を示すために圧力が使用される実施形態では、仮想マウスの動きおよび動作を識別するために差別化要因(differentiator)が使用されるならば、タッチ力は、動作(たとえば、アプリケーションを起動するなど)の実行を促すために使用され得る。たとえば、タッチ圧力の短い休止は、差別化要因として使用され得る。別の例では、しきい値時間の間に1つ位置にカーソルアイコン430を維持することは、カーソルアイコン430の位置を計算するために使用される圧力から動作を実行するためのタッチ圧力を区別し得る。
【００６２】
いくつかの実施形態では、ユーザは、スマートフォンデバイス400上の設定を介して動作をトリガする1つまたは複数の追加のジェスチャを構成し得る。別の例では、動作は、(ユーザがタッチスクリーンディスプレイ410から親指を外すことによって示される)カーソルアイコン430の移動の終了を検出したことに応答して実行され得る。
【００６３】
様々な実施形態では、プロセッサは、ユーザがGUI動作を実行しようとしていることを示すタッチの終了によって引き起こされるタッチ圧力の急激な低下と、必要に応じて、カーソルアイコン430を動かすためにユーザがタッチ圧力を故意に変化させることによって引き起こされたタッチ圧力の漸進的な変化との間を区別し得る。
【００６４】
いくつかの実施形態では、スマートフォンのプロセッサは、アプリケーションまたは他の項目(たとえば、テキスト、メニュー項目)を起動させるためのアイコンなどの動作可能なGUI要素の近く(すなわち、しきい値距離内)にカーソルアイコン430が移動したとき、カーソルアイコン430は、動作可能なGUI要素に自動的に「描画」され得る。動作可能なGUI要素は、カーソルアイコン430が選択を示すためにその上にくると、プロセッサによって拡大および/または強調表示され得る。いくつかのさらなる実施形態では、すでに選択された動作可能なGUI要素(すなわち、カーソルアイコン430が上に位置する動作可能なGUI要素)は、タッチにおけるジッタを補償するために、カーソルアイコン430が所定の非ゼロ距離だけGUI要素から移動された後にのみ選択解除され得る。
【００６５】
いくつかの実施形態では、仮想マウスは、GUIを介して追加のユーザ入力を受信することに基づいて非アクティブ化され得る。たとえば、一実施形態では、ユーザは、GUI上の領域(たとえば、アクティブ化領域420)に指を移動させ、タッチスクリーンディスプレイ410から指を取り除くことによって非アクティブ化され得る。別の実施形態では、仮想マウスは、カーソルアイコン430が任意の動作可能なGUI要素からしきい値距離内にない領域内にある間、タッチスクリーンディスプレイ410からユーザが指を取り除くことに応答して非アクティブ化され得る。
【００６６】
いくつかの実施形態では、仮想マウスは、動作(たとえば、アプリケーションまたは項目の選択)を実行した後、自動的に非アクティブ化され得る。他の実施形態では、ユーザは、タッチスクリーンディスプレイ410上で特定の認識されたジェスチャを実行することによって、仮想マウスを非アクティブ化し得る。たとえば、プロセッサは、タッチスクリーンディスプレイ410上のダブルクリック、左スワイプ、右スワイプ、それらの組合せなどに応答して、仮想マウスを非アクティブ化するように構成され得る。いくつかの実施形態では、ユーザは、仮想マウスの非アクティブ化をトリガするために、1つまたは複数の特定のジェスチャを予め設定し得る。
【００６７】
図5は、いくつかの実施形態によるスマートフォン上の仮想マウスを実施するための方法500を示す。方法500の動作は、汎用プロセッサ(たとえば、152)などの、スマートフォンデバイス(たとえば、100、150)の1つまたは複数のプロセッサによって実施され得る。様々な実施形態では、方法500の動作は、メモリ(たとえば、154)と、タッチスクリーン(たとえば、115)と、1つまたは複数のプロセッサ(たとえば、110)とに結合され得る別個のコントローラ(図示せず)によって実施され得る。
【００６８】
ブロック510において、仮想マウスは、スマートフォンのプロセッサによってアクティブ化され得る。いくつかの実施形態では、仮想マウスは、継続したタッチ接触を伴った、タッチスクリーンディスプレイ上の仮想マウスアクティブ化領域内のタッチイベントの検出時に、プロセッサによってアクティブ化され得る。他の実施形態では、仮想マウスは、スマートフォンデバイスが片手での使用と一致した方法で手に保持されていることを検出すると、プロセッサによって自動的にアクティブ化され得る。仮想マウスのアクティブ化を示すために、カーソルまたはアイコンがプロセッサによって表示され得る。
【００６９】
ブロック520において、仮想マウスに関連するカーソルまたはアイコンは、プロセッサによって計算されるか、または他の方法で決定され得る。いくつかの実施形態では、カーソル/アイコンの位置は、式c+kpf(式3)または式c+kp(c-r)(式4)を評価することによってプロセッサによって決定され得、これらの両方は、カーソル/アイコンの位置に対するベクトル(たとえば、初期基準点からカーソルアイコンの現在の位置までのベクトル)をもたらす。
【００７０】
前述したように、式3および式4において、cは、タッチ領域の位置(たとえば、初期基準点から現在のタッチ領域までのベクトル)であり、rは、タッチスクリーンの最も近いコーナーの位置(たとえば、初期基準点からcに最も近いコーナーまでのベクトル)であり、fは、タッチ領域の向きベクトル(たとえば、タッチ領域の向きを示す単位ベクトル)であり、pは、タッチ圧力であり、kは、ユーザがタッチスクリーンディスプレイ410の容易に到達可能な領域内の親指440の動きでタッチスクリーンディスプレイ410の最も遠いコーナーにカーソルアイコン430を移動させ得るように選択されたスケーリング係数である。
【００７１】
したがって、カーソルアイコンの位置は、タッチ領域の向きと、1)タッチ領域の位置、および2)タッチ圧力のうちの少なくとも1つとに少なくとも部分的に基づいてプロセッサによって計算されるか、または他の方法で決定され得る。いくつかの実施形態では、カーソルまたはアイコンの計算された位置は、ディスプレイ上にカーソルまたはアイコンを表示するために使用される。ディスプレイ上のカーソルまたはアイコンの位置は、ブロック530において仮想マウスがプロセッサによって非アクティブ化されるまで連続的に計算され得る。仮想マウスは、カーソルアイコンが動作可能なGUI要素の上にある間にユーザがタッチを終了することによってアプリケーション起動などのGUI動作が実行された後、プロセッサによって自動的に非アクティブ化され得る。仮想マウスはまた、ユーザが仮想マウスの非アクティブ化を要求したことを検出すると、プロセッサによって非アクティブ化され得る。たとえば、プロセッサは、ユーザが仮想マウスの非アクティブ化を示す動作を実行した(たとえば、ユーザがタッチスクリーンディスプレイ上の仮想マウスアクティブ化領域に自分の指を戻した、かつ/またはタッチを終了した)ことを検出し得る。
【００７２】
図6Aおよび図6Bは、様々な実施形態による仮想マウスを提供するための方法600を示す。図1〜図6Bに関して、様々な実施形態において、方法600の動作は、汎用プロセッサ(たとえば、110、152)などのスマートフォン(たとえば、100、150)の1つまたは複数のプロセッサ(たとえば、110)によって実施され得る。様々な実施形態では、方法600の動作は、メモリ(たとえば、154)と、タッチスクリーン(たとえば、115)と、1つまたは複数のプロセッサ152とに結合され得る別個のコントローラ(図示せず)によって実施され得る。
【００７３】
ブロック602では、スマートフォンのプロセッサは、スマートフォン上のタッチセンサ入力(たとえば、タッチスクリーンI/Oコントローラ162を介して受信されたタッチセンサ158への入力)を監視し得る。決定ブロック604において、プロセッサは、仮想マウスをアクティブ化するトリガが検出されたかどうかを決定し得る。そのようなトリガは、たとえば、ディスプレイのGUI内の仮想マウスアイコンを選択する単一点タッチの入力であり得る。仮想マウスアクティブ化のトリガが検出されない限り(すなわち、決定ブロック604=「No」)、プロセッサは、ブロック602においてスマートフォン上のタッチセンサ入力を監視し続け得る。
【００７４】
仮想マウスをアクティブ化するトリガが検出されたことを決定すること(すなわち、決定ブロック604=「Yes」)に応答して、プロセッサは、ブロック606においてユーザの指に関連するタッチ領域を識別し得、タッチ領域は、タッチセンサ(たとえば、158)を介してタッチ感応表面上で検出された入力の位置であり得る。ブロック608において、プロセッサは、識別されたタッチ領域内のタッチデータを収集し得る。たとえば、タッチ領域のサイズおよび形状、(圧力感知デバイスを使用する場合)ユーザの指によって加えられている圧力などを含むデータが、タッチスクリーンシステム156によって感知/測定され得る。
【００７５】
ブロック610において、プロセッサは、タッチスクリーンから受信した情報に基づいてタッチ圧力パラメータおよび方向パラメータを決定し得る。上記で論じたように、いくつかの実施形態では、タッチ圧力は、スマートフォンが圧力感応タッチスクリーンを有して構成されている場合、実際の圧力として決定され得る。他の実施形態では、タッチ圧力は、タッチ領域の境界に適合された楕円関数の面積を計算することに基づく推定された圧力値であり得る。さらに、上記で論じたように、方向パラメータは、そのような楕円関数の長軸の向きに基づき得、または、タッチスクリーンの最も近いコーナーに対するタッチ領域の中心の位置に基づき得る。ブロック612において、プロセッサは、圧力パラメータおよび方向パラメータに基づいて仮想マウスの位置を計算し得る。
【００７６】
ブロック614において、プロセッサは、計算された位置を使用してタッチスクリーン上にカーソルアイコンを表示し得る。決定ブロック616において、プロセッサは、構成され得るいくつかの非アクティブ化トリガのいずれかなどによって、仮想マウスが非アクティブ化されたかどうかを決定し得る。
【００７７】
仮想マウスが非アクティブ化されたことを決定すること(すなわち、決定ブロック616=「Yes」)に応答して、プロセッサは、ブロック602に戻り得、ブロック602においてタッチスクリーン上のセンサ入力を監視し得る。仮想マウスが非アクティブ化されたことを決定したことに応答して、プロセッサはまた、ブロック614において表示されたアイコンの表示を終了し得る。
【００７８】
仮想マウスが非アクティブ化されていないことを決定すること(すなわち、決定ブロック616=「No」)に応答して、プロセッサは、決定ブロック618(図6B)において、タッチスクリーン上のカーソルアイコンの位置がGUI要素のしきい値距離内にある(すなわち、可能性のある選択のために十分に近い)かどうか決定し得る。カーソルアイコンがGUIのしきい値範囲内にないことを決定すること(すなわち、決定ブロック618=「No」)に応答して、プロセッサは、カーソルの位置を決定し、カーソルアイコンを表示するために、ブロック608〜614(図6A)における動作を繰り返し得る。
【００７９】
カーソルアイコンがGUI要素のしきい値距離内にあることを決定すること(すなわち、決定ブロック618=「Yes」)に応答して、プロセッサは、ブロック619において、投影されたカーソルアイコンをGUI要素に描画し得る。決定ブロック620において、プロセッサは、動作入力(たとえば、クリック、タッチ開放、予め定義されたジェスチャなど)が検出されたかどうかを決定し得、動作入力は、そのGUI要素に関連する動作を開始するために使用され得る。動作入力が検出されたことを決定すること(すなわち、決定ブロック620=「Yes」)に応答して、プロセッサは、たとえば、スマートフォンにおいてアプリケーションを開く、別のモードに入るなどの、ブロック622におけるGUI選択に対応するアクションを実行し得る。
【００８０】
動作入力が検出されないことを決定すること(すなわち、決定ブロック620=「No」)に応答して、プロセッサは、決定ブロック624において、カーソルアイコンが選択されたGUI要素から所定の距離を超えて移動したかどうかを決定し得る。カーソルアイコンが選択されたGUI要素から所定の距離を超えて移動されていない限り(すなわち、決定ブロック624=「No」)、プロセッサは、決定ブロック620において、動作入力が検出されたかどうかを決定し続け得る。
【００８１】
カーソルアイコンが選択されたGUI要素から所定の距離を超えて移動したことを決定すること(すなわち、決定ブロック624=「Yes」)に応答して、プロセッサは、ブロック626においてGUI要素を選択解除し得、カーソルアイコンがGUI要素のしきい値距離内にあるかどうかを決定するために決定ブロック618に戻り得る。
【００８２】
本明細書で説明する開示の実施形態の利用は、ユーザが片手でスマートフォンデバイスを操作しながら容易に到達可能なタッチスクリーンディスプレイの領域内のユーザの指のタッチおよび移動をもたらすことによって、直接到達することが困難なタッチスクリーンディスプレイの領域上に表示されたGUIの要素とユーザが対話することを可能にする。様々な実施形態が、スマートフォンデバイスに関して説明されているが、スマートフォンへの言及は、単に様々な実施形態の説明を容易にするためのものであり、本開示の範囲または特許請求の範囲を限定するものではない。
【００８３】
仮想マウスの様々な実施態様については、先に詳細に説明した。仮想マウスアプリケーションまたはシステムは、先に説明したように、ソフトウェア、ファームウェア、ハードウェア、それらの組合せなどとして実施され得ることが理解されるべきである。一実施形態では、先に説明した機能は、以前に所望された機能(たとえば、図5および図6の方法動作)を達成するために、スマートフォンデバイス100の1つまたは複数のプロセッサ(たとえば、プロセッサ110)によって実施され得る。
【００８４】
本明細書の教示は、様々な装置(たとえば、デバイス)に組み込まれ得る(たとえば、その中に実施されるか、またはそれによって実行され得る)。たとえば、本明細書で教示される1つまたは複数の実施形態は、一般的なデバイス、デスクトップコンピュータ、モバイルコンピュータ、モバイルデバイス、電話(たとえば、セルラー電話)、携帯情報端末、タブレット、ラップトップコンピュータ、タブレット、娯楽デバイス(たとえば、音楽デバイスまたはビデオデバイス)、ハンドセット(たとえば、ヘッドホン、イヤピースなど)、医療デバイス(たとえば、バイオメトリックセンサ、心拍数モニタ、歩数計、心電図検査「EKG」デバイスなど)、ユーザI/Oデバイス、コンピュータ、サーバ、販売時点デバイス、娯楽デバイス、セットトップボックス、ウェアラブルデバイス(たとえば、腕時計、ヘッドマウントディスプレイ、仮想現実眼鏡など)、自動車内の電子デバイス、または任意の他の適切なデバイスに組み込まれ得る。
【００８５】
いくつかの実施形態では、スマートフォンデバイスは、通信システムのためのアクセスデバイス(たとえば、Wi-Fiアクセスポイント)を含み得る。そのようなアクセスデバイスは、たとえば、ワイヤード通信リンクまたはワイヤレス通信リンクを介してトランシーバを介して別のネットワーク(たとえば、インターネットなどのワイドエリアネットワークまたはセルラーネットワーク)への接続性を提供し得る。したがって、アクセスデバイスは、別のデバイス(たとえば、Wi-Fi局)が他のネットワークまたは何らかの他の機能にアクセスすることを可能にすることがある。加えて、デバイスの1つまたは両方はポータブルであってもよく、または場合によっては、相対的に非ポータブルであってもよいことを理解されたい。
【００８６】
様々な実施形態を実施するデバイスがモバイルデバイスまたはスマートフォンデバイスであるとき、そのようなデバイスは、任意の適切なワイヤレス通信技術に基づく、または他の方法でそれをサポートするワイヤレスネットワークを介して1つまたは複数のワイヤレス通信リンクを介して通信し得ることが理解されるべきである。たとえば、いくつかの実施形態では、スマートフォンデバイスおよび他のデバイスは、ワイヤレスネットワークを含むネットワークに関連付けられ得る。いくつかの実施形態では、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば、超広帯域ネットワーク)を含み得る。いくつかの実施形態では、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを含み得る。スマートフォンデバイスは、たとえば、3G、ロングタームエボリューション(LTE)、LTE Advanced、4G、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、直交周波数分割多重化(OFDM)、直交周波数分割多元接続(OFDMA)、WiMAX、およびWi-Fiなどの、様々なワイヤレス通信技術、プロトコル、または規格のうちの1つまたは複数をサポートするか、または他の方法で使用し得る。同様に、スマートフォンデバイスは、様々な対応する変調方式または多重化方式のうちの1つまたは複数をサポートするか、または他の方法で使用し得る。スマートフォンデバイスは、したがって、上記のまたは他のワイヤレス通信技術を使用して1つまたは複数のワイヤレス通信リンクを確立し、そのワイヤレス通信リンクを介して通信するために、適切なコンポーネント(たとえば、無線インターフェース)を含み得る。たとえば、デバイスは、ワイヤレス媒体を介する通信を容易にする様々なコンポーネント(たとえば、信号発生器および信号プロセッサ)を含み得る関連する送信機コンポーネントおよび受信機コンポーネント(送信機および受信機)を有するワイヤレストランシーバを含み得る。周知のように、スマートフォンデバイスは、したがって、他のモバイルデバイス、セルラー電話、他のワイヤードコンピュータおよびワイヤレスコンピュータ、インターネットウェブサイトなどとワイヤレス通信し得る。
【００８７】
情報および信号は、様々な異なる技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、記号、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表すことができる。
【００８８】
本明細書で開示する実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、エンジン、回路、およびアルゴリズムは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実施され得る。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な例示的なコンポーネント、ブロック、モジュール、エンジン、回路、および動作を、それらの機能の点において一般的に上記で説明してきた。そのような機能がハードウェアまたはソフトウェアのどちらとして実施されるのかは、システム全体に課される特定の用途および設計制約に依存する。当業者は、説明した機能を各用途に関して様々な方法において実施し得るが、そのような実施の決定は、特許請求の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【００８９】
本明細書で開示する実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェアコンポーネント、または、本明細書で説明される機能を実行するように設計されたそれらの任意の組合せで実施または実行され得る。汎用プロセッサはマイクロプロセッサであってもよいが、代替として、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実施され得る。
【００９０】
本明細書に開示された実施形態に関連して説明した方法またはアルゴリズムのステップは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて具体化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読出し専用メモリ(CD-ROM)、または当分野で知られている任意の他の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出すことができ、かつ、記憶媒体に情報を書き込むことができるようにプロセッサに結合される代替として、記憶媒体は、プロセッサに一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、ユーザ端末内に存在し得る。代替では、プロセッサおよび記憶媒体は、ユーザ端末内に個別のコンポーネントとして存在し得る。
【００９１】
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実施され得る。コンピュータプログラム製品としてソフトウェアにおいて実施される場合、機能またはモジュールは、非一時的コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶され、または伝送されてよい。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含むことが可能である。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。例として、限定はしないが、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続は、適切にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線(DSL)、または、赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、より対線、DSL、または、赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はレーザーを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体の範囲内に含まれるべきである。
【００９２】
開示した実施形態の前述の説明は、当業者が特許請求の範囲を作成または使用することを可能にするために提供される。これらの実施形態に対する様々な変更は、当業者には容易に明らかであり、本明細書で定義される一般的な原理は、特許請求の範囲から逸脱することなく他の実施形態に適用され得る。したがって、本開示は、本明細書に示す実施形態に限定されることを意図するものではなく、本明細書で開示する原理および新規な特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００９３】
100  スマートフォンデバイス
102  プロセッサ
105  バス
110  プロセッサ
115  タッチスクリーン
116  スピーカ
120  インターフェース、出力デバイス
122  電源
125  非一時的記憶デバイス
130  通信サブシステム
135  作業メモリ
140  オペレーティングシステム
145  アプリケーションプログラム
150  スマートフォン
152  汎用プロセッサ
154  メモリ
156  タッチスクリーンシステム
158  タッチセンサ
160  ディスプレイデバイス
162  タッチスクリーン入力/出力(I/O)コントローラ
164  タッチ識別モジュール
166  アプリケーション
168  仮想マウスマネージャ
170  カーソル計算モジュール
172  システムオンチップデバイス
200  スマートフォンデバイス
220  タッチスクリーンディスプレイ
230  手
240  親指
250  第1の領域
260  第2の領域
300  楕円関数
310  近似タッチ領域
312  角度
320  半長軸
330  半短軸
340  長軸
350  スマートフォンデバイス
352  タッチスクリーンディスプレイ
354  指
356  ベクトル
358  ベクトル
360  ベクトル
362  ベクトル
363  仮想マウス位置
364  ベクトル
366  ベクトル
368  ベクトル
370  ベクトル
372  仮想マウス位置
400  スマートフォンデバイス
410  タッチスクリーンディスプレイ
420  領域、仮想マウスアクティブ化領域
430  カーソルアイコン
440  指
【図１Ａ】
2017534993.tif 000004
【図１Ｂ】
2017534993.tif 000005
【図２】
2017534993.tif 000006
【図３Ａ】
2017534993.tif 000007
【図３Ｂ】
2017534993.tif 000008
【図３Ｃ】
2017534993.tif 000009
【図４Ａ】
2017534993.tif 000010
【図４Ｂ】
2017534993.tif 000011
【図４Ｃ】
2017534993.tif 000012
【図５】
2017534993.tif 000013
【図６Ａ】
2017534993.tif 000014
【図６Ｂ】
2017534993.tif 000015
【手続補正書】
【提出日】平成29年5月12日(2017.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイスのタッチスクリーン上に仮想マウスを実施するための、プロセッサにおいて実施される方法であって、
ユーザによる前記コンピューティングデバイスの片手での使用中に前記仮想マウスをアクティブ化するステップと、
ユーザタッチイベントに関連するタッチ領域を識別するステップと、
前記識別されたタッチ領域からタッチデータを収集するステップと、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定するステップであって、前記圧力パラメータを決定するステップが、前記タッチ領域の相対的サイズに少なくとも部分的に基づく、ステップと、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいて前記タッチスクリーン上の位置を計算するステップとによって、
前記タッチスクリーン上の前記仮想マウスの位置を決定するステップと
を備える方法。
【請求項２】
前記仮想マウスの前記決定された位置に前記タッチスクリーン上の投影されたカーソルアイコンを表示するステップをさらに備え、前記投影されたカーソルアイコンが、片手での使用中にユーザの指の届く範囲を超えて延びるように構成される、請求項1に記載の方法。
【請求項３】
前記仮想マウスをアクティブ化するステップが、前記コンピューティングデバイスのタッチスクリーンディスプレイの所定の仮想マウスアクティブ化領域内のタッチイベントを検出するステップを備える、請求項1に記載の方法。
【請求項４】
前記仮想マウスをアクティブ化するステップが、前記コンピューティングデバイスが前記ユーザによる片手での使用と一致する方法で保持されていることを検出すると、アクティブ化を自動的に開始するステップを備える、請求項1に記載の方法。
【請求項５】
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが前記コンピューティングデバイス上で検出されたかどうかを決定するステップと、
前記非アクティブ化イベントが検出されたことを決定したことに応答して前記仮想マウスを非アクティブ化するステップと
をさらに備える、請求項3に記載の方法。
【請求項６】
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが前記コンピューティングデバイス上で検出されたかどうかを決定するステップが、タッチイベントが前記所定の仮想マウスアクティブ化領域内で検出されたかどうかを決定するステップを備える、請求項5に記載の方法。
【請求項７】
前記ユーザタッチイベントに関連する前記方向を決定するステップが、前記タッチ領域に適合された楕円の長軸の向きに少なくとも部分的に基づく、請求項1に記載の方法。
【請求項８】
前記タッチスクリーン上の前記位置を計算するステップが、前記仮想マウスの前記位置を表すベクトルを計算するステップを備え、前記計算されたベクトルの大きさが、前記決定された圧力パラメータに少なくとも部分的に基づく、請求項7に記載の方法。
【請求項９】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kpf
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表す、請求項8に記載の方法。
【請求項１０】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kp(c-r)
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
rが前記初期基準点から前記楕円の前記中心点に最も近い前記コンピューティングデバイスのタッチスクリーンディスプレイのコーナーまでのベクトルを表し
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表す、請求項8に記載の方法。
【請求項１１】
前記仮想マウスの前記決定された位置が前記タッチスクリーン上に表示されたグラフィカルユーザインターフェース(GUI)要素のしきい値距離内に位置している間に選択入力が受信されたかどうかを決定するステップと、
前記仮想マウスの前記決定された位置が前記タッチスクリーン上に表示されたGUI要素のしきい値距離内に位置している間に前記選択入力が受信されたと決定したことに応答して前記GUI要素に関連する動作を実行するステップと
をさらに備える、請求項1に記載の方法。
【請求項１２】
前記GUI要素に関連する前記動作を実行した後、前記仮想マウスを自動的に非アクティブ化するステップをさらに備える、請求項11に記載の方法。
【請求項１３】
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示された動作可能なグラフィカルユーザインターフェース(GUI)要素からしきい値距離内に位置するかどうかを検出するステップと、
前記カーソルアイコンが前記しきい値距離内に位置することを検出したことに応答して、前記投影されたカーソルアイコンを前記動作可能なGUI要素に描画するステップと
をさらに備える、請求項2に記載の方法。
【請求項１４】
前記仮想マウスの前記決定された位置が現在選択されている動作可能なグラフィカルユーザインターフェース(GUI)要素から所定の非ゼロ距離よりも遠くに移動したかどうかを検出するステップと、
前記仮想マウスの前記決定された位置が前記現在選択されている動作可能なGUI要素から前記所定の非ゼロ距離よりも遠くに移動したことを検出したことに応答して、前記動作可能なGUI要素を選択解除するステップと
をさらに備える、請求項1に記載の方法。
【請求項１５】
タッチスクリーンと、
メモリと、
前記タッチスクリーンおよび前記メモリに結合されたプロセッサとを備えるコンピューティングデバイスであって、前記プロセッサが、
ユーザによる前記コンピューティングデバイスの片手での使用中に仮想マウスをアクティブ化する動作と、
ユーザタッチイベントに関連するタッチ領域を識別する動作と、
前記識別されたタッチ領域からタッチデータを収集する動作と、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定する動作であって、前記圧力パラメータを決定する動作が、前記タッチ領域の相対的サイズに少なくとも部分的に基づく、動作と、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいて前記タッチスクリーン上の位置を計算する動作とによって、
前記タッチスクリーン上の前記仮想マウスの位置を決定する動作と
を備える動作を実行するようにプロセッサ実行可能命令を用いて構成されるコンピューティングデバイス。
【請求項１６】
前記プロセッサが、
前記仮想マウスの前記決定された位置に前記タッチスクリーン上の投影されたカーソルアイコンを表示する動作をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成され、前記投影されたカーソルアイコンが、片手での使用中にユーザの指の届く範囲を超えて延びるように構成される、請求項15に記載のコンピューティングデバイス。
【請求項１７】
前記仮想マウスをアクティブ化する動作が、前記コンピューティングデバイスのタッチスクリーンディスプレイの所定の仮想マウスアクティブ化領域内のタッチイベントを検出する動作を備えるように、前記プロセッサが動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項１８】
前記仮想マウスをアクティブ化する動作が、前記コンピューティングデバイスが前記ユーザによる片手での使用と一致する方法で保持されていることを検出すると、アクティブ化を自動的に開始する動作を備えるように、前記プロセッサが動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項１９】
前記プロセッサが、
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが前記コンピューティングデバイス上で検出されたかどうかを決定する動作と、
前記非アクティブ化イベントが検出されたことを決定したことに応答して前記仮想マウスを非アクティブ化する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項17に記載のコンピューティングデバイス。
【請求項２０】
前記仮想マウスがアクティブ化されている間、非アクティブ化イベントが検出されたかどうかを決定する動作が、タッチイベントが前記所定の仮想マウスアクティブ化領域内で検出されたかどうかを決定する動作を備えるように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項19に記載のコンピューティングデバイス。
【請求項２１】
前記ユーザタッチイベントに関連する前記方向を決定する動作が、前記タッチ領域に適合された楕円の長軸の向きに少なくとも部分的に基づくように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項２２】
前記タッチスクリーン上の前記位置を計算する動作が、前記仮想マウスの前記位置を表すベクトルを計算する動作を備え、前記計算されたベクトルの大きさが、前記決定された圧力パラメータに少なくとも部分的に基づくように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項21に記載のコンピューティングデバイス。
【請求項２３】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kpf
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表すように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項22に記載のコンピューティングデバイス。
【請求項２４】
前記仮想マウスの前記位置を表す前記ベクトルを計算するステップが、式、
c+kp(c-r)
の結果として生じるベクトルを計算するステップを備え、
cが初期基準点から前記タッチ領域に適合された前記楕円の中心点までのベクトルを表し、
rが前記初期基準点から前記楕円の前記中心点に最も近い前記コンピューティングデバイスのタッチスクリーンディスプレイのコーナーまでのベクトルを表し、
kがスケーリング係数を表し、
pが前記決定された圧力パラメータを表し、
fが前記タッチ領域に適合された前記楕円の前記長軸の前記向きに対応するベクトルを表すように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項22に記載のコンピューティングデバイス。
【請求項２５】
前記プロセッサが、
前記仮想マウスの前記決定された位置が前記タッチスクリーン上に表示されたグラフィカルユーザインターフェース(GUI)要素のしきい値距離内に位置している間に選択入力が受信されたかどうかを決定する動作と、
前記仮想マウスの前記決定された位置が前記タッチスクリーン上に表示されたGUI要素のしきい値距離内に位置している間に前記選択入力が受信されたと決定したことに応答して前記GUI要素に関連する動作を実行する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項２６】
前記プロセッサが、前記GUI要素に関連する前記動作を実行した後、前記仮想マウスを自動的に非アクティブ化する動作をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項25に記載のコンピューティングデバイス。
【請求項２７】
前記プロセッサが、
前記投影されたカーソルアイコンが前記タッチスクリーン上に表示された動作可能なグラフィカルユーザインターフェース(GUI)要素からしきい値距離ないに位置するかどうかを検出する動作と、
前記投影されたカーソルアイコンが前記しきい値距離内に位置することを検出したことに応答して、前記投影されたカーソルアイコンを前記動作可能なGUI要素に描画する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項16に記載のコンピューティングデバイス。
【請求項２８】
前記プロセッサが、
前記仮想マウスの前記決定された位置が現在選択されている動作可能なグラフィカルユーザインターフェース(GUI)要素から所定の非ゼロ距離よりも遠くに移動したかどうかを検出する動作と、
前記仮想マウスの前記決定された位置が前記現在選択されている動作可能なGUI要素から前記所定の非ゼロ距離よりも遠くに移動したことを検出したことに応答して、前記動作可能なGUI要素を選択解除する動作と
をさらに備える動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項15に記載のコンピューティングデバイス。
【請求項２９】
コンピューティングデバイスであって、
タッチスクリーンと、
ユーザによる前記コンピューティングデバイスの片手での使用中に仮想マウスをアクティブ化するための手段と、
ユーザタッチイベントに関連するタッチ領域を識別するための手段と、
前記識別されたタッチ領域からタッチデータを収集するための手段と、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定するための手段であって、前記圧力パラメータを決定するための手段が、前記タッチ領域の相対的サイズに少なくとも部分的に基づく、手段と、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいて前記タッチスクリーン上の位置を計算するための手段と
を備える、前記タッチスクリーン上の前記仮想マウスの位置を決定するための手段と
を備えるコンピューティングデバイス。
【請求項３０】
ユーザによるコンピューティングデバイスの片手での使用中に仮想マウスをアクティブ化する動作と、
ユーザタッチイベントに関連するタッチ領域を識別する動作と、
前記識別されたタッチ領域からタッチデータを収集する動作と、
前記ユーザタッチイベントに関連する圧力パラメータおよび方向パラメータを決定する動作であって、前記圧力パラメータを決定する動作が、前記タッチ領域の相対的サイズに少なくとも部分的に基づく、動作と、
前記ユーザタッチイベントに関連する前記圧力パラメータおよび前記方向パラメータに基づいてタッチスクリーン上の位置を計算する動作とによって、
前記タッチスクリーン上の前記仮想マウスの位置を決定する動作と
を備える動作を前記コンピューティングデバイスのプロセッサに実行させるように構成されたプロセッサ実行可能命令が記憶された非一時的プロセッサ可読記憶媒体。
【国際調査報告】
2017534993.tif 000016
2017534993.tif 000017
2017534993.tif 000018