JP2005310164A - インテリジェントポインタ移動を用いてターゲットを獲得するシステムおよび方法 - Google Patents

インテリジェントポインタ移動を用いてターゲットを獲得するシステムおよび方法 Download PDF

Info

Publication number
JP2005310164A
JP2005310164A JP2005123816A JP2005123816A JP2005310164A JP 2005310164 A JP2005310164 A JP 2005310164A JP 2005123816 A JP2005123816 A JP 2005123816A JP 2005123816 A JP2005123816 A JP 2005123816A JP 2005310164 A JP2005310164 A JP 2005310164A
Authority
JP
Japan
Prior art keywords
pointer
movement
target
guide
adjustment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005123816A
Other languages
English (en)
Inventor
Eversole Adam
エバーソル アダム
M Baudisch Patrick
エム.ボウディシュ パトリック
S Hellyar Paul
エス.ヘリヤー ポール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005310164A publication Critical patent/JP2005310164A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F7/00Ventilation
    • F24F7/04Ventilation with ducting systems, e.g. by double walls; with natural circulation
    • F24F7/06Ventilation with ducting systems, e.g. by double walls; with natural circulation with forced air circulation, e.g. by fan positioning of a ventilator in or against a conduit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】 インテリジェントポインタ移動を用いてターゲットを獲得するシステムおよび方法を提供すること。
【解決手段】 本発明は、一般に、ユーザがターゲット上にポインタを位置決めするのを支援することを対象とする。本発明の実施形態は、ポインタをターゲットの方へ導くシステム、方法、およびコンピュータ可読媒体を提供する。ポインタがターゲット上に位置付けられた後、ポインタ移動は、ユーザがポインタをそのターゲット上に容易に配置し続けることができるように引き続き調整される。
【選択図】 図1

Description

