JP5867595B2 - マウスカーソル制御方法、マウスカーソル制御装置およびプログラム - Google Patents

マウスカーソル制御方法、マウスカーソル制御装置およびプログラム Download PDF

Info

Publication number
JP5867595B2
JP5867595B2 JP2014511018A JP2014511018A JP5867595B2 JP 5867595 B2 JP5867595 B2 JP 5867595B2 JP 2014511018 A JP2014511018 A JP 2014511018A JP 2014511018 A JP2014511018 A JP 2014511018A JP 5867595 B2 JP5867595 B2 JP 5867595B2
Authority
JP
Japan
Prior art keywords
mouse cursor
movement
focus
end point
mouse
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.)
Expired - Fee Related
Application number
JP2014511018A
Other languages
English (en)
Other versions
JPWO2013157092A1 (ja
Inventor
宰 吉村
宰 吉村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013157092A1 publication Critical patent/JPWO2013157092A1/ja
Application granted granted Critical
Publication of JP5867595B2 publication Critical patent/JP5867595B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key

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)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

本技術は、グラフィカル・インターフェースを備えたコンピュータにおけるマウスカーソルの制御に関する。
グラフィカル・インターフェースを備えたコンピュータにおいて、ウインドウやダイアログボックスが、ボタンやテキスト入力フィールドなどの複数のオブジェクトを有することがある。このようなウインドウやダイアログボックスの場合には、ユーザは、フォーカスされているオブジェクトに限り、データの入力や選択を行うことができる。従って、ユーザはその時点でどのオブジェクトにフォーカスがあるかを認識していなければ、正常な操作を行うことができない。
しかし、どのオブジェクトにフォーカスがあるかは、視覚的に認識しづらいことが多い。例えば、オブジェクトの領域を破線で囲むことによりフォーカスの存在を表示することもあるが、破線の囲いはあまり目立たたず、ユーザは、そのオブジェクトにフォーカスがあることを直感的に理解できないことがある。
また、ショートカットキー、アクセラレーションキー、あるいはタブ移動(タブキー、シフトキー+タブキー)などのキー操作によって、オブジェクト間のフォーカスを移動させることが可能なグラフィカル・インターフェースでは、キー操作によるフォーカスの移動を、ユーザが見失うことも多い。
例えば、オブジェクト間をフォーカスが移動する順番に規則性がない場合には、ユーザはフォーカスの存在箇所を見失いやすい。プログラムの製作者がフォーカスを移動させる順番に気を配らない場合や、予期しないプログラムの修正が行われる場合などに、このような事態が生じやすい。
また、オブジェクトの配置が整然としていない画面においても、ユーザはキー操作によるフォーカスの移動先を予測し難く、フォーカスの存在箇所を見失いやすい。
このように、キー操作によるオブジェクト間のフォーカスの移動は、慣れているユーザには操作の手間が省ける利点がある一方、不慣れなユーザにとっては、データの入力や選択の対象を認識できず、混乱するという欠点もある。
特開平03−191411号公報 特開2008−176577号公報
従って、本技術の目的は、一側面において、複数のオブジェクト間におけるフォーカスの移動先をユーザが見失うことを防止することである。
本技術の一側面に係るプログラムは、(A)画面に表示された複数のオブジェクト間においてフォーカスが移動したことを示すイベントを検出した場合に、当該フォーカスの移動先のオブジェクトを特定し、当該移動先のオブジェクトの位置を特定し、当該移動先のオブジェクトの位置に基づいてマウスカーソルを移動させる終点を設定する設定処理と、(B)マウスカーソルの位置が終点に至るまで、終点により近い位置へのマウスカーソルの移動を複数回行う移動処理をコンピュータに実行させる。
図1は、第1の実施の形態におけるプログラムの構成例を示す図である。 図2は、複数のオブジェクトを含むウインドウの例を示す図である。 図3は、第1の実施の形態におけるアプリケーションプログラムの構成例を示す図である。 図4は、メッセージ処理のフローを示す図である。 図5は、フォーカス移動処理のフローを示す図である。 図6は、設定処理のフローを示す図である。 図7は、チェックボックスにおいてフォーカスを表示する例を示す図である。 図8は、ラジオボタンにおいてフォーカスを表示する例を示す図である。 図9は、ボタンにおいてフォーカスを表示する例を示す図である。 図10は、テキスト入力フィールドにおいてフォーカスを表示する例を示す図である。 図11は、終点決定処理のフローを示す図である。 図12は、マウスカーソルの始点と終点の関係を示す図である。 図13は、移動ベクトル算出処理のフローを示す図である。 図14は、移動ベクトル算出処理のフローを示す図である。 図15は、移動ベクトル算出処理のフローを示す図である。 図16は、タイマーイベント処理のフローを示す図である。 図17は、状況判定処理のフローを示す図である。 図18は、移動処理のフローを示す図である。 図19は、終了処理のフローを示す図である。 図20は、マウス移動処理のフローを示す図である。 図21は、中断判定処理のフローを示す図である。 図22は、中断処理のフローを示す図である。 図23は、第2の実施の形態におけるプログラムの構成例を示す図である。 図24は、第2の実施の形態における常駐プログラムの構成例を示す図である。 図25は、イベントフック処理のフローを示す図である。 図26は、第3の実施の形態におけるプログラムの構成例を示す図である。 図27は、第3の実施の形態におけるマウスドライバの構成例を示す図である。 図28は、コンピュータの機能ブロック図である。
[実施の形態1]
本実施の形態では、画面を表示させるアプリケーションプログラム内にマウスカーソル制御部を設ける例について説明する。マウスカーソル制御部は、画面に表示されたオブジェクト間でフォーカスが移動する場合に、フォーカスが移動した先のオブジェクトに向かって、マウスカーソルが自動的に移動するように、マウスカーソルを制御する。マウスカーソル制御部の制御により、フォーカス移動に連動してマウスカーソルがフォーカスの移動先に追従するようになる。
図1は、第1の実施の形態におけるプログラムの構成例を示す図である。コンピュータ1は、オペレーティングシステム2とアプリケーションプログラム3を有している。
オペレーティングシステム2は、グラフィカル・インターフェースをサポートする機能を有している。例えば、オペレーティングシステム2は、イベント間のフォーカスの移動などの画面制御などを行い、フォーカスの移動、マウスの移動あるいはタイマーなどにより発生するイベントをメッセージ形式でアプリケーションプログラム3に通知するように動作する。
アプリケーションプログラム3は、アプリケーション処理部4とマウスカーソル制御部5を含み、アプリケーションプログラム3を実行することで、アプリケーション処理部4とマウスカーソル制御部5をコンピュータ内に実現する。
アプリケーション処理部4は、アプリケーション機能の主たる処理を行う。アプリケーション処理部4は、アプリケーション機能を実現するために、データの入力や選択を受け付ける。そのため、アプリケーション処理部4は、例えば、複数のオブジェクトを含むウインドウやダイアログボックスをオペレーティングシステム2を介して画面に表示させ、ユーザの操作によりデータの入力や選択を受け付け、受け付けたデータの入力や選択に基づいて、データ処理を行うように構成されている。
マウスカーソル制御部5は、アプリケーションの機能とは無関係に、フォーカスの移動先となったオブジェクトに、マウスカーソルが追従するように制御するためのモジュールである。
図2に、画面に表示されたウインドウの例を示す。ウインドウ10には、複数のオブジェクト11a〜11eが配置されている。例えば、タブキーが押されると、オブジェクト11a〜11e間を順にフォーカスが移動する。移動する順番は、主にアプリケーションプログラムに依存する。
キー操作によりオブジェクト11間でフォーカスの移動が生じると、マウスカーソル12は、フォーカスのあるオブジェクト11へ向かって移動を開始し、オブジェクト11内あるいはオブジェクト11の近傍まで移動する。
移動の速度は、常に一定である例と、始点から終点までの距離に応じて定まる例と、移動中に変化する例などが考えられる。特に、終点付近において移動速度を遅くすることによって、終点への注目を集めるようにしてもよい。
移動の開始時にマウスカーソル12の形態を変更し、オブジェクト11に向かって進行中であることをユーザが認識できるようにしてもよい。また、移動の終了時には、マウスカーソル12をアニメーション表示させ、終点であることをユーザに認識させるようにしてもよい。
続いて、マウスカーソル制御部5を中心として、アプリケーションプログラム3の構成について説明する。図3は、第1の実施の形態におけるアプリケーションプログラム3の構成例を示す図である。
図3に示す通り、アプリケーションプログラム3は、メッセージ処理部20、フォーカス移動処理部30、タイマーイベント処理部40、マウス移動処理部50、記憶領域60及びオブジェクトテーブル80を有している。図中太線で囲まれているモジュールは、マウスカーソル制御部5の一部である。
メッセージ処理部20は、オペレーティングシステム2からイベントに関するメッセージを受信し、イベントの内容に応じて、フォーカス移動処理部30、タイマーイベント処理部40マウス移動処理部50などのいずれかのイベント処理部にイベントを振り分けるように動作する。
フォーカス移動処理部30は、メッセージの内容がフォーカス移動のイベントである場合に、そのイベントに応じて動作する。フォーカス移動処理部30は、マウスカーソル制御部5の一部である設定部31を有している。設定部31は、マウスカーソル12を自動的に移動させるための設定を行うように動作する。
タイマーイベント処理部40は、メッセージの内容がタイマーイベントである場合に、そのイベントに応じて動作する。タイマーイベント処理部40は、マウスカーソル制御部5の一部である状況判定部41、移動部43、終了部45及び中断部47を有している。
状況判定部41は、マウスカーソル12の制御に関する状況を判定するように動作する。移動部43は、オペレーティングシステム2を介してマウスカーソル12を移動させるように動作する。終了部45は、マウスカーソル12の制御を終了させるように動作する。中断部47は、マウスカーソル12の制御を中断させるように動作する。
マウス移動処理部50は、メッセージの内容がマウス移動のイベントである場合に、そのイベントに応じて動作する。マウス移動処理部50は、マウスカーソル制御部5の一部である中断判定部51を有している。中断判定部51は、ユーザのマウス操作を検出して中断を判定するように動作する。
記憶領域60は、マウスカーソル制御部5における制御に用いるデータを記憶させるための領域である。記憶領域60は、作動中フラグ61、中断フラグ63、タイマーイベント番号65、終点位置67、移動ベクトル69及び元のマウスカーソルの種類71を記憶できるように構成されている。
作動中フラグ61は、マウスカーソル12の制御が作動中であるか否かを判定するためのフラグである。中断フラグ63は、マウスカーソル12の制御を中断するか否かを判定するためのフラグである。タイマーイベント番号65は、マウスカーソル12の制御に用いるタイマーイベントの番号である。終点位置67は、マウスカーソル移動の終点である。移動ベクトル69は、マウスカーソル12の一回の移動における始点から終点へのベクトルである。一定の速度で移動する場合には、共通の移動ベクトルを一つ保持し、速度を変えながら移動する場合には、複数の移動ベクトルを保持する。元のマウスカーソルの種類71は、マウスカーソル12の移動を開始する前のマウスカーソルの種類である
オブジェクトテーブル80は、アプリケーション処理部4で表示させるウインドウやダイアログボックスに含まれるオブジェクト11の情報を記憶している。オブジェクト11の情報として、例えばオブジェクトの大きさ、位置及び種類を記憶している。マウスカーソル制御部5の有無にかかわらず、アプリケーション処理部4は、通常オブジェクトテーブル80を用いて動作する。
続いて、メッセージ処理部20の処理について説明する。図4に、メッセージ処理部20によるメッセージ処理の例を示す。
メッセージ処理部20は、自プロセス宛にオペレーティングシステム2から通知されるメッセージを受け取る(S101)。そして、メッセージ処理部20は、メッセージに含まれるイベントの内容を読み取り、イベントの種類に応じて処理を振り分けるように動作する。
図4に示すように、メッセージ処理部20は、イベントの内容がフォーカスの移動であるか否かを判定し(S103)、フォーカスの移動である場合には、フォーカス移動処理部30によるフォーカス移動処理(S105)に移行する。フォーカス移動処理(S105)の後は、メッセージ処理部20によるメッセージの受け取り(S101)に戻る。
一方、イベントの内容がフォーカスの移動でない場合には、メッセージ処理部20は、イベントの内容がタイマーイベントであるか否かを判定する(S107)。イベントの内容がタイマーイベントである場合には、タイマーイベント処理部40によるタイマーイベント処理(S109)に移行する。タイマーイベント処理(S109)の後は、メッセージ処理部20によるメッセージの受け取り(S101)に戻る。
一方、イベントの内容がタイマーイベントでない場合には、メッセージ処理部20は、イベントの内容がマウス移動であるか否かを判定し(S111)、イベントの内容がマウス移動である場合には、マウス移動処理部50によるマウス移動処理(S113)に移行する。マウス移動処理(S113)の後は、メッセージ処理部20によるメッセージの受け取り(S101)に戻る。
一方、イベントの内容がマウス移動でない場合には、通常他のイベントに関する判断に移るが、これらの判断はマウスカーソル制御部5の動作と関わりがないので説明を省略する。尚、他のイベントに関する判断が行われ、そのイベントに関する処理が行われる場合でも、メッセージ処理部20によるメッセージの受け取り(S101)に戻る。
このようにして、メッセージ処理部20はメッセージの内容に応じて、イベントに対する処理に振り分ける制御を行う。尚、イベントの判定の順序は、この例に限られるものではなく、他の順序であってもよい。
続いて、フォーカス移動処理部30によるフォーカス移動処理(S105)について説明する。まず、フォーカスの移動を検出することが、マウスカーソル12の制御の契機となる。
図5は、フォーカス移動処理のフローを示す図である。フォーカス移動処理部30は、マウスによるイベントであるか否かを判定する(S201)。マウスは、マウスカーソル12を移動させる指示を入力するための装置の例である。他に、フラットポイントやマウスタブレットなどの場合も、マウスと同様に判定するようにしてもよい。以下、同様である。
フォーカス移動のイベントには、フォーカス移動を指示した装置の情報が含まれている。装置の情報により、マウス操作によるフォーカス移動とキー操作によるフォーカス移動を区別することができる。
マウス操作によるフォーカス移動の場合には、ユーザの混乱を避けるために、フォーカス移動に連動した本制御によるマウスカーソルの移動は行わない。
マウス操作によらないフォーカス移動の場合には、設定部31による設定処理(S203)に移行する。これにより、キー操作によるフォーカス移動の場合には、設定部31による設定処理(S203)が行われることになる。
このように判定することによって、例えば、ショートカットキー、アクセラレーションキー、あるいはタブ移動(タブキー、シフトキー+タブキー)などのキー操作によってフォーカスが移動する場合に、マウスカーソルが連動する。
更に、数字入力フィールドに入力された数字が所定桁数を越え、あるいはテキスト入力フィールドに入力された文字数が所定数を越えたことにより、自動的にフォーカスが移動されるような場合にも、マウスカーソル12が連動する。
次に、設定部31による設定処理(S203)について説明する。図6に、設定処理のフローを示す。設定部31は、まず移動先のオブジェクト11を特定する(S301)。移動先のオブジェクト11を示す情報は、フォーカスの移動のイベントに含まれているので、設定部31は、これを読み取る。
設定部31は、更に、移動先のオブジェクトの大きさ、位置及び種類の情報を、オブジェクトテーブル80から取得する(S303)。
尚、オブジェクト11には幾つかの種類がある。図7乃至図10に、チェックボックスにおいてフォーカスを表示する例と、ラジオボタンにおいてフォーカスを表示する例と、ボタンにおいてフォーカスを表示する例と、テキスト入力フィールドにおいてフォーカスを表示する例を示す。
図7では、「checkBox1」のチェックボックスにフォーカスがあることが、破線の囲み線により示されている。図8では、「radioButton1」のラジオボタンにフォーカスがあることが、破線の囲み線により示されている。図9では、「OK」のボタンにフォーカスがあることが、破線の囲み線により示されている。図10では、「textbox sample」の末尾でキャレットが点滅するが、破線の囲み線がないので、フォーカスがあることがわかりにくい。
図6に戻って、設定部31は、オペレーティングシステム2からマウスカーソル12の位置を取得する(S305)。更に、設定部31は、終点決定処理(S307)により、マウスカーソルの移動先となる終点を決定する。
終点決定処理(S307)について説明する。図11に、終点決定処理のフローを示す。この例で、設定部31は、オブジェクト11の種類がチェックボックス、ラジオボタン及びボタンのいずれかであるか、あるいはテキスト入力フィールドであるかを判定する(S401)。
まず、オブジェクトの種類が、チェックボックス、ラジオボタン及びボタンのいずれかである場合の処理について説明する。これらのオブジェクトの場合には、右下の付近にマウスカーソル12を表示することにより、マウスカーソル12がオブジェクト11の表示に重なることを避ける。
図12は、マウスカーソル12aの始点と終点の関係を示す図である。図中原点は、画面の左上隅であると仮定する。
この例では、オブジェクトの位置(x,y)は、オブジェクトの矩形における左上の端点の座標を示している。また、オブジェクトの大きさ(A,B)は、オブジェクトの矩形の横幅Aと縦幅Bを示している。従って、オブジェクトの矩形における右下の端点の位置は、オブジェクトの横軸座標xにオブジェクトの横幅Aを加えた横軸座標x+Aと、オブジェクトの縦軸座標yにオブジェクトの縦幅Bを加えた縦軸座標y+Bとにより求めることができる。
この例で、マウスカーソル12aの位置は、マウスカーソル12aのホットスポットの座標を示している。また、終点におけるマウスクリックがイベントに対する操作として認識されることが望ましいので、マウスカーソル12bのホットスポットがオブジェクトの内側に重なるように調整する。従って、オブジェクトの矩形における右下の端点から、原点側に横軸座標をpドット減じ、更に同じく原点側に縦軸座標をqドット減ずる。そのため、終点は、(x+A−p,y+B−q)となる。pとqは、例えば2〜4ドットとする。
図11に戻って、設定部31は、上述の位置関係を前提として、オブジェクトの矩形における右下の端点の位置を算出する(S403)。つまり、設定部31は、オブジェクトの位置(x,y)にオブジェクトの大きさ(A,B)を加算して、右下位置(x+A,y+B)を求める。
更に、設定部31は、左上方に微小幅だけ位置を修正する(S405)。設定部31は、上述の位置関係によれば、右下位置(x+A,y+B)から調整幅(p,q)を減じて、終点(x+A−p,y+B−q)を求める。
図11に示したオブジェクトの種類(S401)の判定に戻って、オブジェクト11の種類がテキスト入力フィールドである場合には、設定部31は、オペレーティングシステム2からキャレット位置を取得し(S407)、取得したキャレット位置を終点に設定する。
マウスカーソル12の種類の変更に伴いホットスポットが変更される場合には、その差分修正するようにしてもよい。その場合には、マウスカーソル表示範囲内における変更後のホットスポットの位置から変更前のホットスポットの位置を引いて、変動量を求める。そして、その変動量を終点に加えることにより終点を修正する。
図6に戻って、設定部31は、移動ベクトル算出処理(S309)により、一回の移動に伴う移動方向と移動距離を特定する移動ベクトルを算出する。
移動ベクトル算出処理(S309)について、常に一定の速度で移動する例と、始点と終点間の距離に応じて速度を変えて始点と終点間の移動に要する時間を一定とする例と、始点と終点間の移動中に速度が変化する例とについて説明する。
まず、図13に従って、常に一定の速度で移動する例について説明する。設定部31は、まず始点を算出する(S501)。通常、設定部31は、S305で取得したマウスカーソル位置を始点とする。
マウスカーソル12の種類の変更に伴いホットスポットが変更される場合には、その差分修正するようにしてもよい。その場合には、マウスカーソル表示範囲内における変更後のホットスポットの位置から変更前のホットスポットの位置を引いて、変動量を求める。そして、その変動量を始点に加えることにより始点を修正する。
設定部31は、続いて移動の方向を算出する(S503)。設定部31は、始点から終点へのベクトルの方向を求める。移動の方向は、始点から終点へのベクトルの方向と同じにする。
設定部31は、一定長ベクトルを算出する(S505)。この例では、ベクトル長を一定とするので、設定部31は、移動の方向と一定長のベクトルを求め、移動ベクトルとして記憶領域60に格納する。
次に、図14に従って、始点と終点間の移動に要する時間を一定とする例について説明する。この例では、移動距離が長い場合には早く移動し、移動距離が短い場合には遅く移動することになる。
始点の算出(S601)と方向の算出(S603)は、図13のS501とS503と同様であるので、説明を省略する。
設定部31は、移動距離を算出する(S605)。具体的には、設定部31は始点と終点間の距離を求め、移動距離とする。
設定部31は、次に、個別移動距離を算出する(S607)。具体的には、設定部31は、移動距離を所定の移動回数で割ることによって、個別移動距離を求める。
そして、設定部31は、移動の方向と個別移動距離を有する個別移動距離ベクトルを算出する(S609)。この場合、個別移動距離ベクトルは各移動において共通であるので、一つで足りる。設定部31は、個別移動距離ベクトルを記憶領域60の移動ベクトル69の領域に格納する。
最後に、図15に従って、始点と終点間の移動中に速度が変化する例について説明する。始点の算出(S701)と方向の算出(S703)は、図13のS501とS503と同様であるので、説明を省略する。また、移動距離の算出(S705)は、図14のS605と同様であるので、説明を省略する。
設定部31は、変動長を算出する(S707)。設定部31は、例えば、移動の各回における変動量を求める。変動長の求め方は限定されないが、設定部31は、変動長の合計が移動距離と一致するようにする。設定部31は、滑らかな曲線を有する関数を用い、移動回数分の変数に対する関数値を求め、それらの関数値の比と同じになるように、変動長を求めることも有効である。例えば、N−1回の移動を行う場合に、sin(π/N)、sin(2π/N)、sin(3π/N)、・・・、sin((N−1)π/N))に比例するように変動長を設定する。このようにすることによって、滑らかな移動が実現される。
特に、終点に至る直前の複数回の移動における変動長を、始点と終点の中間付近における変動長よりも短くすることが有効である。これにより、終点付近の移動速度が遅くなり、終点位置への注意を引くことができるようになる。
また、始点からの直後の複数回の移動における変動長を、始点と終点の中間付近における変動長よりも短くするようにしてもよい。これにより、移動開始時の移動速度を遅くし、マウスカーソルが自動的に動くことへの違和感を減ずることができるようになる。
設定部31は、移動の方向と変動長を有する変動長ベクトルを算出する(S709)。設定部31は、変動長ベクトルを移動の回毎に特定できるようにする。設定部31は、例えば、各回に対応する変動長ベクトルを算出し、移動回数と同数の変動長ベクトルを記憶領域60の移動ベクトル69の領域に格納する。
図6に戻って、設定部31は、作動中フラグがONであるか、あるいはOFFであるかを判定する(S311)。作動中フラグがOFFである場合には、マウスカーソル12の制御を始めるための設定(S313〜S319)を行う。作動中フラグがONである場合には、すでにこれらの設定がなされているのでそのまま終了する。
設定部31は、オペレーティングシステム2に対してタイマーイベントの登録を行う(S313)。これにより、所定間隔で、オペレーティングシステム2からメッセージ処理部20へタイマーイベントのメッセージが通知されるようになる。設定部31は、タイマーイベントの登録において、マウスカーソル12の動きが連続的に見える程度の所定間隔を設定する。例えば、0.1秒程度に設定するようにしてもよい。これにより、ユーザは、マウスカーソル12の位置の変化に追従できるようになる。更に、設定部31は、オペレーティングシステム2に対して、タイマーイベントの番号を指定する。設定部31は、タイマーイベントの指定した番号を記憶領域60のタイマーイベント番号65の領域に格納する。
設定部31は、更に、オペレーティングシステム2からマウスカーソル12の種類を取得し、記憶領域60の元のマウスカーソルの種類71の領域に格納する(S315)。S305で取得したマウスカーソル位置に、マウスカーソル12の種類を示す情報が付随されている場合には、設定部31はそれを用いてもよい。
設定部31は、オペレーティングシステム2に対して、本制御により移動中であることを示すマウスカーソルの表示形態になるように、マウスカーソル12の種類を変更する命令を出す(S317)。最後に、設定部31は、記憶領域60の作動中フラグ61をONにする(S319)。
以上で、図5の設定処理(S203)を含む図4のフォーカス移動処理(S105)の説明を終える。
続いて、図4のタイマーイベント処理(S109)について説明する。上述の通り、タイマーイベントを登録している状態では、オペレーティングシステム2から所定の間隔でタイマーイベントのメッセージが通知される。このメッセージを受けた場合に、タイマーイベント処理部40によるタイマーイベント処理(S109)が開始される。
図16に、タイマーイベント処理のフローを示す。タイマーイベント処理部40は、受け付けたタイマーイベントが、登録したタイマーイベントであるか否かを判定する(S801)。具体的には、受け付けたタイマーイベントに付随するタイマーイベント番号を特定し、記憶領域60に記憶しているタイマーイベント番号65と比較する。タイマーイベント番号が一致する場合には、登録したタイマーイベントであるので、タイマーイベント処理部40は、S803以降の処理を継続する。一方、タイマーイベント番号が一致しない場合には、登録したタイマーイベントではないので、他のタイマーイベントの処理に移行する。但し、他のタイマーイベントの処理は本実施例とは関係ないので説明を行わない。
続く状況判定部41による状況判定処理(S803)について説明する。図17に、状況判定の処理フローを示す。状況判定部41は、まず中断フラグ63がONであるかOFFであるかを判定する(S901)。中断フラグ63がONである場合には、状況判定部41は状況を「中断」であると判定する(S909)。尚、中断フラグ63は、中断判定部51により設定される。この処理については、図21を用いて後述する。
中断フラグ63がOFFである場合には、状況判定部41は、マウスカーソル12が終点に到達したか否かを判定する(S903)。具体的には、状況判定部41は、オペレーティングシステム2からマウスカーソル12の位置を取得し、終点位置67と比較する。マウスカーソル12の位置と終点位置67が一致する場合には、状況判定部41は、マウスカーソル12が終点に到達したと判定し、状況を「終了」と判定する(S907)。一方、マウスカーソル12の位置と終点位置67が一致しない場合には、状況判定部41は、マウスカーソル12が終点に到達していないと判定し、状況を「継続」と判定する(S905)。
図16に戻って、タイマーイベント処理部40は、状況が「継続」であるか否かを判定する(S805)。状況判定処理(S803)により判定された状況が「継続」である場合には、移動部43による移動処理(S807)に移行する。
図18に、移動処理のフローを示す。移動部43は、まずオペレーティングシステム2からマウスカーソル位置を取得する(S1001)。続いて、移動部43は、移動ベクトル69を読み、マウスカーソル位置に移動ベクトル69を加算して移動先位置を算出する(S1003)。
移動部43は、移動先が終点の近傍であるか否かを判定する(S1005)。この場合の近傍の範囲は、終点及び終点を越える範囲を含み、更にベクトルの方向や距離の計算上の誤差により生じるずれを想定した範囲も含む。
移動先が終点の近傍である場合には、移動部43は、終点を移動先位置とし(S1007)、オペレーティングシステム2へ移動位置へのマウスカーソル12の移動命令を出す(S1009)。これにより、最終的なマウスカーソル位置が終点に修正されるようになる。 一方、移動先が終点の近傍でない場合には、移動部43は、そのままオペレーティングシステム2へ移動位置へのマウスカーソル12の移動命令を出す(S1009)。このようにして、終点までマウスカーソルの移動が繰り返される。
図16に戻って、状況が「継続」ではない場合には、タイマーイベント処理部40は、状況が「終了」であるか「中断」であるかを判定する(S809)。状況が「終了」である場合には、終了部45による終了処理(S811)に移行する。
図19に、終了処理のフローを示す。終了部45は、タイマーイベントを解除する(S1101)。具体的には、終了部45は、オペレーティングシステム2に対してタイマーイベントの解除命令を出し、記憶領域60のタイマーイベント番号65をクリアする。
終了部45は、更に、中断フラグ63をOFFに設定し(S1103)、作動中フラグ61をOFFに設定する(S1105)。また、終了部45は、マウスカーソル12の終点表示を行う(S1107)。終了部45は、例えば、マウスカーソル12のアニメーション表示を行う。具体的には、終了部45は、オペレーティングシステム2へマウスカーソル12の種類を変更する命令を、間隔を置いて複数回出す。
また、終了部45は、マウスカーソル12の種類の復元を行う(S1109)。具体的には、終了部45は、記憶領域60の元のマウスカーソルの種類71を読み、オペレーティングシステム2へ元のマウスカーソルの種類への変更命令を出す。
上述の動作により、始点から終点までのマウスカーソル12の移動は完了する。
続いて、ユーザの操作に従ってマウスカーソル12の制御を中断する場合について説明する。この例では、ユーザのマウス操作を検出した場合に、マウスカーソル12の制御を中断させる。
図4のS111でメッセージ処理部20が、イベントの内容がマウス移動であると判定した場合には、マウス移動処理部50によるマウス移動処理(S113)に移行する。
図20に、マウス移動処理のフローを示す。移動部43は、作動中フラグ61がONであるかOFFであるかを判定する(S1201)。作動中フラグがOFFである場合には、マウスカーソル12を制御していないので処理は終了する。作動中フラグがONである場合には、中断判定部51による中断判定処理(S1203)に移行する。
図21に、中断判定処理のフローを示す。中断判定部51は、マウス移動の方向が本制御による移動ベクトル69の方向と一致するか否かを判定する(S1301)。マウス移動の方向は、マウス移動のイベントに付随するマウス移動のベクトルから特定することができる。マウス移動の方向が本制御による移動ベクトル69の方向と一致する場合には、本制御によるマウスカーソル12の移動であると想定されるので、中断判定部51は、そのまま終了する。
一方、マウス移動の方向が本制御による移動ベクトル69の方向と一致しない場合には、ユーザのマウス操作によるマウスカーソル12の移動であると想定されるので、中断判定部51は、中断フラグ63をONに設定して終了する(S1303)。
この例では、方向の一致と不一致のみを判定したが、マウス移動の距離と、移動ベクトルの長さとを比較し、それらが一致することを中断の条件に加えるようにしてもよい。
中断フラグ63がONの状態で、メッセージ処理部20がタイマーイベントを通知するメッセージを受けると、図4のS107でタイマーイベントであると判定し、S109のタイマーイベント処理に移行する。図16に示したタイマーイベント処理のS801からS805を経て、タイマーイベント処理部40はS809で状況が「中断」であると判定する。そして、中断部47による中断処理(S813)に移行する。
図22は、中断処理のフローを示す図である。中断部47は、図19に示した終了処理のS1101と同様にタイマーイベントを解除する(S1401)。更に、中断部47は、図19に示した終了処理のS1103と同様に中断フラグ63をOFFに設定し(S1403)、図19に示した終了処理のS1105と同様に作動中フラグ61をOFFに設定する(S1405)。最後に、中断部47は、図19に示した終了処理のS1109と同様にマウスカーソル12の種類を復元する(S1407)。
このようにして、中断が完了する。以上で、実施の形態1の説明を終了する。
[実施の形態2]
第1の実施の形態では、マウスカーソル制御部5を画面を表示させるアプリケーションプログラム3内に設ける例について説明したが、本実施の形態では、アプリケーションプログラム3とは別に、マウスカーソル制御部5を有する常駐プログラムを設ける例について説明する。
図23は、第2の実施の形態におけるプログラムの構成例を示す図である。常駐プログラム6は、他のアプリケーションプログラム3a,3bのプロセスに依存せずに、独立したプロセスとして常駐する。本実施例における常駐プログラム6は、アプリケーションプログラム3へのイベントを通知するメッセージをフックし、フックしたメッセージのイベント内容を判断して動作する。
図24は、第2の実施の形態における常駐プログラムの構成例を示す図である。常駐プログラム6は、第1の実施の形態におけるメッセージ処理部20に代えてイベントフック部21を有する。また、第1の実施の形態におけるオブジェクトテーブル80を保持していない。以下、第1の実施の形態と異なる点を中心に説明する。
イベントフック部21によるイベントフック処理について説明する。図25は、イベントフック処理のフローを示す図である。イベントフック部21は、画面表示に関するイベントをフックする(S1501)。具体的には、イベントフック部21は、アプリケーションプログラム3a、3bのプロセスに対して通知されるメッセージを受信し、イベントの内容を特定する。S103〜S113の処理は、図4と同様である。
図6に示した設定処理のオブジェクトの特定(S301)とオブジェクトの大きさ、位置、種類の取得(S303)の動作が第1の実施の形態と異なる。これについて、説明する。
設定部31は、フォーカス移動のイベントに付随するアプリケーションハンドルとオブジェクトIDを特定する。更に、設定部31は、オペレーティングシステム2からアプリケーションハンドルにより特定されるアプリケーションプログラム3a、3bのキャプチャを取得する。キャプチャには、アプリケーションプログラム3a、3bが画面に表示させているウインドウやダイアログボックスに含まれるオブジェクト11の情報が含まれている。設定部31は、キャプチャからオブジェクトIDに対応するオブジェクトの大きさ、位置、種類を抽出する。S305以降の処理は、第1の実施の形態と同様である。
このように、イベントをフックし、オペレーティングシステム2からオブジェクトの情報を取得することによって、アプリケーションプログラム3a、3bの外からも、オブジェクト間のフォーカス移動に連動してマウスカーソル12を制御することができる。
[実施の形態3]
本実施の形態では、マウスドライバ内にマウスカーソル制御部5を設ける例について説明する。基本的には、第2の実施の形態と同様の仕組みによって、マウスドライバで常駐プログラムと同様の処理を行う。
図26は、第3の実施の形態におけるプログラムの構成例を示す図である。マウスドライバ7は、第2の実施の形態における常駐プログラム6と同様に、他のアプリケーションプログラム3a、3bのプロセスに依存せずに、独立して常駐する。
マウスドライバ7は、第2の実施の形態における常駐プログラム6と同様に、アプリケーションプログラム3a、3bへのイベントを通知するメッセージをフックし、イベント内容を判断して動作する。
図27は、第3の実施の形態におけるマウスドライバ7の構成例を示す図である。マウスドライバ7は、第2の実施の形態における常駐プログラム6と同様に、第1の実施の形態におけるメッセージ処理部20に代えてイベントフック部21を有する。この場合も、オブジェクトテーブル80を保持しない。
図6に示した設定処理のオブジェクトの特定(S301)とオブジェクトの大きさ、位置、種類の取得(S303)については、第2の実施の形態と同様である。
マウスドライバ7は、マウスカーソル12の位置など、マウスの操作に伴う情報を保持しているので、これらの情報をオペレーティングシステム2から取得せずに、自ら保持する情報を用いて動作するようにしてもよい。
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べたマウスカーソル制御装置は、コンピュータ装置であって、図28に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係るプログラムは、(A)画面に表示された複数のオブジェクト間においてフォーカスが移動したことを示すイベントを検出した場合に、当該フォーカスの移動先のオブジェクトを特定し、当該移動先のオブジェクトの位置を特定し、当該移動先のオブジェクトの位置に基づいてマウスカーソルを移動させる終点を設定する設定処理と、(B)マウスカーソルの位置が終点に至るまで、終点により近い位置へのマウスカーソルの移動を複数回行う移動処理をコンピュータに実行させる。
このようにすれば、フォーカス移動先のオブジェクトに向かう移動軌跡を表示することになるので、フォーカス移動先のオブジェクトまでユーザの視点を誘導することができる。また、複数回に分けてマウスカーソルの位置をフォーカス移動先のオブジェクトまで移動させるので、ユーザは移動するマウスカーソルを視覚的に捕らえやすい。
更に、ウインドウが開かれた瞬間のみならず、ウインドウが開かれている状態で移動するフォーカスを随時追いかけるので、データの入力や選択の項目が多いウインドウであっても、ユーザに混乱を生じさせない。
また、フォーカスの移動が、マウスカーソルを移動させる指示を入力するための装置以外の装置(例えば、キーボード)に対する操作により生じた場合に、設定処理を行うようにしてもよい。
このようにすれば、ユーザによるマウスやフラットポイントやマウスタブレットなどの操作によるフォーカス移動を阻害しないようにすることができる。
また、設定処理において、更に、移動先のオブジェクトの大きさを特定し、移動先のオブジェクトの位置と特定された移動先のオブジェクトの大きさとに基づいて、終点を設定するようにしてもよい。
このようにすれば、オブジェクトの表示を害さず、オブジェクトへのデータ入力や選択を促すことに適した終点を設定することができるようになる。
また、設定処理において、マウスカーソルの現在位置を特定し、特定された当該現在位置から終点への方向を有する移動ベクトルを算出し、移動処理において、移動ベクトルに従って、マウスカーソルの移動を繰り返すようにしてもよい。
このようにすれば、マウスカーソルの現在位置から移動を開始するようになるので、ユーザの認識を促しやすい。
また、移動処理において、ユーザが移動によるマウスカーソルの位置の変化を追従できる移動距離と時間間隔で、マウスカーソルの移動を繰り返すようにしてもよい。
このようにすれば、マウスカーソルの移動をユーザが認識しやすくなる。更に、マウスカーソルの見失いを防ぎ、唐突感を生じさせない。
また、移動処理において、マウスカーソルの位置が終点に至る直前の複数回の移動における移動速度を、マウスカーソルの位置が終点に至る中間付近における移動速度よりも遅くするようにしてもよい。
このようにすれば、終点の指すオブジェクトへの注目を促すことができる。また、終点の予測もしやすくなる。
更に、マウスカーソルを移動させる指示を入力するための装置に対するユーザの操作によるマウスカーソルの移動が生じたと判定した場合に、移動処理におけるマウスカーソルの移動を中断させる中断処理を含むようにしてもよい。
このようにすれば、マウスカーソルの移動中に、ユーザがマウスやフラットポイントやマウスタブレットなどを操作した場合には、その操作を阻害しないようにすることができる。
また、設定処理において、マウスカーソルの表示形態を変更するようにしてもよい。
このようにすれば、移動中のマウスカーソルの表示形態が変わり、フォーカスに連動して移動していることをユーザに認識させることができる。
更に、マウスカーソルの位置が終点に至った場合に、設定処理における変更を行う前のマウスカーソルの表示形態を復元する終了処理を含むようにしてもよい。
このようにすれば、元のマウスカーソルの表示形態に戻るので、マウスカーソル移動の前後で状態を継続し、操作上の違和感を生じさせないようにすることができる。
更に、マウスカーソルの位置が終点に至った場合に、マウスカーソルのアニメーション表示を行う終点表示処理を含むようにしてもよい。
このようにすれば、マウスカーソルのあるオブジェクトにフォーカスがあり、フォーカスに連動した移動が終了したことをユーザに認識させることができる。
また、設定処理において、画面を表示させるプロセスへのイベントをフックすることにより、画面に表示された複数のオブジェクト間においてフォーカスが移動したことを示すイベントを検出するようにしてもよい。
このようにすれば、アプリケーションプログラムに手を加えることなく、様々なアプリケーションプログラムに対して、マウスカーソルのフォーカス連動を実現することが可能である。
また、設定処理において、更に、移動先のオブジェクトの種類を特定し、移動先のオブジェクトの位置と移動先のオブジェクトの大きさと特定された移動先のオブジェクトの種類とに基づいて、マウスカーソルを移動させる終点を設定するようにしてもよい。
このようにすれば、オブジェクトの種類に応じて、適した終点を設定することができる。
また、設定処理において、移動先のオブジェクトの種類がテキスト入力フィールドである場合に、テキスト入力フィールドに含まれるキャレットの位置を特定し、特定したキャレットの位置をマウスカーソルを移動させる終点に設定するようにしてもよい。
このようにすれば、既に入力されているテキストデータの表示を害することなく、テキストデータの追加入力を促すことができる。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。