本発明は、一般に、改善されたグラフィカルユーザインターフェイスに関する。より詳細には、本発明は、グラフィカルユーザインターフェイス中のターゲット上にポインタを配置する改善されたシステムおよび方法に関する。
多数のコンピュータ装置(パーソナルコンピュータ、携帯情報端末(「PDA」)、セルラ電話など)が、グラフィカルユーザインターフェイス(以下「GUI」という)を用いてユーザと対話する。GUIは、コンピュータディスプレイ上でグラフィックスを使用してコンピュータユーザとやりとりすることを特徴とする入出力(I/O)システムである。ユーザは、しばしば、マウスやトラックボールといった入力装置を用いてコンピュータディスプレイ上のポインタを操作し、再配置する。ポインタがディスプレイ上の指定された位置にある間にユーザがこの入力装置をアクティブ化または「クリック」すると、コンピュータ装置に情報が入力される。したがって、ユーザは、コンピュータ装置に入力を提供するためにコマンドを覚えたり、キーボード入力の知識を持ったりする必要がない。
GUIは、一般に、コンピュータディスプレイ上の画素からなる2次元画像としてグラフィカル表示要素(以下「GUIオブジェクト」という)を表示する。ポインタは、他のすべてのGUIオブジェクトに重ね合わせて表示されるGUIオブジェクトである。ポインタ上の1つの座標が「ホットスポット」であり、ポインタ選択イベントが発生し得る特定の場所(すなわち座標位置)を識別するものである。しかしながら、ポインタ選択イベントが発生するためには、そのポインタの「ホットスポット」はターゲット上に位置していなければならない。ある場合には、GUIオブジェクトによって占められる座標位置がターゲットである。例えば、GUIオブジェクトがコンピュータプログラムの実行を開始するアイコンであるときには、そのアイコンによって占められる座標位置がターゲットである。他の場合には、GUIオブジェクトは1つまたは複数のより小さいターゲットからなる。例えば、サイズ変更ハンドルは、ユーザが、そのサイズ変更ハンドル上でポインタ選択イベントを生じさせることによってGUIオブジェクトのサイズを変更できるようにするターゲットである。
ポインタの「ホットスポット」を、サイズ変更ハンドルなどの所望のターゲット上に位置決めすることは、しばしば、達成するのが難しく、フラストレーションや生産性の低下をまねくことがある。ある場合には、視力や身体的機能が弱く、あるいは訓練を欠いたユーザは、ポインタを位置決めするのに苦労する。他の場合には、ポインタ位置決めの難しさがコンピュータ装置に起因し得る。例えば、コンピュータ装置は、マテリアルの高密度表示を提供し、ターゲットを比較的小さく表示するために、正確なポインタ位置決めを困難にすることがある。
ポインタのホットスポットを特定のターゲット上に配置することができないと、所望の機能が容易に実行され得ないために、問題を生じる。代わりに、ユーザは、所望の機能を実行するために、ポインタを繰り返し再調整しなければならなくなる。ゆえに、ユーザがターゲットを獲得するのを支援する獲得援助機能が開発されている。例えば、ある獲得援助機能は、ポインタが、ターゲットから所定の距離未満に位置するときにそのターゲットに引き付けられるようにターゲットを「磁化」する。この手法の欠点は、磁化されたときにターゲットのサイズが実質的に拡大され、そのためにそのターゲットから所定の距離未満に位置する他のGUIオブジェクトを獲得しにくいことである。別の獲得援助機能は、ターゲット上でのポインタの移動がユーザから受け取った入力に比例しないようにターゲットを「粘着化」する。言い換えると、ポインタ移動が、そのターゲット上で、そのポインタの移動に影響を及ぼすのに比例的により大きい入力量が必要とされるように調整される。この手法は、ユーザがポインタをターゲット上に保持するのを助けるが、ターゲットの獲得はやはり困難になり得る。
通常、GUIは複数のターゲットを表示し、ユーザは常に獲得援助機能を持つターゲットを獲得しようとするとは限らない。この例では、獲得援助機能は、ポインタ移動をユーザの意図するターゲットからそれた方向にゆがめるという副作用を生じる。最も簡単な形では、獲得援助機能は、ユーザから受け取った入力にかかわらず、ポインタをターゲットに自動的に移動し得るはずである。この種の獲得援助機能を伴うターゲットはポインタで獲得しやすいはずであるが、この種の獲得援助機能の副作用は極めて大きい。というのは、ユーザがコンピュータディスプレイ上の他のどんなターゲットも獲得することができないからである。
求められているのは、副作用を最小限に抑えて、ユーザのターゲット獲得を支援するシステムおよび方法である。望ましくは、このシステムおよび方法は、使用しやすく、ユーザの側での知識や訓練を必要としない。本発明は、これらのニーズおよび現在存在するその他の欠点に対処するものである。
本発明は、一般に、ユーザがターゲット上にポインタを位置決めするのを支援することを対象とする。より詳細には、本発明の実施形態は、ポインタをターゲットの方へ導くシステム、方法、およびコンピュータ可読媒体を提供する。ポインタがターゲット上に位置付けられた後、ポインタ移動は、ユーザがポインタをそのターゲット上に容易に配置し続けることができるように引き続き調整される。本発明の一実施形態は、入力がポインタをターゲットまたはガイド領域(以下まとめて「調整ゾーン」という)と交差させるときにポインタ移動を調整する方法である。この方法は、投影されるポインタの移動が調整ゾーンと交差するかどうか判定する一連のイベント駆動ルーチンによって実施される。投影される移動が調整ゾーンと交差しない場合、すでに実現されたポインタ位置決めソフトウェアが、そのポインタの座標位置を算出する。それに対して、投影される移動が調整ゾーンと交差する場合、本発明の諸態様が、そのポインタの調整された座標位置を算出する。ポインタの調整された座標位置を算出する計算は、ポインタのターゲット上での位置決めが容易になるようにポインタ移動を調整する。
本発明の別の態様によれば、ガイド領域などの調整ゾーンでポインタ移動が調整される量は、ポインタが位置するターゲットからの距離に依存する。イベント駆動ルーチンは、ガイド領域におけるポインタの位置を求める。ポインタがターゲットにより近く位置するほど、ポインタ移動がターゲットの方へより多く調整される。本発明のこの態様は、ポインタ移動の調整をポインタのターゲットからの位置に依存させるものであり、ガイド領域によって引き起こされる副作用を最小限にする。
本発明の他の態様によれば、通常は重なり合うはずのガイド領域が、重なり合わないように再定義される。GUIは、通常、複数のターゲットを表示するので、互いに近接するターゲットが、重なり合う関連ガイド領域を持つ可能性が存在する。重なり合うガイド領域は望ましくないポインタ移動調整を引き起こすため、本発明の諸態様は、ガイド領域のサイズおよび位置を、それらが重なり合わないように再定義する。
本発明の一実施形態では、入力がポインタを1つまたは複数の調整ゾーンと交差させるときにポインタ移動を調整するコンピュータ装置について説明する。このコンピュータ装置は、入力装置、コンピュータディスプレイ、移動調整モジュール、および1つまたは複数のアプリケーションプログラムを含む様々な構成要素とやりとりするオペレーティングシステムを含む。移動調整モジュールは、ポインタが調整ゾーンと交差するときにポインタの座標位置を調整するように構成される。
別の実施形態では、コンピュータ装置を本明細書で説明する方法に従って動作させる内容(すなわちプログラム)を備えるコンピュータ可読媒体が提供される。
本発明の前述の諸態様およびそれに付随する利点の多くは、添付の図面を併せて参照すれば、以下の詳細な説明を参照することによってよりよく理解するよりも、より容易に理解されるであろう。
本発明の実施形態は、入力装置がポインタを調整ゾーンと交差させるときにポインタ移動を調整するシステム、方法、およびコンピュータ可読媒体を提供する。当業者などに知られているように、ポインタは、コンピュータ装置に情報を入力するのに使用される画像的表現であり、通常、矢印で表される。しかしながら、ポインタは、コンピュータディスプレイ上で「ホットスポット」を識別することのできる任意の画像的表現で表すことができる。本発明によれば、ポインタ移動は、ユーザがポインタをターゲット上に配置するのを支援するように調整される。ポインタがターゲット上に位置付けられた後、ポインタ移動は、ポインタの位置が維持され得るように引き続き調整される。
以下の説明では、まず、本発明が実施され得るシステムの概要を提供する。次いで、添付の図に示す、入力がポインタを1つまたは複数の調整ゾーンと交差させたときにポインタ移動を調整する方法について説明する。本明細書で説明する各例では、網羅的であることも、本発明を開示の正確な形に限定することも意図されていない。同様に、本明細書で説明する任意のステップは、同じ結果を達成するために、他のステップまたはいくつかのステップの組み合わせと交換可能とすることができる。
図1に、本発明の実施形態が実施され得るコンピュータ装置100の例示的概要を示す。コンピュータ装置100は、コンピュータディスプレイ102、オペレーティングシステム104、移動調整モジュール106、アプリケーション108、および入力装置110を含む。コンピュータ装置100は、それだけに限らないが、パーソナルコンピュータ装置、サーバベースのコンピュータ装置、携帯情報端末、セルラ電話機、何らかの種類のメモリを備える他の電子機器などを含む様々な機器のいずれか1つとすることができる。それらは本発明の理解にとって重要ではないので、分かりやすくするために、図1には、メモリ、キーボード、中央処理装置などといった多くのコンピュータ装置の典型的な構成要素の一部を示していない。
オペレーティングシステム104は、Microsoft(登録商標)オペレーティングシステム、UNIX(登録商標)オペレーティングシステム、Linux(登録商標)オペレーティングシステムといった汎用オペレーティングシステムとすることができる。当業者などに知られているように、オペレーティングシステム104は、コンピュータ装置100の全般的動作を制御し、アプリケーションの実行と共に、ハードウェアおよび基本的システム動作の管理を行う。より詳細には、オペレーティングシステム104は、アプリケーション108などのコンピュータプログラムがハードウェアリソースを確実に使用できるようにする。図1に示すように、オペレーティングシステム104はコンピュータディスプレイ102とやりとりし、これにはモニタ(例えばCRTやLCD画面)、テレビなど、典型的な表示装置が含まれ得る。コンピュータディスプレイ102は、ポインタなどのGUIオブジェクトを表示するのに適する。
コンピュータ装置100は、GUIオブジェクトをコンピュータディスプレイ102上に表示させる、アプリケーション108などのコンピュータプログラムを実行するように構成される。アプリケーション108は、それだけに限らないが、エディタ、ワードプロセッサ、スプレッドシート、ブラウザ、コンピュータ支援設計などを含む、GUIオブジェクトを表示させる任意のコンピュータプログラムとすることができる。
入力装置110は、ユーザおよびオペレーティングシステム104と対話して、実行すべきイベント駆動ルーチンを指定する。当業者などに知られているように、入力装置110は、マウス、トラックボール、タッチパッドなどを含む、コンピュータディスプレイ102上でポインタを制御することのできる任意の装置とし得る。コンピュータ装置によっては、入力装置110は、そのコンピュータ装置100と同じ筐体内に含まれ得る。そのような構成は、コンピュータ装置がノート型コンピュータである場合によく見られる。ユーザは、ポインタを操作してそれを再配置し、コンピュータディスプレイ102上の指定された位置でポインタをアクティブ化するように入力装置110を操作することができる。オペレーティングシステム104は、ポインタ移動などのポインタイベントを監視し、アプリケーション108などのコンピュータプログラムがこれらのイベントに応答してアクションを実行するための機構を提供する。
以下の説明を読めばよりよく理解されるように、本発明の実施形態は、移動調整モジュール106にある一連のイベント駆動ルーチンによって実施される。図1に示すように、移動調整モジュール106は、オペレーティングシステム104と相互接続され、これとやりとりすることができる。以下でより詳細に説明するように、オペレーティングシステム104は、入力装置110がポインタ移動を発生させているときに移動調整モジュール106に通知する。投影されるポインタ移動が調整ゾーンと交差する場合、本発明の諸態様は、そのポインタの座標位置を算出する。この計算は、ターゲットがポインタで獲得しやすくなるようにポインタ移動を調整する。オペレーティングシステム104は、移動調整モジュール106から調整された座標位置を受け取り、コンピュータディスプレイ102に、ポインタを調整された座標に表示させる。
本発明に従って作成されたソフトウェアが、コンピュータ装置、例えば図1に示す種類のものなどで実施されると、そのコンピュータ装置は、ユーザがターゲットを容易に獲得できる手段を提供する。ユーザがターゲットを容易に獲得できるようにすれば、GUIが使いやすくなり、コンピュータ体験が改善される。
例として、コンピュータディスプレイ200の代表部分を図2に示す。当業者に知られているように、コンピュータディスプレイは、画像を表すのに使用される基本単位である画素からなる。画素は、非常に小さく、多数からなるため、それらが表示されると、単一の滑らかな画像に融合するように見える。コンピュータディスプレイ上に表わされる画素数を、画素解像度という。通常、画素解像度は、2つの数の対として、640×480などのように表現され、これは、コンピュータディスプレイが横640画素、縦480画素(すなわち合計640×480=307,200画素)からなることを示す。図2は、1組の高拡大画素を含むコンピュータディスプレイのサンプル部分200の図である。より詳細には、コンピュータディスプレイのサンプル部分200は、画素202、204、206、ポインタ208、およびポインタ208移動を表すパス210を含む。図2に示すように、入力装置110などのユーザ使用の入力装置を使用して、画素202、204、206を横切ってポインタ208が再配置される。図2に示すポインタ208移動は、本発明の実施形態によって調整されない。
図3は、本発明による、画素204がガイド領域として指定された、図2に示すコンピュータディスプレイのサンプル部分200の代替例である。図3のポインタ208によって生成されたパス300は、図2に示すパス210と同じ入力装置移動を表す。しかしながら、ポインタ208が画素204(図3)と交差すると、本発明の実施形態は、ポインタ208の移動を下方に調整する。典型的なコンピュータ装置では、ポインタ移動とマウスなどの入力装置の移動の間に線形マッピングがある。本発明の実施形態は、調整ゾーンにおけるこのポインタと入力装置の移動の間のマッピングを再定義する。例えば、図3の画素204は、水平方向に横切るのに、図2の画素204の3倍の大きさの、入力装置からの横移動(すなわちマウス距離移動)を必要とする。入力装置とポインタの間の移動のマッピングは、画素204(図3)において、ポインタ208を特定の方向に導くように再定義される。
ガイド領域が、ユーザがターゲットを獲得するのをどのように支援するかを示すコンピュータディスプレイ400の代表部分を図4に示す。より詳細には、コンピュータディスプレイ400は、ポインタ208、ガイド領域402および404、ターゲット406、ポインタ208移動を表すパス408を含む。図4に示すように、入力装置110などのユーザ使用の入力装置を用いて、ガイド領域402を横切ってポインタ208が再配置される。本発明の実施形態は、ガイド領域402におけるポインタと入力装置移動の間のマッピングを再定義し、ターゲット406の方へのポインタ208移動を調整する。本発明による調整なしでの投影されるポインタ208のパス410も図4に示す。ポインタ208がガイド領域402と交差すると、ポインタ208は、現在のパス410上を進むのを妨げられる。その代わりに、ポインタ208は方向を変更する。というのは、入力装置移動とポインタ移動の間のマッピングが、ガイド領域402において、ポインタ208移動をターゲット406に向かう特定の方向に調整するよう再定義されるからである。以下で詳細に説明するように、ガイド領域402、404などのガイド領域は、ポインタ移動を任意の方向に調整するのに使用され得る基本構成要素である。また、ガイド領域は、その意図された目的に応じて、多数の構成および形状として組み合わせることができる。
前述のように、本発明は、ポインタ移動を任意の方向に調整するガイド領域をサポートする。通常、ガイド領域は、単にポインタ移動をターゲットの方へ調整するだけの透過性のあるバリアになる。言い換えると、ターゲットを獲得しようとしないユーザは、ターゲットに関連するガイド領域を横切り、所望の方向に進むことができる。しかしながら、ガイド領域の強さは、ポインタ移動に対して貫通不能なバリアを作り出す量を含めて、任意の量だけ調整され得る。
ユーザがターゲットを獲得するのを支援する本発明の例示的態様を示す、コンピュータディスプレイ500の別の代表部分を図5に示す。コンピュータディスプレイ500は、ターゲット502、ガイド領域504、506、508、510、ポインタ208、およびポインタ208移動を表すパス512を含む。図5に示すターゲット502は、3×3画素の正方形としての9画素からなる。ターゲット502の各画素内の破線は、ポインタ208移動が、ターゲット502において、所定量のポインタ208移動を生じさせるのに比例的により大きい入力量(すなわちマウス距離移動)を必要とするように調整されることを示す。言い換えると、ポインタ208がターゲット502と交差すると、入力装置距離移動とポインタ距離移動の比が変化する。図示のように、ターゲット502を任意の方向に横切るのに必要とされる入力装置距離移動の量は、ターゲットとして指定されていないコンピュータディスプレイ200の諸領域を横切るするのに必要とされる量の3倍大きい。ある種類のターゲット内部のポインタ移動を調整する方法、システム、およびコンピュータ可読媒体のより詳細な説明は「System and Method for Aligning Objects Using Non-Linear Pointer Movement」と題し、本明細書と同時に出願された同一出願人による同時係属の米国特許出願に記載されており、その内容は参照として本明細書に明確に組み込まれる。
図5に示すように、各ガイド領域504、506、508、510は長方形の形状である。ガイド領域504、508は、それぞれ、1×2画素の長方形としての2画素からなる。同様に、ガイド領域506、510は、2×1画素の長方形としての2画素からなる。各ガイド領域504、506、508、510内の破線は、ポインタ208移動が、各ガイド領域において、1つの成分方向に所定量のポインタ208移動を生じさせるのに比例的により大きい入力量(すなわちマウス距離移動)を必要とするように調整されることを示す。言い換えると、ガイド領域では、マウス距離移動とポインタ距離移動の比が、コンピュータディスプレイ500の他の領域と異なる。各ガイド領域は、ポインタと交差すると、ターゲット502の方へポインタ移動を調整する。
図5に、ガイド領域504の1つの成分方向での入力装置距離移動とポインタ208距離移動の比を変更することがポインタ208の移動に及ぼす影響を示す。ポインタ移動を示すパス512は、一定の速度と方向を持つ入力装置移動を表す。入力装置が一定の速度と方向を有する場合であっても、ポインタ208は、ガイド領域504と交差するとターゲット502の方に方向を変える。図5に示すように、ガイド領域504を水平方向に横切るには、コンピュータディスプレイ500の他の諸領域の3倍の大きさの入力装置からの横移動を必要とする。しかしながら、ガイド領域504を垂直方向に横切るには、入力装置からのより多くの縦移動を必要としない。言い換えると、ガイド領域504における横入力装置移動のポインタ移動へのマッピングは非線形であり、縦入力装置移動のポインタ移動へのマッピングは線形のままである。その結果、ポインタ208は、ガイド領域504と交差すると、ターゲット502の方に方向を変える。
図5に、ガイド領域におけるポインタ移動の調整と比べた、ターゲットにおけるポインタ移動の調整の基本的な違いを示す。ターゲットにおいては、ポインタ移動は、すべての成分方向において同じ比例量だけ調整される。言い換えると、入力装置移動とポインタ装置移動の比は、ターゲットのすべての成分方向において同じである。それに対して、ガイド領域では、不均衡が存在する。1つの成分方向でのポインタ移動は、他の成分方向より比例的に大きい量の入力装置移動を必要とする。
図6に、ポインタ208がガイド領域506と交差する場合の、図5に示すコンピュータディスプレイ500のサンプル部分を示す。図5と同様に、入力装置110などのユーザ使用の入力装置を用いて、ポインタ208が再配置される。図6に示すように、ポインタ208がガイド領域506と交差すると、本発明の実施形態は、ポインタの移動をターゲット502の方へ調整する。ポインタ208を用いてガイド領域506を垂直方向に横切ることは、コンピュータディスプレイ500の他の諸領域の3倍の大きさの入力装置からの縦移動を必要とする。図5と同様に、パス600は、一定の速度と方向の入力装置移動によって生成される。まとめると、図5〜6には、入力装置移動のポインタ移動へのマッピングを調整することにより、ポインタが任意の方向に導かれ得ることが示されている。
図5および6に示すように、入力装置移動のポインタ移動へのマッピングは、ガイド領域504、506、508、510において、ポインタをターゲット502の方へ導くように再定義される。ポインタがターゲット502上に位置付けられた後、ポインタ移動は、そのポインタのターゲット上の位置が容易に維持され得るように、引き続き調整される。図5〜6に示すポインタ移動の調整は、グラフィカルユーザインターフェイスの必要を満たすように変更され得る。例えば、1つのターゲットと共により多い、またはより少ないガイド領域が含まれ得る。明らかに、1つのターゲットと共により多い、またはより少ないガイド領域が含まれるときには、その漏斗のサイズ(すなわちガイド領域間の角度)も変化する。より多数のガイド領域および対応するより小さい漏斗を持つターゲットは、より少数のガイド領域およびより大きい漏斗を持つターゲットよりも、ポインタ移動に大きい影響を及ぼす。ゆえに、図5および6に示すターゲット502とガイド領域504、506、508、510の間の関係は、グラフィカルユーザインターフェイスの必要に合致するようにより多い、またはより少ないガイド領域を含むように変更され得る。
図5および6に示すガイド領域は、ユーザがポインタをターゲット上に配置するのを支援する透過性のあるバリアである。しかしながら、ガイド領域は、ユーザがポインタをターゲット上に配置しようとしないときにポインタ移動をゆがめるという副作用を生じる。図7に、ガイド領域によって生じる副作用を低減する本発明の一態様を説明するのに使用されるコンピュータディスプレイ700の代表部分を示す。図5および6と同様に、コンピュータディスプレイ700は、ターゲット702、ガイド領域704、ポインタ208、およびポインタ208移動を表すパス706を含む。ガイド領域714は、ポインタ移動をターゲット702の方へ調整する、1×3画素の長方形としての3画素からなる。しかしながら、ポインタ208の調整は、ポインタ208が位置するターゲット702からの距離に依存する。図7に示す本発明の態様では、ポインタ移動がターゲットの近くで発生しているときに、ユーザがポインタをターゲット702上に配置しようとしているより高い可能性が存在するという想定がなされる。ゆえに、入力装置移動とポインタ移動の間のマッピングが非線形であるガイド領域中の面積は、ガイド領域がターゲット702から遠ざかるにつれて先細り、または減少する。
便宜上、本明細書の説明の大部分は、一定の質を持つ特定のガイド領域の状況で行う。本明細書に示す各例は例示にすぎず、本発明を限定するものと解釈すべきでないことを十分に理解すべきである。例えば、図4〜7に示す各ガイド領域は、幅1画素であるものとして示されている。しかしながら、ガイド領域は、どんな幅でもよく、本発明は、本明細書に示す特定の適用例に限定されるものではない。
図5〜7に示すように、ガイド領域はターゲットに隣接して位置する。通常、GUIは、複数のターゲットを含み、近接するターゲット同士は重なり合うガイド領域を生じ得る。ガイド領域を重なり合わせ、ポインタのために競合させるのではなく、本発明の実施形態は、それらが重なり合わないようにガイド領域のサイズおよび/または位置を調整する。図8に、重なり合うガイド領域を持つ2つのターゲットを示すコンピュータディスプレイ800の代表部分を示す。コンピュータディスプレイ800は、関連するガイド領域804、806を持つターゲット802、および関連するガイド領域810、812を持つターゲット808を含む。図8に示すように、ガイド領域806および810は、ターゲット802および808が近接するために重なり合う。ガイド領域806または810と交差するポインタは、オーバーラップ領域814の方へ導かれる。ターゲットではないコンピュータディスプレイの領域の方へポインタ移動を調整することは望ましくない。以下で図9および10を参照して説明するように、本発明は、ガイド領域のサイズおよび位置を、それらが重なり合わないように調整する。
図9に、本発明の一実施形態がガイド領域806および810の長さをそれらが重なり合わないように調整する、図8に示すコンピュータディスプレイ800の代表部分を示す。以下で図11および12を参照してより詳細に説明するように、本発明は、ガイド領域によって占められる座標位置を比較することにより、ガイド領域がコンピュータディスプレイ上の同じ領域を共用する(すなわち重なり合う)ときに認識することができる。図9に示すように、本発明の一実施形態は、ガイド領域806および810の長さを、それらが重なり合わないように調整する。
図10に、ガイド領域のサイズおよび位置をそれらが重なり合わないように調整する本発明の別の実施形態を示す。図8および9と同様に、図10に示すコンピュータディスプレイの代表的部分800は、ターゲット802および808、ならびにガイド領域804および812を含む。図9に示す実施形態とは異なり、図10に示す実施形態は、重なり合うガイド領域806および810を、新しいガイド領域1000および1002で置き換える。新しいガイド領域1000および1002は、そのそれぞれのターゲットから競合するターゲットの方へ伸びている。
便宜上、図9および10に、競合するガイド領域を持つ2つのターゲットを示す。本発明の実施形態は、2つより多いガイド領域が重なり合うのを防止し得ることをよく理解すべきである。ゆえに、図9および10の2つのターゲットの図示は、例示にすぎず、本発明の一般的適用を限定するためのものではない。
図11は、本発明に従って形成されたポインタ位置決め方法1100の1つの例示的実施形態を示す流れ図である。要約すると、ポインタ位置決め方法1100は、入力装置がポインタ移動を発生させているという通知を受け取る。方法1100は、投影されるポインタの移動が、ターゲットやガイド領域などの調整ゾーンと交差するかどうか判定する。投影される移動が調整ゾーンと交差しない場合、すでに実現された(すなわち以前に開発された)ポインタ位置決めソフトウェアが、そのポインタの新しい位置を算出する。それに対して、投影される移動が調整ゾーンと交差する場合には、本発明の諸態様がそのポインタの調整された位置を算出する。引き続き図1〜10およびそれに伴う説明を参照して、次に、図11に示す例示的ポインタ位置決め方法1100について説明する。
ポインタ位置決め方法1100は、判断ブロック1102から開始し、そこで方法1100は、2つ以上のガイド領域が重なり合うかどうか判定する。本発明は、アプリケーション108などのコンピュータプログラムが、ガイド領域を含む調整ゾーンを定義し、使用することを可能にするインターフェースを維持する。本発明の諸態様は、コンピュータディスプレイ上のすべての調整ゾーンの形状、位置、およびサイズを追跡する。方法1100は、ガイド領域によって占められる座標位置を比較することにより、2つ以上のガイド領域が重なり合うかどうか判定することができる。2つ以上のガイド領域が重なり合わない場合、方法1100は、以下で説明するブロック1106に進む。
2つ以上のガイド領域が重なり合う場合、方法1100はブロック1104に進み、そこで、1102で識別されたガイド領域のサイズおよび/または位置が調整される。図9および10を参照して述べたように、本発明の諸態様は、重なり合うガイド領域の長さを調整し、またはそれらを、競合するターゲットの方へ伸びる新しいガイド領域で置き換える。
ブロック1106で、ポインタ位置決め方法1100は、ポインタ移動イベントを待つ。入力装置110などの入力装置は、ユーザによって移動されたときに、ポインタ移動イベントを発生させ、そのイベントをオペレーティングシステム104に伝える。前述のように、既存のシステムは、イベント駆動ルーチンに、ポインタ移動イベントの通知を受け取らせ、それらのイベントに応答してアクションを実行させる。1つの例示的実施形態では、本発明のイベント駆動ルーチンは、関数呼び出し中のパラメータとして直接オペレーティングシステム104に渡されるルーチンであるコールバック関数として実施される。オペレーティングシステム104がポインタ移動イベントを受け取ると、ブロック1106〜1124の実行がオペレーティングシステム104によって開始される。
ポインタ移動イベントを受け取ると、ポインタ位置決め方法1100はブロック1108に進み、そこで、方法1100は、ポインタの現在の投影される位置を獲得する。当業者に知られているように、ポインタの座標位置は、一般に、x座標とy座標を含む2つ1組のものとして表される。コンピュータディスプレイ上の1つの位置が、(0,0)である2つ1組の値を持つ原点として指定される。入力装置がポインタ移動イベントを発生させると、本発明を実施するルーチンは、オペレーティングシステム104から、ポインタの現在の投影される位置を受け取る。ポインタ位置決め方法1100および(以下で説明する)計算方法1200は、ユーザによって発生されるあらゆるポインタ移動イベントについてポインタ移動を調整する。ポインタ移動イベントは、通常、コンピュータディスプレイ上の複数の画素を横切ってポインタを移動させるため、調整量を求める計算は、複数の画素を横切るポインタ移動からなる。言い換えると、ポインタ移動イベント後のポインタの調整された座標位置を計算するために、各イベントごとの合計調整量が計算される。
ポインタ位置決め方法1100がポインタの現在の投影される座標位置を獲得した後で、ポインタの投影される速度が算出される。ブロック1110で、方法1100は、ブロック1106で受け取られたポインタ移動イベントの時間間隔を獲得し、当分野で一般に知られている数学的関数およびコンピュータで実施されるルーチンを用いてポインタ移動速度を算出する。
ポインタ移動速度を知った後で、ポインタ位置決め方法1100は判断ブロック1112に進み、そこで、方法1100は、ブロック1110で算出されたポインタ移動速度が所定の閾値より高いかどうか判定する。本発明の一実施形態では、ポインタの投影速度が所定の閾値より高いとき、ポインタ移動は、調整ゾーンで調整されない。この実施形態では、方法1100は、高速のポインタ移動を発生させているユーザは、ポインタをターゲット上に配置しようとしていないと想定する。投影されるポインタ速度が所定の閾値より高い場合、方法1100は以下で説明するブロック1122に進む。それに対して、投影されるポインタ速度が所定の閾値以下である場合、方法1100は判断ブロック1114に進む。
判断ブロック1114で、方法1100は、ブロック1106で受け取られたポインタ移動イベントがポインタを調整ゾーンと交差させるかどうか判定する。本発明は、アプリケーション108などのコンピュータプログラムに、ターゲットやガイド領域などの調整ゾーンを定義させるインターフェースを維持する。本発明の諸態様は、すべての調整ゾーンの形状、位置、およびサイズを追跡する。方法1100は、投影されるポインタの移動を調整ゾーンによって占められる座標位置と比較することによって、ブロック1106で受け取られたポインタ移動イベントがポインタを調整ゾーンと交差させるかどうか判定することができる。投影されるポインタの移動が調整ゾーンと交差しない場合、方法1100は、以下で説明するブロック1122に進む。それに対して、投影されるポインタの移動が調整ゾーンと交差する場合、方法1100はブロック1116に進む。
投影されるポインタの移動は調整ゾーンと交差するため、本発明の一態様は、そのポインタの調整された座標位置を算出する。ブロック1116で、調整された座標位置が計算される。本発明による調整されたポインタ位置を計算する方法の一実施形態を、以下で図12〜14を参照して説明する。
ブロック1118で、ポインタ位置決め方法1100は、投影されるポインタの座標位置を、ブロック1116で計算された、調整された座標位置で置き換える。ブロック1118で、この方法は、当分野で一般に知られているソフトウェアエンジニアリング技術を用いて、調整された座標位置をオペレーティングシステム104に伝える。また、ブロック1118で、この方法は、本発明を実施するコンピュータプログラムが、ポインタがターゲット上に配置されたときにユーザに視覚的、聴覚的、または触覚的フィードバックを提供することができるように、ポインタがターゲットと交差したかどうかを示す情報をオペレーティングシステム104に渡す。
判断ブロック1120で、ブロック1106で受け取られたイベントがポインタを別の調整ゾーンと交差させるかどうか判定するテストが実行される。ブロック1114で説明したように、方法1100は、投影されるポインタの移動を既存の調整ゾーンの形状、位置、およびサイズと比較することによって、イベントがポインタを調整ゾーンと交差させるかどうか判定する。投影されるポインタの移動が別の調整ゾーンと交差する場合、方法1100はブロック1116に戻り、ポインタ移動に対するすべての調整が行われるまでブロック1116から1120までが繰り返される。ゆえに、ポインタイベントがポインタを複数の調整ゾーンと交差させるとき、調整量の計算は交差の順序で行われる。投影されるポインタの移動が別の調整ゾーンと交差しない場合、方法1100はブロック1122に進む。
ブロック1122で、ポインタが、ブロック1116で計算された座標位置に表示される。コンピュータディスプレイ上にポインタを表示する既存のシステムは、当業者によく知られているので、ここではポインタ表示プロセスについて説明しない。次いで、ブロック1124で、ポインタ位置決め方法1100が終了する。
図12は、ポインタが調整ゾーンと交差するときの調整された座標位置を計算する計算方法1200の1つの例示的実施形態を示す流れ図である。引き続き図1〜11およびそれに伴う説明を参照して、次に、図12に示す例示的計算方法1200について説明する。計算方法1200は、ブロック1202から開始し、そこで、方法1200は、ポインタが調整ゾーンと交差する座標位置を求める。前述のように、本発明の諸態様は、ポインタの現在の投影される座標位置を受け取り、すべての調整ゾーンのサイズ、形状、および位置を追跡する。この情報と共に、計算方法1200は、当分野で一般に知られている数学的関数およびコンピュータで実施されるルーチンを用いて、ポインタが調整ゾーンと交差する座標位置を計算することができる。
ブロック1204で、投影されるポインタの移動が方向成分に分解される。ポインタなど、任意のエンティティの移動は、数学的にベクトルとして表現することができる。当業者などに知られているように、ベクトルは、大きさと方向の両方を持つ量である。2次元環境では、ポインタ移動は、水平成分と垂直成分に分解することができ、それによって、垂直方向と水平方向両方のそれぞれでのポインタ位置の変化を計算することが可能になる。
ブロック1206で、計算方法1200は、ポインタの移動の1つの方向成分を選択する。選択された各方向成分ごとに、計算方法1200は、選択された成分方向での投影されるポインタ移動を調整する。便宜上、本明細書での説明の大部分を、調整が垂直方向と水平方向で行われる2次元環境の状況で提供する。しかしながら、本発明が、3次元環境など、他の環境でも適用可能であることを十分に理解すべきである。本明細書での2次元環境への言及および例は例示にすぎず、本発明の用途を限定するものと解釈すべきではない。
ブロック1208で、計算方法1200は、ポインタが交差する調整ゾーンの選択された成分方向でのポインタ移動への抵抗を定量化する方向摩擦曲線を獲得する。ポインタ移動が調整される量は、(1)摩擦係数、(2)調整ゾーンサイズ、および(3)摩擦曲線の形状という3つの変数に依存する。摩擦係数は、調整ゾーン中の画素が1つの成分方向でのポインタ移動に抵抗する程度を定量化する。図4および5を参照して説明したように、画素が1つの成分方向でのポインタ移動に抵抗する程度(すなわち摩擦係数)は、GUIの目的に応じて変動し得る。また、摩擦係数は、ポインタ移動の諸属性によっても変動し得る。例えば、高速のポインタ移動を発生させているユーザは、ポインタをターゲット上に配置しようとしている可能性が低い。ポインタ移動への抵抗は、ポインタ速度など他の変数に応じても行われ得る。調整ゾーンサイズ(すなわち1つの成分方向での画素数)は、より大きい調整ゾーンは、同じ摩擦係数を持つより小さい調整ゾーンよりもポインタ移動に対するより大きい合計抵抗を生じるという点で、ポインタ位置の調整に影響を及ぼす。図13〜15に例示的摩擦曲線を示し、それらについて以下でより詳細に論じる。要約すると、摩擦曲線とは、必要なポインタ移動への調整が容易に計算されるように、その調整ゾーンに割り当てられた摩擦係数に対する1つの成分方向での調整ゾーンのサイズをグラフで示したものである。
説明のために、図13〜15に代表的な方向摩擦曲線を示す。図13に示す例では、調整ゾーンサイズ(すなわち1つの成分方向での画素数)をx軸上に示し、摩擦係数をy軸上に示す。図13には、一定の方向摩擦曲線1300、すなわち、ポインタ移動への抵抗が一定の方向摩擦曲線が示されている。図11を参照して説明したように、本発明は、アプリケーション108などのコンピュータプログラムが、異なるサイズ、形状、および位置の調整ゾーンを定義できるようにする。また、前述したように、調整ゾーンは、その摩擦係数に割り当てされた異なる値を用いて定義することができ、そのため開発者は、GUIのニーズに合致するように調整ゾーンをカスタマイズすることができる。本発明の別の適用例では、調整ゾーンにおいてポインタの速度が増大される。この実施形態では、調整ゾーンに割り当てられた摩擦係数が、線形ポインタ移動を発生させるコンピュータディスプレイの諸領域に割り当てられた摩擦係数より小さい。通常、線形ポインタ移動を発生させるコンピュータディスプレイの諸領域には摩擦係数1が割り当てられる。ゆえに、値1より大きい摩擦係数は、ポインタ移動への抵抗を生じ、1より小さい値は、ポインタの速度を増大させる。本発明の諸態様は、調整ゾーンの属性を追跡し、方向摩擦曲線1300などの方向摩擦曲線を生成する。
図14に、調整ゾーンにおけるポインタ移動への抵抗が、その調整ゾーンにおけるポインタの位置に応じて変動するという点で線形ではない方向摩擦曲線1400を示す。図13と同様に、調整ゾーンのサイズ(すなわち1つの成分方向での画素数)をx軸上に示し、調整ゾーンに割り当てられた摩擦係数をy軸上に示す。本発明の一実施形態では、コンピュータプログラムは、一定ではない摩擦係数を用いて調整ゾーンを定義することができる。この場合もやはり、本発明の諸態様は、調整ゾーンに割り当てられた属性を追跡し、適当な方向摩擦曲線を生成する。
図12に戻ると、計算方法1200は、ブロック1210で、ブロック1208で獲得された方向摩擦曲線下の合計面積を算出する。以下でより詳細に説明するように、方向摩擦曲線下の面積は、1つの調整ゾーンの1つの成分方向にわたるポインタ移動への合計抵抗の大きさである。ある場合には、ポインタ移動は、方向摩擦曲線下の合計面積によって調整される。他の場合には、方向摩擦曲線下の面積の一部を用いて調整量が計算される。
判断ブロック1212で、ブロック1210で計算された方向摩擦曲線下の面積が、ポインタが調整ゾーンと交差した後の選択された成分方向での投影されるポインタの移動より大きいかどうか判定するテストが実行される。方向摩擦曲線下の面積が、調整ゾーンとの交差後のポインタの投影される移動より大きい場合、ポインタは調整ゾーン内に留まることになる。この例では、方向摩擦曲線下の面積の一部を用いて調整量が計算される。それに対して、方向摩擦曲線下の面積がポインタの投影される移動以下である場合、ポインタは調整ゾーンの外側に移動することになる。この例では、調整ゾーンの1つの成分方向でのポインタ移動への合計抵抗を表す方向摩擦曲線下の合計面積が調整量である。方向摩擦曲線下の面積が、ポインタの投影される移動より大きい場合、計算方法1200は以下で説明するブロック1216に進む。それに対して、方向摩擦曲線下の面積が、ポインタの速度の選択された方向成分以下である場合、方法1200はブロック1214に進む。
ブロック1214で、計算方法1200は、選択された成分方向でのポインタ移動を、方向摩擦曲線下の合計面積分だけ低減する。例えば、長さ10画素の調整ゾーンとの交差後の投影されるポインタの移動が50画素であり、方向摩擦曲線下の面積が30単位である場合、その成分方向での最終的ポインタ移動は、20画素(50画素−30画素=20画素)に調整ゾーンの長さを加えたものである。調整ゾーンの長さが10画素であるため、合計ポインタ移動は30画素である(20画素+10画素=30画素)。次いで、方法1200は、以下で詳細に説明するブロック1218に進む。
計算方法1200がブロック1216に達した場合、方向摩擦曲線下の面積は、調整ゾーンとの交差後の投影されるポインタ移動より大きい。この状況では、方向摩擦曲線下の面積の一部を用いて調整量が計算される。図13および14を参照して説明したように、調整ゾーンのサイズ(すなわち1つの成分方向での画素数)は方向摩擦曲線のx軸上に示される。ブロック1216で、計算方法1200は、方向摩擦曲線下の面積が、調整ゾーンとの交差後の投影されるポインタの移動と等しくなるx軸上の点を求める。この点より前の方向摩擦曲線下の面積を用いて調整量が計算される。
ブロック1216での調整量の計算を、一例を引いて適切に説明する。図15は、図13に示した方向摩擦曲線1300を示すものである。前述のように、方向摩擦曲線1300では、調整ゾーンのサイズ(すなわち1つの成分方向での画素数)がx軸上に、摩擦係数がy軸上に示されている。これらの変数は、合わせて1つの成分方向でのポインタ移動への一定の抵抗が生じる方向摩擦曲線1300を形成する。図15に示すように、方向摩擦曲線1300下の合計面積1500は、50単位(5摩擦係数×10画素=50単位)である。調整ゾーンとの交差後の投影されるポインタの移動が40画素である場合、調整量は32画素である。前述のように、計算方法1200は、曲線下の面積が投影されるポインタの移動と等しくなる方向摩擦曲線1300のx軸上の点1502を求める。図15に示す例では、方向摩擦曲線下の面積が選択された成分方向での投影される移動と等しくなるx軸上の点1502は8画素のところにある。調整量を得るために、方向摩擦曲線下の面積が投影される移動と等しくなるx軸上の点1502が投影される移動から差し引かれる。図15に示す例では、調整量は、32画素(40画素−8画素=32画素)であり、選択された成分方向での最終的ポインタ移動は8画素(40画素−32画素=8画素)である。
図12に戻ると、判断ブロック1218で、ポインタの移動のすべての方向成分が調整されているかどうか判定するテストが行われる。ポインタの移動の1つの方向成分が調整されていない場合、計算方法1200はブロック1208に戻り、必要な成分方向での調整が行われるまでブロック1208から1218までが繰り返される。それに対して、すべての必要な調整が行われている場合、方法1200はブロック1220に進み終了する。
本発明の実施形態は、前述したものと異なる仕方で組み合わされ得ることを理解すべきである。例えば、図5〜7およびそれに伴う説明には、ターゲットと組み合わせてガイド領域が示されている。これらの実施形態によれば、ポインタ移動は、ガイド領域において、ユーザがターゲット上にポインタを配置するのを支援するように調整される。ポインタがターゲット上に位置付けられた後、ポインタ移動は、そのポインタの位置が維持され得るように、すべての成分方向に同じ比例する量だけ調整される。本発明の他の実施形態では、類似の機能が、ガイド領域を重ね合わせることによって達成される。例えば図16には、通常、1つのターゲット上(すなわち、ポインタ選択イベントが発生し得るコンピュータディスプレイ上の位置)に位置することになるオーバーラップ領域1606を作り出す2つの重なり合うガイド領域1602および1604を持つコンピュータディスプレイ1600の代表部分が示されている。ガイド領域1602は1×5画素の長方形としての5画素からなり、ガイド領域1604は、5×1画素の長方形としての5画素からなる。図5〜7に示す実施形態と同様に、ポインタ移動のパス1608は、ガイド領域1604と交差するときにオーバーラップ領域1606の方へ調整される。しかしながら、ポインタ208がオーバーラップ領域1606と交差すると、ガイド領域1602もポインタ208移動に影響を与える。オーバーラップ領域1606におけるガイド領域1602と1604との組み合わさった影響は、ポイント移動をオーバーラップ領域1606の中心に向けて調整するものである。
以上、本発明の現在の好ましい実施形態について図示し、説明したが、添付の特許請求の範囲の範囲内において、本発明が、本明細書で具体的に説明したもの以外の仕方で実施され得ることを理解すべきである。
本発明によるポインタ移動の調整に適した移動調整モジュールを含むコンピュータ装置を示すブロック図である。 従来技術によるポインタ移動を示すコンピュータディスプレイの一部分を示す図である。 本発明による、コンピュータディスプレイの1画素がガイド領域に指定された図2に示すコンピュータディスプレイの一部分を示す図である。 本発明による、ユーザがターゲットを獲得するのを支援するガイド領域を備えるコンピュータディスプレイの一部分を示す図である。 本発明による、ユーザがターゲットを獲得するのを支援するガイド領域を備えるコンピュータディスプレイの一部分を示す図である。 本発明による、ユーザがターゲットを獲得するのを支援するガイド領域を備えるコンピュータディスプレイの一部分を示す図である。 本発明による、ターゲット、およびユーザがターゲットを獲得するのを支援するガイド領域を備えるコンピュータディスプレイの一部分を示す図である。 2つのターゲット、およびポインタ移動の望ましくない調整を引き起こすはずの重なり合うガイド領域を備えるコンピュータディスプレイの一部分を示す図である。 重なり合うガイド領域のサイズおよび位置が、望ましくないポインタ移動の調整を防ぐように変更された、図8に示すコンピュータディスプレイの一部分を示す図である。 重なり合うガイド領域のサイズおよび位置が、望ましくないポインタ移動の調整を防ぐように変更された、図8に示すコンピュータディスプレイの一部分を示す図である。 本発明による、ポインタ移動をどのように調整するか決定するポインタ位置決め方法の1つの例示的実施形態を示す流れ図である。 図11での使用に適した、ポインタが調整ゾーンと交差するときの調整されたポインタ位置を計算する計算方法の1つの例示的実施形態を示す流れ図である。 本発明によるポインタ移動への抵抗の計算を示す代表的方向摩擦曲線を示す図である。 本発明によるポインタ移動への抵抗の計算を示す代表的方向摩擦曲線を示す図である。 本発明によるポインタ移動への抵抗の計算を示す、図13に示す方向摩擦曲線を示す図である。 本発明による、ユーザがターゲットを獲得するのを支援するガイド領域を備えるコンピュータディスプレイの一部分を示す図である。
符号の説明
100…コンピュータ装置
102…コンピュータディスプレイ
104…オペレーティングシステム
106…移動調整モジュール
108…アプリケーション
110…入力装置

Claims (1)

  1. ポインタ、ポインタ入力装置、およびオペレーティングシステムを含むグラフィカルユーザインターフェイスを表示するディスプレイを含むコンピュータ装置において、ポインタをターゲットの方へ導く方法であって、
    (a)ポインタ移動イベントの通知を受け取ったことに応答して、前記ポインタの現在投影される座標位置を獲得すること、
    (b)前記ポインタが移動中にガイド領域と交差するかどうか判定すること、
    (c)前記ポインタが移動中にガイド領域と交差する場合、前記ポインタの調整された座標位置を計算すること、および
    (d)前記ポインタの前記投影される座標位置を、前記調整された座標位置で置き換えること
    を備えることを特徴とする方法。
JP2005123816A 2004-04-21 2005-04-21 インテリジェントポインタ移動を用いてターゲットを獲得するシステムおよび方法 Pending JP2005310164A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/829,127 US7383517B2 (en) 2004-04-21 2004-04-21 System and method for acquiring a target with intelligent pointer movement

Publications (1)

Publication Number Publication Date
JP2005310164A true JP2005310164A (ja) 2005-11-04

Family

ID=34939406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005123816A Pending JP2005310164A (ja) 2004-04-21 2005-04-21 インテリジェントポインタ移動を用いてターゲットを獲得するシステムおよび方法