Claims (5)

  1. 画面に表示された複数のオブジェクト間においてフォーカスが移動したことを示すイベントを検出した場合に、当該フォーカスの移動が、マウスカーソルを移動させる指示を入力するための装置に対する、マウスカーソルを動かすためのユーザ操作により生じたか否かを判定する判定処理と、
    当該フォーカスの移動が、当該装置に対する、マウスカーソルを動かすためのユーザ操作により生じたと判定された場合を除き、当該フォーカスの移動先のオブジェクトを特定し、当該移動先のオブジェクトの位置を特定し、当該移動先のオブジェクトの位置に基づいてマウスカーソルを移動させる終点を設定する設定処理と、
    前記マウスカーソルの位置が前記終点に至るまで、前記終点により近い位置への前記マウスカーソルの移動を複数回行う移動処理
    をコンピュータに実行させるためのプログラム。
  2. 前記移動処理において、前記マウスカーソルの位置が前記終点に至る直前の複数回の移動における移動速度を、前記マウスカーソルの位置が前記終点に至る中間付近における移動速度よりも遅くする
    請求項1記載のプログラム。
  3. 更に、
    ユーザのマウス操作による前記マウスカーソルの移動が生じたと判定した場合に、前記移動処理における前記マウスカーソルの前記移動を中断させる中断処理
    を含む請求項1又は2記載のプログラム。
  4. 前記設定処理において、前記移動先のオブジェクトの種類がテキスト入力フィールドである場合に、前記テキスト入力フィールドに含まれるキャレットの位置を特定し、特定した前記キャレットの位置を前記マウスカーソルを移動させる前記終点に設定する
    請求項1乃至3のいずれか1つ記載のプログラム。
  5. 画面に表示された複数のオブジェクト間においてフォーカスが移動したことを示すイベントを検出した場合に、当該フォーカスの移動が、マウスカーソルを移動させる指示を入力するための装置に対する、マウスカーソルを動かすためのユーザ操作により生じたか否かを判定する判定処理と、
    当該フォーカスの移動が、当該装置に対する、マウスカーソルを動かすためのユーザ操作により生じたと判定された場合を除き、当該フォーカスの移動先のオブジェクトを特定し、当該移動先のオブジェクトの位置を特定し、当該移動先のオブジェクトの位置に基づいてマウスカーソルを移動させる終点を設定する設定処理と、
    前記マウスカーソルの位置が前記終点に至るまで、前記終点により近い位置への前記マウスカーソルの移動を複数回行う移動処理
    をコンピュータにより実行するマウスカーソル制御方法。