Country Status (5)

Country Link
US (2) US7383517B2 (ja)
EP (1) EP1589410A2 (ja)
JP (1) JP2005310164A (ja)
KR (1) KR20060047326A (ja)
CN (1) CN1694065A (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306903B2 (en) * 2010-04-23 2012-11-06 Bgc Partners, Inc. Commission calculator and display
US8629836B2 (en) 2004-04-30 2014-01-14 Hillcrest Laboratories, Inc. 3D pointing devices with orientation compensation and improved usability
US7535456B2 (en) * 2004-04-30 2009-05-19 Hillcrest Laboratories, Inc. Methods and devices for removing unintentional movement in 3D pointing devices
KR100937572B1 (ko) 2004-04-30 2010-01-19 힐크레스트 래보래토리스, 인크. 3d 포인팅 장치 및 방법
WO2006058129A2 (en) 2004-11-23 2006-06-01 Hillcrest Laboratories, Inc. Semantic gaming and application transformation
EP1929749A1 (en) * 2005-09-30 2008-06-11 British Telecommunications Public Limited Company Information based on location and activity of a user
US20070198953A1 (en) * 2006-02-22 2007-08-23 Microsoft Corporation Target acquisition
US20080256484A1 (en) * 2007-04-12 2008-10-16 Microsoft Corporation Techniques for aligning and positioning objects
US8621380B2 (en) 2010-01-06 2013-12-31 Apple Inc. Apparatus and method for conditionally enabling or disabling soft buttons
JP5371798B2 (ja) * 2010-01-12 2013-12-18 キヤノン株式会社 情報処理装置、その情報処理方法及びプログラム
US9542091B2 (en) 2010-06-04 2017-01-10 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
CN102446435B (zh) * 2010-09-30 2013-11-27 汉王科技股份有限公司 模拟时钟的调节方法及装置
US8587547B2 (en) 2010-11-05 2013-11-19 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9146673B2 (en) 2010-11-05 2015-09-29 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9250798B2 (en) 2011-01-24 2016-02-02 Apple Inc. Device, method, and graphical user interface with a dynamic gesture disambiguation threshold
US9436381B2 (en) 2011-01-24 2016-09-06 Apple Inc. Device, method, and graphical user interface for navigating and annotating an electronic document
US9146654B2 (en) 2011-05-25 2015-09-29 International Business Machines Corporation Movement reduction when scrolling for item selection during direct manipulation
US20150113483A1 (en) * 2011-09-30 2015-04-23 Willem Morkel Van Der Westhuizen Method for Human-Computer Interaction on a Graphical User Interface (GUI)
KR101873917B1 (ko) * 2011-11-17 2018-07-04 삼성전자 주식회사 디스플레이장치 및 그 제어방법
KR101888680B1 (ko) * 2011-12-06 2018-08-17 삼성전자 주식회사 디스플레이장치 및 그 제어방법
KR101872272B1 (ko) * 2012-02-10 2018-06-28 삼성전자주식회사 제어 기기를 이용한 전자기기의 제어 방법 및 장치
EP2817695B1 (en) * 2012-02-24 2018-03-14 Koninklijke Philips N.V. System and method for processing a pointer movement
USD717818S1 (en) * 2012-06-04 2014-11-18 Microsoft Corporation Display screen with graphical user interface
USD717315S1 (en) * 2012-06-04 2014-11-11 Microsoft Corporation Display screen with graphical user interface
US9032335B2 (en) * 2012-08-14 2015-05-12 Christopher V. Beckman User interface techniques reducing the impact of movements
US9164622B2 (en) * 2012-10-09 2015-10-20 Facebook, Inc. Denoising touch gesture input
US10168766B2 (en) * 2013-04-17 2019-01-01 Nokia Technologies Oy Method and apparatus for a textural representation of a guidance
WO2016063258A1 (en) * 2014-10-24 2016-04-28 Realitygate (Pty) Ltd Target-directed movement in a user interface
JP7105984B2 (ja) * 2019-03-05 2022-07-25 株式会社Nttドコモ 情報処理装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123087A (en) * 1990-04-27 1992-06-16 Ashlar, Inc. Geometric inference engine
US5164713A (en) * 1991-10-15 1992-11-17 Bain Lee L Cursor position controller for use with mouse and display systems
WO1993022758A1 (en) * 1992-05-07 1993-11-11 Kensington Microware Limited Method and apparatus for cursor positioning
US5548707A (en) * 1993-11-09 1996-08-20 Adra Systems, Inc. Method and system for design and drafting
CA2140164A1 (en) * 1994-01-27 1995-07-28 Kenneth R. Robertson System and method for computer cursor control
US5815137A (en) * 1994-10-19 1998-09-29 Sun Microsystems, Inc. High speed display system having cursor multiplexing scheme
US5677091A (en) * 1994-11-01 1997-10-14 International Business Machines Corporation Lithographic print bias/overlay target and applied metrology
TW288129B (ja) * 1995-04-28 1996-10-11 Philips Electronics Nv
US5808601A (en) * 1995-09-12 1998-09-15 International Business Machines Corporation Interactive object selection pointer method and apparatus
US5732228A (en) * 1995-11-14 1998-03-24 International Business Machines Corporation Method and system for per widget graphical pointer control within a data processing system graphical user interface
US6078308A (en) 1995-12-13 2000-06-20 Immersion Corporation Graphical click surfaces for force feedback applications to provide user selection using cursor interaction with a trigger position within a boundary of a graphical object
US5774111A (en) * 1996-02-12 1998-06-30 Dassault Systemes Method and apparatus for providing a dynamically oriented compass cursor on computer displays
US5880723A (en) * 1996-04-30 1999-03-09 Driskell; Stanley W. Method to assess the physical effort to acquire physical targets
US6867790B1 (en) * 1996-08-09 2005-03-15 International Business Machines Corporation Method and apparatus to conditionally constrain pointer movement on a computer display using visual cues, controlled pointer speed and barriers on the display which stop or restrict pointer movement
US5870079A (en) * 1996-11-12 1999-02-09 Legaltech, Inc. Computer input device and controller therefor
US5786805A (en) * 1996-12-27 1998-07-28 Barry; Edwin Franklin Method and apparatus for improving object selection on a computer display by providing cursor control with a sticky property
US5973670A (en) * 1996-12-31 1999-10-26 International Business Machines Corporation Tactile feedback controller for computer cursor control device
US6137487A (en) * 1997-02-24 2000-10-24 International Business Machines Corporation Method and apparatus for manipulating graphical objects in a data processing system
US6031531A (en) * 1998-04-06 2000-02-29 International Business Machines Corporation Method and system in a graphical user interface for facilitating cursor object movement for physically challenged computer users
JP2000242408A (ja) * 1998-12-04 2000-09-08 Canon Inc 座標補正装置、座標補正用パラメータ算出装置、座標補正方法、座標補正用パラメータ算出方法、及び座標補正制御プログラムを格納した記憶媒体、及び座標補正用パラメータ算出プログラムを格納した記憶媒体
US6480813B1 (en) * 1999-02-24 2002-11-12 Autodesk, Inc. Method and apparatus for defining a precision drawing in a drawing program
US6392675B1 (en) * 1999-02-24 2002-05-21 International Business Machines Corporation Variable speed cursor movement
US7098933B1 (en) * 1999-02-24 2006-08-29 Autodesk, Inc. Acquiring and unacquiring alignment and extension points
JP3477675B2 (ja) * 1999-06-04 2003-12-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ポインタ操作の補助方法
FR2814254B1 (fr) * 2000-09-15 2006-07-21 Thomson Csf Procede de traitement du deplacement d'un curseur sur un ecran
US6693653B1 (en) * 2000-09-19 2004-02-17 Rockwell Collins, Inc. Method of assisting cursor movement toward a nearby displayed target
US6654003B2 (en) * 2000-12-01 2003-11-25 International Business Machines Corporation Cursor control device
US6907581B2 (en) * 2001-04-03 2005-06-14 Ramot At Tel Aviv University Ltd. Method and system for implicitly resolving pointing ambiguities in human-computer interaction (HCI)
US20040017355A1 (en) * 2002-07-24 2004-01-29 Youngtack Shim Cursor control systems and methods
US7825954B2 (en) * 2005-05-31 2010-11-02 Objectvideo, Inc. Multi-state target tracking

Also Published As

Publication number Publication date
US20050237300A1 (en) 2005-10-27
US8248365B2 (en) 2012-08-21
US7383517B2 (en) 2008-06-03
EP1589410A2 (en) 2005-10-26
US20080198130A1 (en) 2008-08-21
CN1694065A (zh) 2005-11-09
KR20060047326A (ko) 2006-05-18

Similar Documents

Publication Publication Date Title
JP2005310164A (ja) インテリジェントポインタ移動を用いてターゲットを獲得するシステムおよび方法
JP4994604B2 (ja) 非線形なポインタ移動を使用した、オブジェクトの位置調整を行うためのシステムおよび方法
US7274377B2 (en) Viewport panning feedback system
US7545392B2 (en) Dynamic guides
US7446783B2 (en) System and method for manipulating an image on a screen
US20090091547A1 (en) Information display device
US10353533B2 (en) Manipulating visual representations of data
US6396487B1 (en) User interface enhancement for windows-based operating systems
JP3705826B2 (ja) 仮想3次元ウインドウ表示制御方法
JP2005092447A (ja) ウインドウの制御方法
CN105094586A (zh) 一种显示窗口的调节方法及电子设备
US20070198953A1 (en) Target acquisition
CN115516476A (zh) 分离事件建模和管理***
JP2007079947A (ja) 表示装置及びそれに用いるプログラム
JPH0916803A (ja) 図形入力装置
JP2002269579A (ja) 描画方法
JP2006185025A (ja) ウィンドウ表示制御方法、及びプログラム
JP2008197736A (ja) 画像処理装置、画像処理方法および画像処理プログラム
KR101933886B1 (ko) 프로그램 개발 장치 및 객체 편집 방법
CN111813408A (zh) 视图显示处理方法、装置、终端设备及存储介质
KR101811344B1 (ko) 디스플레이 제어 방법, 장치 및 컴퓨터프로그램
JP3486937B2 (ja) 図形変形装置
CN115439638A (zh) 服装展示方法、装置、电子设备及存储介质
CN117631926A (zh) 一种元素处理方法、装置、终端、介质及程序产品
JP2020086637A (ja) 情報処理装置およびその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100402

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100907