JP2014511018A 2012-04-18 2012-04-18 マウスカーソル制御方法、マウスカーソル制御装置およびプログラム Expired - Fee Related JP5867595B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/060453 WO2013157092A1 (ja) 2012-04-18 2012-04-18 マウスカーソル制御方法、マウスカーソル制御装置およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2013157092A1 JPWO2013157092A1 (ja) 2015-12-21
JP5867595B2 true JP5867595B2 (ja) 2016-02-24

Family

ID=49383079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014511018A Expired - Fee Related JP5867595B2 (ja) 2012-04-18 2012-04-18 マウスカーソル制御方法、マウスカーソル制御装置およびプログラム

Country Status (3)

Country Link
US (1) US9910556B2 (ja)
JP (1) JP5867595B2 (ja)
WO (1) WO2013157092A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280286B2 (en) * 2008-08-07 2016-03-08 International Business Machines Corporation Managing GUI control auto-advancing
JP5870978B2 (ja) * 2013-09-17 2016-03-01 コニカミノルタ株式会社 処理装置及び処理装置制御方法
JP6645052B2 (ja) * 2015-07-13 2020-02-12 凸版印刷株式会社 ポインタ制御装置、ポインタ制御方法、プログラム、及びポインタ制御システム
US10788947B1 (en) 2019-07-05 2020-09-29 International Business Machines Corporation Navigation between input elements of a graphical user interface
WO2021176523A1 (ja) * 2020-03-02 2021-09-10 日本電信電話株式会社 画面認識装置、画面認識方法およびプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0433206B1 (en) 1989-12-15 1996-03-20 International Business Machines Corporation Combined keyboard and mouse computer entry
US5198802A (en) 1989-12-15 1993-03-30 International Business Machines Corp. Combined keyboard and mouse entry
CA2140164A1 (en) * 1994-01-27 1995-07-28 Kenneth R. Robertson System and method for computer cursor control
JPH1165800A (ja) * 1997-08-26 1999-03-09 Nec Corp グラフィカルユーザインターフェース制御装置およびその記憶媒体
JP2003091371A (ja) * 2001-07-09 2003-03-28 Square Co Ltd 情報処理装置、入出力処理方法、プログラム及び記録媒体
JP3805755B2 (ja) * 2003-03-27 2006-08-09 三菱電機インフォメーションシステムズ株式会社 オブジェクト操作装置及びプログラム及び制御方法
JP4241642B2 (ja) * 2005-02-23 2009-03-18 日本電気株式会社 情報表示方法、情報表示装置及び情報表示プログラム
JP2006235832A (ja) * 2005-02-23 2006-09-07 Fujitsu Ltd 処理装置、情報処理方法、およびプログラム
US7600194B2 (en) * 2005-12-02 2009-10-06 Microsoft Corporation Start menu operation for computer user interface
US7523418B2 (en) * 2006-03-15 2009-04-21 International Business Machines Corporation Techniques for choosing a position on a display having a cursor
JP2008176577A (ja) * 2007-01-18 2008-07-31 Sony Computer Entertainment Inc 情報表示システム、情報表示方法及びプログラム
US7904835B1 (en) * 2007-05-05 2011-03-08 Adobe Systems Incorporated Synchronizing keyboard cursor and mouse cursor movements
JP5273959B2 (ja) * 2007-07-09 2013-08-28 キヤノン株式会社 映像処理装置及び映像処理方法
US20090249257A1 (en) * 2008-03-31 2009-10-01 Nokia Corporation Cursor navigation assistance
US8327294B2 (en) * 2008-07-17 2012-12-04 International Business Machines Corporation Method and system to reduce workload and skills required in usage of mouse or other pointing devices
CN102239465A (zh) * 2008-12-04 2011-11-09 三菱电机株式会社 显示输入装置
JP2011243070A (ja) 2010-05-19 2011-12-01 Sony Corp 情報処理システムおよび情報処理装置
US20130125066A1 (en) * 2011-11-14 2013-05-16 Microsoft Corporation Adaptive Area Cursor

Also Published As

Publication number Publication date
JPWO2013157092A1 (ja) 2015-12-21
WO2013157092A1 (ja) 2013-10-24
US9910556B2 (en) 2018-03-06
US20140365931A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
KR101356368B1 (ko) 어플리케이션 전환 장치 및 방법
JP5867595B2 (ja) マウスカーソル制御方法、マウスカーソル制御装置およびプログラム
KR101838031B1 (ko) 휴대용 단말기에서 아이콘 관리 방법 및 장치
US10282081B2 (en) Input and output method in touch screen terminal and apparatus therefor
US9610507B2 (en) Non-transitory computer readable medium storing game program for moving a player character on a game field
EP2808771A1 (en) Method for processing input and electronic device thereof
KR20130080179A (ko) 휴대용 단말기에서 아이콘 관리 방법 및 장치
WO2018216080A1 (ja) ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
US20120060129A1 (en) Mobile terminal having touch screen and method for displaying contents therein
JP2012022632A (ja) 情報処理装置およびその制御方法
JP6336868B2 (ja) ゲームプログラム、及び、情報処理装置
US8543942B1 (en) Method and system for touch-friendly user interfaces
JP5532544B2 (ja) 情報出力装置およびプログラム
US20140223367A1 (en) Method of controlling operation menu and apparatus
US20170083177A1 (en) Information processing apparatus, information processing method, and information processing program
JP2016197325A (ja) コンテンツ表示制御方法、コンテンツ表示制御装置およびコンテンツ表示制御プログラム
JP6460753B2 (ja) 操作受付システム、方法およびプログラム
JP2018097443A (ja) 入力システム、入力プログラム
JP5676959B2 (ja) 情報処理装置及びその制御方法
JP2015176270A (ja) コンピュータの操作方法およびコンピュータ
JP6567233B2 (ja) タッチ入力判定装置、タッチパネル入力装置、タッチ入力判定方法、及びタッチ入力判定プログラム
US20170131824A1 (en) Information processing apparatus, information processing method, and information processing program
KR101954167B1 (ko) 플로팅 메뉴 제공 시스템
JP2018073311A (ja) 操作入力システム、操作入力プログラム
JP6190313B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151221

R150 Certificate of patent or registration of utility model

Ref document number: 5867595

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees