(57)【特許請求の範囲】
【請求項１】
ポインティングデバイスからの入力に基づいて画面に表示されるカーソルの位置を制御するカーソル制御方法であって、
前記ポインティングデバイスからの入力に基づいて前記カーソルの現在位置を検出する検出ステップと、
前記画面上の特定領域を示すマスク情報に重なる前記カーソルの現在位置を中心とする円の半径を前記特定領域と前記カーソル間の距離とする距離測定ステップと、
前記距離が増加する場合には前記カーソルの画面上の移動量を減少させる制御ステップとを含む、カーソル制御方法。
【請求項２】
前記制御ステップは、前記カーソルの現在位置が前記特定領域内に移動したときは前記カーソルの画面上の移動を一定時間無効とする、請求項１記載のカーソル制御方法。
【請求項３】
前記制御ステップは、前記距離が減少する場合には前記カーソルの画面上の移動量を増加させる、請求項１記載のカーソル制御方法。
【請求項４】
前記距離測定ステップは、前記カーソルの現在位置を中心とする円の半径を所定の値から段階的に大きくし、前記特定領域を示すマスク情報と重なった場合の円の半径を前記距離とする、請求項１記載のカーソル制御方法。
【請求項５】
ポインティングデバイスからの入力に基づいてコンピュータに画面に表示されるカーソルの位置を制御させるプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
前記ポインティングデバイスからの入力に基づいて前記コンピュータに前記カーソルの現在位置を検出させる検出手段と、
前記画面上の特定領域を示すマスク情報に重なる前記カーソルの現在位置を中心とする円の半径を前記特定領域と前記カーソル間の距離とさせる距離測定手段と、
前記距離が増加する場合には前記カーソルの画面上の移動量を減少させる制御手段としてコンピュータを機能させるためのプログラムを格納した、記憶媒体。
【請求項６】
前記制御手段は、前記カーソルの現在位置が前記特定領域内に移動したときは前記コンピュータに前記カーソルの画面上の移動を一定時間無効とさせる、請求項５記載の記憶媒体。
【請求項７】
前記制御手段は、前記距離が減少する場合には前記コンピュータに前記カーソルの画面上の移動量を増加させる、請求項５記載の記憶媒体。
【請求項８】
前記距離測定手段は、前記コンピュータに、前記カーソルの現在位置を中心とする円の半径を所定の値から段階的に大きくさせ、前記特定領域を示すマスク情報と重なった場合の円の半径を前記距離とさせる、請求項５記載の記憶媒体。
【請求項９】
ポインティングデバイスからの入力に基づいて画面にカーソルを表示する機能を有する情報処理装置であって、
前記ポインティングデバイスからの入力に基づいて前記カーソルの現在位置を検出する検出手段と、
前記画面上の特定領域を示すマスク情報に重なる前記カーソルの現在位置を中心とする円の半径を前記特定領域と前記カーソル間の距離とさせる距離測定手段と、
前記距離が増加する場合には前記カーソルの画面上の移動量を減少させる制御手段とを備えた、情報処理装置。
【請求項１０】
前記制御手段は、前記カーソルの現在位置が前記特定領域内に移動したときは前記カーソルの画面上の移動を一定時間無効とする、請求項９記載の情報処理装置。
【請求項１１】
前記制御手段は、前記距離が減少する場合には前記カーソルの画面上の移動量を増加させる、請求項９記載の情報処理装置。
【請求項１２】
前記距離測定手段は、前記カーソルの現在位置を中心とする円の半径を所定の値から段階的に大きくし、前記特定領域を示すマスク情報と重なった場合の円の半径を前記距離とする、請求項９記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明はカーソル制御方法、記憶媒体及び情報処理装置に係り、特にパーソナルコンピュータ、ワークステーション等の情報処理装置においてポインティングデバイスからの入力に基づいて表示装置の画面に表示されるカーソルの位置を制御するためのカーソル制御方法、コンピュータにカーソルの位置を制御させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体、及びこのようなカーソル制御情報を用いる情報処理装置に関する。
【０００２】
【従来の技術】
パーソナルコンピュータ、ワークステーション等の情報処理装置で用いられる表示装置は、最近ではグラフィカルなインタフェースを採用するものが主流となっている。ユーザが情報処理装置に対して何らかの指示を行う場合、キーボードだけではなく、マウス、ジョイスティック、トラックボール等のポインティングデバイスを用いて画面上のカーソルの移動を制御する機会が増えている。ポインティングデバイスからの入力に基づいて画面上に表示されるカーソルは、キーボードからの入力に基づいて画面上に表示される通常のカーソルと区別するために、マウスカーソルとも呼ばれる。
【０００３】
デスクトップ型の情報処理装置の場合、作業スペースが比較的広くとれるので、通常はマウスがポインティングデバイスとして使用される。他方、ノート型のパーソナルコンピュータ等の携帯型の情報処理装置の場合、ジョイスティックやトラックボール等がポインティングデバイスとして使用されることが多い。
【０００４】
【発明が解決しようとする課題】
ジョイスティックやトラックボール等のポインティングデバイスは、キーボードの一部に設けられているため、マウスと比較すると操作性が悪く、ポインティングデバイスを操作して画面上のカーソルの位置を速く、且つ、正確に移動させるのは困難であるという問題があった。
【０００５】
又、マウスの場合でも、ユーザが熟練者ではなくマウスの操作に不慣れであると、マウスを操作して画面上のカーソルの位置を速く、且つ、正確に移動させるのは困難であるという問題があった。
そこで、本発明は、ポインティングデバイスの種類及びユーザの熟練の度合いに拘らず、ポインティングデバイスを操作して画面上のカーソルの位置を速く、且つ、正確に移動可能とするカーソル制御方法、記憶媒体及び情報処理装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記の課題は、ポインティングデバイスからの入力に基づいて画面に表示されるカーソルの位置を制御するカーソル制御方法であって、前記ポインティングデバイスからの入力に基づいて前記カーソルの現在位置を検出する検出ステップと、前記画面上の特定の領域を示すマスク情報と前記カーソルの現在位置とに基づいて、前記ポインティングデバイスからの入力に基づく前記カーソルの画面上の移動量を制御する制御ステップとを含むカーソル制御方法によって達成できる。本発明によれば、ポインティングデバイスを操作して画面上のカーソルの位置を速く、且つ、正確に移動可能となる。
【０００７】
前記制御ステップは、前記カーソルの現在位置が前記特定領域内に移動したときは前記カーソルの画面上の移動を一定時間無効としても良い。本発明によれば、移動中のカーソルが画面上の特定の領域に入ると一瞬停止するので、例えばウィンドウの枠や画面上の小さなボタン等をクリックしたり、ドラッグしたりする場合に、カーソルを容易に位置決めすることができる。
【０００８】
又、前記制御ステップは、前記カーソルの現在位置の前記特定領域からの距離に基づいて前記カーソルの画面上の移動量を制御しても良い。この場合、前記制御ステップは、前記距離が増加する場合には前記カーソルの画面上の移動量を減少させても良く、前記距離が減少する場合には前記カーソルの画面上の移動量を増加させても良い。本発明によれば、移動中のカーソルが画面上の特定の領域に近づくにつれ移動速度を増加させてカーソルを素早く目的のウィンドウや画面上の小さなボタン等の位置まで移動させることができ、又、カーソルが特定の領域を通り過ぎると移動速度を減少させてカーソルが簡単に目的のウィンドウや画面上の小さなボタン等の位置を通り過ぎないようにすることができる。
【０００９】
前記特定領域は少なくとも第１の特定領域及び第２の特定領域とからなり、前記制御ステップは、前記カーソルの現在位置が前記第１の特定領域内にあるときは前記カーソルの画面上の移動を一定時間無効とし、前記カーソルの現在位置の前記第２の特定領域からの距離に基づいて前記カーソルの画面上の移動量を制御するようにしても良い。本発明によれば、画面上の特定の領域の種類に応じてカーソルの制御方法を変えて、より柔軟性の高いカーソル制御を実現できる。
【００１０】
上記の課題は、ポインティングデバイスからの入力に基づいてコンピュータに画面に表示されるカーソルの位置を制御させるプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、前記ポインティングデバイスからの入力に基づいて前記コンピュータに前記カーソルの現在位置を検出させる検出手段と、前記画面上の特定の領域を示すマスク情報と前記カーソルの現在位置とに基づいて、前記コンピュータに前記ポインティングデバイスからの入力に基づく前記カーソルの画面上の移動量を制御させる制御手段としてコンピュータを機能させるためのプログラムを格納した記憶媒体によっても達成できる。本発明によれば、ポインティングデバイスを操作して画面上のカーソルの位置を速く、且つ、正確に移動可能となる。
【００１１】
前記制御手段は、前記カーソルの現在位置が前記特定領域内に移動したときは前記コンピュータに前記カーソルの画面上の移動を一定時間無効とさせても良い。本発明によれば、移動中のカーソルが画面上の特定の領域に入ると一瞬停止するので、例えばウィンドウの枠や画面上の小さなボタン等をクリックしたり、ドラッグしたりする場合に、カーソルを容易に位置決めすることができる。
【００１２】
又、前記制御手段は、前記カーソルの現在位置の前記特定領域からの距離に基づいて前記コンピュータに前記カーソルの画面上の移動量を制御させても良い。この場合、前記制御手段は、前記距離が増加する場合には前記コンピュータに前記カーソルの画面上の移動量を減少させ、前記距離が減少する場合には前記コンピュータに前記カーソルの画面上の移動量を増加させても良い。本発明によれば、移動中のカーソルが画面上の特定の領域に近づくにつれ移動速度を増加させてカーソルを素早く目的のウィンドウや画面上の小さなボタン等の位置まで移動させることができ、又、カーソルが特定の領域を通り過ぎると移動速度を減少させてカーソルが簡単に目的のウィンドウや画面上の小さなボタン等の位置を通り過ぎないようにすることができる。
【００１３】
前記特定領域は少なくとも第１の特定領域及び第２の特定領域とからなり、前記制御手段は、前記カーソルの現在位置が前記第１の特定領域内にあるときは前記コンピュータに前記カーソルの画面上の移動を一定時間無効とさせ、前記カーソルの現在位置の前記第２の特定領域からの距離に基づいて前記コンピュータに前記カーソルの画面上の移動量を制御させるようにしても良い。本発明によれば、画面上の特定の領域の種類に応じてカーソルの制御方法を変えて、より柔軟性の高いカーソル制御を実現できる。
【００１４】
上記の課題は、ポインティングデバイスからの入力に基づいて画面にカーソルを表示する機能を有する情報処理装置であって、前記ポインティングデバイスからの入力に基づいて前記カーソルの現在位置を検出する検出手段と、前記画面上の特定の領域を示すマスク情報と前記カーソルの現在位置とに基づいて、前記ポインティングデバイスからの入力に基づく前記カーソルの画面上の移動量を制御する制御手段とを備えた情報処理装置によっても達成できる。本発明によれば、ポインティングデバイスを操作して画面上のカーソルの位置を速く、且つ、正確に移動可能となる。
【００１５】
前記制御手段は、前記カーソルの現在位置が前記特定領域内に移動したときは前記カーソルの画面上の移動を一定時間無効としても良い。本発明によれば、移動中のカーソルが画面上の特定の領域に入ると一瞬停止するので、例えばウィンドウの枠や画面上の小さなボタン等をクリックしたり、ドラッグしたりする場合に、カーソルを容易に位置決めすることができる。
【００１６】
又、前記制御手段は、前記カーソルの現在位置の前記特定領域からの距離に基づいて前記カーソルの画面上の移動量を制御しても良い。この場合、前記制御手段は、前記距離が増加する場合には前記カーソルの画面上の移動量を減少させ、前記距離が減少する場合には前記カーソルの画面上の移動量を増加させても良い。本発明によれば、移動中のカーソルが画面上の特定の領域に近づくにつれ移動速度を増加させてカーソルを素早く目的のウィンドウや画面上の小さなボタン等の位置まで移動させることができ、又、カーソルが特定の領域を通り過ぎると移動速度を減少させてカーソルが簡単に目的のウィンドウや画面上の小さなボタン等の位置を通り過ぎないようにすることができる。
【００１７】
前記特定領域は少なくとも第１の特定領域及び第２の特定領域とからなり、前記制御手段は、前記カーソルの現在位置が前記第１の特定領域内にあるときは前記カーソルの画面上の移動を一定時間無効とし、前記カーソルの現在位置の前記第２の特定領域からの距離に基づいて前記カーソルの画面上の移動量を制御するようにしても良い。本発明によれば、画面上の特定の領域の種類に応じてカーソルの制御方法を変えて、より柔軟性の高いカーソル制御を実現できる。
【００１８】
従って、本発明によれば、ポインティングデバイスの種類及びユーザの熟練の度合いに拘らず、ポインティングデバイスを操作して画面上のカーソルの位置を速く、且つ、正確に移動可能となる。
【００１９】
【発明の実施の形態】
以下、本発明の実施例を図面と共に説明する。
【００２０】
【実施例】
図１は、本発明になる情報処理装置の基本構成の一実施例を示す図である。同図中、パーソナルコンピュータ等の情報処理装置は、大略バス８で接続された中央処理装置（ＣＰＵ）１、ＲＡＭ２、ＲＯＭ３、ハードディスクコントローラ４、フロッピィディスクコントローラ５、グラフィックコントローラ６及びポインティングデバイス７と、ハードディスク装置９と、フロッピィディスク装置１０と、表示装置１１とからなる。説明の便宜上、ポインティングデバイス７はマウスであるものとするが、ポインティングデバイス７は情報処理装置に接続される構成であっても、情報処理装置のキーボード等に設けられた構成であっても良い。尚、同図では、キーボードの図示は省略する。
【００２１】
ＣＰＵ１は、情報処理装置全体の動作を制御するために設けられている。ＲＯＭ３は、ＣＰＵ１が実行するプログラムやデータ等を格納する。ＲＡＭ２は、ＣＰＵ１が行い演算処理の中間データ等を格納する。ハードディスクコントローラ４は、ＣＰＵ１の制御下でハードディスク装置９を制御して、ハードディスク装置９内のハードディスク（図示せず）に対するデータの書き込み及びデータの読み出しを制御する周知の構成を有する。又、フロッピィディスクコントローラ５は、ＣＰＵ１の制御下でフロッピィディスク装置１０を制御して、フロッピィディスク装置１０内のフロッピィディスク（図示せず）に対するデータの書き込み及びデータの読み出しを制御する周知の構成を有する。尚、ＣＰＵ１が実行するプログラムは、ハードディスクやフロッピィディスクに格納されていても良い。グラフィックコントローラ６は、ＣＰＵ１の制御下で、ポインティングデバイス７やキーボードからの入力に基づき表示装置１１の画面上の表示を制御する周知の構成を有する。
【００２２】
情報処理装置の基本構成は、図１に示す構成に限定されず、各種周知の基本構成を使用し得ることは言うまでもない。
図２は、本発明になる情報処理装置の第１実施例におけるＣＰＵ１の基本機能ブロック図である。情報処理装置の第１実施例は、本発明になるカーソル制御方法の第１実施例を採用する。
【００２３】
図２において、ＣＰＵ１は、大略マスク情報保持部１２、現在座標保持部１３、移動量検出部１４、座標算出部１５、解析部１６及びスイッチ部１７からなる。マスク情報保持部１２は、表示装置１１の画面上の特定の領域を示すマスク情報を保持する。現在座標保持部１３は、カーソルの現在位置の座標を保持する。現在座標保持部１３に保持されたカーソルの現在位置の座標は、バス８及びグラフィックコントローラ６を介して表示装置１１に供給され、カーソルが画面上の対応する位置に表示される。移動量検出部１４は、ポインティングデバイス７からの入力に基づいて、カーソルの画面上での移動量を検出する。座標算出部１５は、移動量検出部１４により検出された移動量と、現在座標保持部１３に保持された現在座標とに基づいて、カーソルの画面上での最新の位置の座標を算出する。解析部１６は、マスク情報保持部１２に保持されたマスク情報と、現在座標保持部１３に保持された現在座標と、座標算出部１５により算出されたカーソルの画面上での最新の位置の座標とに基づいた解析を行う。
【００２４】
具体的には、解析部１６は、座標算出部１５により算出されたカーソルの画面上での最新の位置の座標が、マスク情報保持部１２に保持されたマスク情報で示される画面上の特定の領域外であれば、この最新の位置の座標を現在座標保持部１３に保持する。又、座標算出部１５により算出されたカーソルの画面上での最新の位置の座標と現在座標保持部１３に保持された現在座標とが、共にマスク情報保持部１２に保持されたマスク情報で示される画面上の特定の領域内であると、解析部１６はこの最新の位置の座標を現在座標保持部１３に保持する。更に、座標算出部１５により算出されたカーソルの画面上での最新の位置の座標が、マスク情報保持部１２に保持されたマスク情報で示される画面上の特定の領域内にあり、且つ、現在座標保持部１３に保持された現在座標が、マスク情報保持部１２に保持されたマスク情報で示される画面上の特定の領域外であると、ポインティングデバイス７からの入力、即ち、移動信号を、一定時間無効にする制御信号をスイッチ部１７に供給する。これにより、バス８を介してポインティングデバイス７からの移動信号を供給されるスイッチ部１７は、制御信号に応答して一定時間移動信号をブロックして移動量検出部１４に供給されにようにスイッチング動作を行う。
【００２５】
これにより、図３に示す画面２１上に例えば特定の領域２３，２４が設けられている場合、カーソル２２が移動されて特定の領域２３又は２４と重なると、上記一定時間だけカーソル２２が停止する。このため、例えばウィンドウの枠や画面上の小さなボタン等をポインティングデバイス７でクリックしたり、ドラッグしたりする際に、ユーザは容易にカーソルの位置決めを行うことができる。
【００２６】
尚、特定の領域の数は２個に限定されず、１個でも３個以上であっても良いことは言うまでもない。
本実施例では、マスク情報保持部１２及び現在座標保持部１３がＣＰＵ１の内部メモリで構成されているが、ＲＯＭ３及びＲＡＭ２でマスク情報保持部１２及び現在座標保持部１３の機能を実現しても良い。
【００２７】
更に、情報処理装置の第１実施例の変形例として、図４に示すように、スイッチ部１７を移動量検出部１４の後段に設けても良い。図４において、図２と同一部分には同一符号を付し、その説明は省略する。
図５は、情報処理装置の第１実施例におけるＣＰＵ１のより詳細な機能ブロック図である。同図中、ＣＰＵ１は、大略ビットマップメモリ２２、レジスタ２３−１，２３−２、移動パルス検出器２４、ｘ座標算出部２５−１、ｙ座標算出部２５−２、ファームウェア２６及びスイッチ２７からなる。
【００２８】
ビットマップメモリ２２は、マスク情報保持部１２に対応し、マスク情報をビットマップ形式で保持する。レジスタ２３−１，２３−２は、現在座標保持部１３に対応し、現在の座標（ｘ０，ｙ０）を保持する。移動パルス検出器２４は、移動量検出部１４に対応し、ポインティングデバイス７を操作して移動した際に出力されるパルス状の移動信号をカウントして移動量（Δｘ，Δｙ）を検出する。ｘｙ座標算出部２５−１，２５−２は、座標算出部１５に対応し、移動パルス検出器２４で検出した移動量（Δｘ，Δｙ）と、レジスタ２３−１，２３−２に保持された現在の座標（ｘ０，ｙ０）とに基づいて、カーソルの最新の位置の座標（ｘ１，ｙ１）を算出する。
【００２９】
ファームウェア２６は、ビットマップメモリ２２からのマスク情報と、レジスタ２３−１，２３−２に保持された現在の座標（ｘ０，ｙ０）と、ｘｙ座標算出部２５−１，２５−２で算出されたカーソルの最新の位置の座標（ｘ１，ｙ１）とに基づいた解析を行う。
具体的には、ファームウェア２６は、ｘｙ座標算出部２５−１，２５−２で算出されたカーソルの最新の位置の座標（ｘ１，ｙ１）が、ビットマップメモリ２２からのマスク情報で示される画面上の特定の領域外であれば、この最新の位置の座標（ｘ１，ｙ１）をレジスタ２３−１，２３−２に保持する。又、ｘｙ座標算出部２５−１，２５−２で算出されたカーソルの最新の位置の座標（ｘ１，ｙ１）とレジスタ２３−１，２３−２に保持された現在の座標（ｘ０，ｙ０）とが、共にビットマップメモリ２２からのマスク情報で示される画面上の特定の領域内であると、ファームウェア２６はこの最新の位置の座標（ｘ１，ｙ１）をレジスタ２３−１，２３−２に保持する。更に、ｘｙ座標算出部２５−１，２５−２により算出されたカーソルの画面上での最新の位置の座標（ｘ１，ｙ１）が、ビットマップメモリ２２からのマスク情報で示される画面上の特定の領域内にあり、且つ、レジスタ２３−１，２３−２に保持された現在の座標（ｘ０，ｙ０）が、ビットマップメモリ２２からのマスク情報で示される画面上の特定の領域外であると、ポインティングデバイス７からの入力、即ち、パルス状の移動信号を、一定時間無効にする制御信号をスイッチ２７に供給する。これにより、バス８を介してポインティングデバイス７からの移動信号を供給されるスイッチ２７は、制御信号に応答して一定時間移動信号をブロックして移動パルス検出器２４に供給されにようにスイッチング動作を行う。
【００３０】
尚、図４と共に説明したように、スイッチ２７は、移動パルス検出器２４の後段に設けても良い。
図６は、図５に示すＣＰＵ１の動作を説明するフローチャートである。同図中、ステップＳ１は、ポインティングデバイス７を操作して移動した際に出力される移動信号に基づいて、移動パルス検出器２４により移動量（Δｘ，Δｙ）を検出する。ステップＳ２は、検出した移動量（Δｘ，Δｙ）と、レジスタ２３−１，２３−２に保持された現在の座標（ｘ０，ｙ０）とに基づいて、ｘｙ座標算出部２５−１，２５−２によりカーソルの最新の位置の座標（ｘ１，ｙ１）を算出する。ステップＳ３は、ｘｙ座標算出部２５−１，２５−２で算出されたカーソルの最新の位置の座標（ｘ１，ｙ１）が、ビットマップメモリ２２からのマスク情報で示される画面上の特定の領域内にあるかをファームウェア２６で調べる。ステップＳ４は、最新の位置の座標（ｘ１，ｙ１）がマスク情報で示される画面上の特定の領域内にあるか否かをファームウェア２６で判定する。ステップＳ４の判定結果がＮＯであれば、ステップＳ５は、ファームウェア２６でこの最新の位置の座標（ｘ１，ｙ１）をレジスタ２３−１，２３−２に保持する。他方、ステップＳ４の判定結果がＹＥＳであると、ステップ６は、レジスタ２３−１，２３−２に保持された現在の座標（ｘ０，ｙ０）がビットマップメモリ２２からのマスク情報で示される画面上の特定の領域内にあるかをファームウェア２６で調べ、処理はステップＳ７へ進む。ステップＳ７は、現在の座標（ｘ０，ｙ０）がマスク情報で示される画面上の特定の領域内にあるか否かをファームウェア２６で判定する。ステップＳ７の判定結果がＹＥＳであれば、処理はステップＳ５へ進み、ＮＯであればステップＳ８へ進む。ステップＳ８が実行されるときは、ｘｙ座標算出部２５−１，２５−２により算出されたカーソルの画面上での最新の位置の座標（ｘ１，ｙ１）が、ビットマップメモリ２２からのマスク情報で示される画面上の特定の領域内にあり、且つ、レジスタ２３−１，２３−２に保持された現在の座標（ｘ０，ｙ０）が、ビットマップメモリ２２からのマスク情報で示される画面上の特定の領域外にある。このため、ステップＳ８は、ファームウェア２６でポインティングデバイス７からの入力、即ち、パルス状の移動信号を、一定時間無効にする制御信号をスイッチ２７に供給する。これにより、バス８を介してポインティングデバイス７からの移動信号を供給されるスイッチ１７は、制御信号に応答して一定時間移動信号をブロックして移動パルス検出器２４に供給されにようにスイッチング動作を行う。ステップＳ８の後、ステップＳ５は、ファームウェア２６でこの最新の位置の座標（ｘ１，ｙ１）をレジスタ２３−１，２３−２に保持し、処理はステップＳ１へ戻る。
【００３１】
図７は、本発明になる情報処理装置の第２実施例におけるＣＰＵ１の基本機能ブロック図である。情報処理装置の第２実施例は、本発明になるカーソル制御方法の第２実施例を採用する。
図７において、ＣＰＵ１は、大略マスク情報保持部３２、現在座標保持部３３、変位算出部３４、距離算出部３６、変位補正部３７、判断部３８、加算部３９及び乗算部４０からなる。マスク情報保持部３２は、表示装置１１の画面上の特定の領域を示すマスク情報を保持する。現在座標保持部３３は、カーソルの現在位置の座標を保持する。現在座標保持部３３に保持されたカーソルの現在位置の座標は、バス８及びグラフィックコントローラ６を介して表示装置１１に供給され、カーソルが画面上の対応する位置に表示される。変位算出部３４は、ポインティングデバイス７からの入力に基づいて、カーソルの画面上での移動量を変位情報として算出する。
【００３２】
距離算出部３６は、マスク情報保持部３２に保持されたマスク情報で示される特定の領域と、現在座標保持部３３に保持されたカーソルの現在位置の座標との間の距離を算出する。判断部３８は、毎回距離算出部３６で算出される距離をバックアップしており、前回算出された距離と今回算出された距離とに基づき、距離が増加傾向にあるか、或いは、減少傾向にあるかを示す距離増減情報を出力する。変位補正部３７は、距離算出部３６で算出された距離と、判断部３８から出力された距離増減情報とに基づいて、係数αを求めて乗算部４０に供給する。この係数αは、距離算出部３６で算出された距離が予め定められた値より大きい場合にはα＝１に設定され、予め定められた値以下の場合には距離が減少傾向にあればα＞１に、距離が増加傾向にあれば０＜α＜１に設定される。
【００３３】
乗算部４０は、変位算出部３４からの変位情報に、変位補正部３７からの係数αを乗算した結果を加算部３９に供給する。加算部３９は、乗算部４０からのα倍された変位情報と、現在座標保持部３３に保持されたカーソルの現在位置の座標とを加算して、加算結果を距離算出部３６及び現在座標保持部３３に供給する。
【００３４】
図８は、距離算出部３６の距離算出動作を説明する図である。同図中、画面４１上に例えば特定の領域４３が設けられている場合、距離算出部３６はカーソルの現在の座標を中心とする半径ｒの円４２が移動されて特定の領域４３と重なるか否かを判定する。半径ｒの値は、任意単位で自然数１，２，３，．．．を取るものとすると、先ず、ｒ＝１の場合に円４２が特定の領域４３と重なるかを調べる。ｒ＝１の場合に円４２が特定の領域４３と重ならなければ、ｒ＝２に設定し、以後同様にして、円４２が特定の領域４３と重ならなければｒの値を順次インクリメントする。円４２が特定の領域４３と重なる時のｒの値を、マスク情報保持部３２に保持されたマスク情報で示される特定の領域４３と、現在座標保持部３３に保持されたカーソルの現在位置の座標との間の距離として採用する。
【００３５】
これにより、カーソルが画面上の特定の領域に接近するに従い、カーソルの移動速度が増加し、目的とする例えばウィンドウの枠や画面上の小さなボタン等の上にカーソルを素早く移動することができる。又、カーソルが特定の領域を通り過ぎると、カーソルの移動速度が減少し、カーソル移動の勢いが付き過ぎて目的とする例えばウィンドウの枠や画面上の小さなボタン等を簡単に通り過ぎてしまう不都合を防止することもできる。従って、本実施例は、マウスに比べて操作性の悪いジョイスティックやトラックボール等のポインティングデバイスに適用した場合に特に効果的である。
【００３６】
尚、特定の領域の数は１個に限定されず、２個以上であっても良いことは言うまでもない。
本実施例では、マスク情報保持部３２及び現在座標保持部３３がＣＰＵ１の内部メモリで構成されているが、ＲＯＭ３及びＲＡＭ２でマスク情報保持部３２及び現在座標保持部３３の機能を実現しても良い。
【００３７】
図９は、情報処理装置の第２実施例におけるＣＰＵ１のより詳細な機能ブロック図である。同図中、ＣＰＵ１は、大略ビットマップメモリ４２、レジスタ４３−１，４３−２，４５−１，４５−２、ｘ変位算出部４４−１、ｙ変位算出部４４−２、距離算出部４６、変位補正部４７、判断部４８、加算器４９−１，４９−２及び乗算器５０−１，５０−２からなる。
【００３８】
ビットマップメモリ４２は、マスク情報保持部２２に対応し、マスク情報をビットマップ形式で保持する。レジスタ４３−１，４３−２は、現在座標保持部３３に対応し、カーソルの現在位置の座標（ｘ０，ｙ０）を保持する。ｘｙ変位算出部４４−１，４４−２は、変位算出部３４に対応し、ポインティングデバイス７からの入力に基づいて、カーソルの画面上でのｘ移動量Δｘ及びｙ変位量Δｙを変位情報として算出する。レジスタ４３−１，４３−２に保持されたカーソルの現在位置の座標（ｘ０，ｙ０）は、ｘｙ変位算出部４４−１，４４−２で算出された変位情報と、レジスタ４３−１，４３−２に保持されたカーソルの現在位置の座標（ｘ０，ｙ０）とに基づいて更新される。
【００３９】
距離算出部４６は、距離算出部３６に対応し、ビットマップメモリ４２に保持されたマスク情報で示される特定の領域と、レジスタ４３−１，４３−２に保持されたカーソルの現在位置の座標（ｘ０，ｙ０）との間の距離ｄ０を算出する。判断部４８は、判断部３８に対応し、毎回距離算出部４６で算出される距離ｄ０をバックアップしており、前回算出された距離ｄ０’と今回算出された距離ｄ０とに基づき、距離ｄ０が増加傾向にあるか、或いは、減少傾向にあるかを示す距離増減情報を出力する。変位補正部４７は、変位補正部３７に対応し、距離算出部４６で算出された距離ｄ０と、判断部４８から出力された距離増減情報とに基づいて、係数αを求めて乗算器５０−１，５０−２に供給する。この係数αは、距離算出部４６で算出された距離ｄ０が予め定められた値Ｄより大きい場合にはα＝１に設定され、予め定められた値Ｄ以下の場合には距離ｄ０が減少傾向にあればα＞１に、距離ｄ０が増加傾向にあれば０＜α＜１に設定される。
【００４０】
乗算器５０−１は、ｘ変位算出部４４−１からのｘ移動量Δｘに、変位補正部４７からの係数αを乗算した結果を加算器４９−１に供給する。加算部４９−１は、乗算部５０−１からのα倍されたｘ移動量Δｘと、レジスタ４３−１に保持されたカーソルの現在位置のｘ座標ｘ０とを加算して得られる加算結果ｘ１をレジスタ４５−１に一時的に保持する。このレジスタ４５−１に保持された加算結果ｘ１は、レジスタ４３−１に格納されて保持されていたカーソルの現在位置のｘ座標ｘ０を更新すると共に、距離算出部４６に供給される。同様にして、乗算器５０−２は、ｙ変位算出部４４−２からのｙ移動量Δｙに、変位補正部４７からの係数αを乗算した結果を加算器４９−２に供給する。加算部４９−２は、乗算部５０−２からのα倍されたｙ移動量Δｙと、レジスタ４３−２に保持されたカーソルの現在位置のｙ座標ｙ０とを加算して得られる加算結果ｙ１をレジスタ４５−２に一時的に保持する。このレジスタ４５−２に保持された加算結果ｙ１は、レジスタ４３−２に格納されて保持されていたカーソルの現在位置のｙ座標ｙ０を更新すると共に、距離算出部４６に供給される。従って、レジスタ４５−１，４５−２も現在座標保持部３３に対応している。
【００４１】
図１０は、図９に示すＣＰＵ１の動作を説明するフローチャートである。同図中、ステップＳ１１は、ポインティングデバイス７を操作して移動した際に出力される移動信号に基づいて、ｘｙ変位算出部４４−１，４４−２により移動量（Δｘ，Δｙ）を算出する。ステップＳ１２は、加算器５０−１，５０−２により、レジスタ４３−１，４３−２に保持された現在の座標（ｘ０，ｙ０）に算出した移動量（Δｘ，Δｙ）を加算してカーソルの最新の位置の座標（ｘ１，ｙ１）を算出してレジスタ４５−１，４５−２に保持する。ステップＳ１３は、レジスタ４３−１，４３−２に保持された現在の座標（ｘ０，ｙ０）と、ビットマップメモリ４２からのマスク情報で示される画面上の特定の領域との間の距離ｄ０を距離算出部４６により算出する。ステップＳ１４は、距離算出部４６において算出された距離ｄ０が予め定められた値Ｄより大きいか否かを判定し、判定結果がＹＥＳであれば処理は後述するステップＳ２０へ進み、カーソルの最新の位置の座標（ｘ１，ｙ１）が現在の座標（ｘ０，ｙ０）としてレジスタ４３−１，４３−２に保持されて現在の座標（ｘ０，ｙ０）が更新され、処理はステップＳ１１へ戻る。
【００４２】
他方、ステップＳ１４の判定結果がＮＯであれば、処理はステップＳ１５へ進む。ステップＳ１５は、レジスタ４５−１，４５−２に保持されたカーソルの最新の位置の座標（ｘ１，ｙ１）と、ビットマップメモリ４２からのマスク情報で示される画面上の特定の領域との間の距離ｄ１を距離算出部４６により算出する。つまり、カーソルがある程度画面上の特定の領域の近傍に位置する場合には、上記距離ｄ１を算出する。ステップＳ１６は、判断部４８において、ｄ１−ｄ０の値が０より大きいか否かを判定して、カーソルが特定の領域に対して離れつつあるのか、或いは、接近しつつあるのかを判定する。
【００４３】
カーソルが特定の領域に対して離れつつあり、ステップＳ１６の判定結果がＹＥＳであると、ステップＳ１７は、変位補正部４７において係数αを例えば０．５に設定して、処理は後述するステップＳ１９へ進む。他方、カーソルが特定の領域に対して接近しつつあり、ステップＳ１６の判定結果がＮＯであると、ステップＳ１８は、変位補正部４７において係数αを例えば２．０に設定して、処理は後述するステップＳ１９へ進む。
【００４４】
ステップＳ１９は、ｘｙ変位算出部４４−１，４４−２からの移動量（Δｘ，Δｙ）と、レジスタ４３−１，４３−２からの現在の座標（ｘ０，ｙ０）と、変位補正部４７からの係数αとに基づいて、乗算器５０−１，５０−２及び加算器４９−１，４９−２により、カーソルの最新の位置の座標（ｘ１，ｙ１）を算出してレジスタ４５−１，４５−２に保持する。そして、ステップＳ２０は、レジスタ４５−１，４５−２に保持されたカーソルの最新の位置の座標（ｘ１，ｙ１）を、現在の座標（ｘ０，ｙ０）としてレジスタ４３−１，４３−２に保持して現在の座標（ｘ０，ｙ０）が更新し、処理はステップＳ１１へ戻る。
【００４５】
ところで、上記第１実施例及び第２実施例は、以下に説明する本発明になる情報処理装置の第３実施例のように、適宜組み合わせても良い。図１１は、本発明になる情報処理装置の第３実施例の動作を説明する図である。情報処理装置の第３実施例は、本発明になるカーソル制御方法の第３実施例を採用する。
図１１において、画面５１には、ウィンドウの枠に対応する第１の特定の領域５３と、「ファイル（Ｆ）」、「編集（Ｅ）」、「ヘルプ（Ｈ）］、「ＯＫ」、「キャンセル」等の小さなボタンに対応する第２の特定の領域５４とが設定されており、カーソル５２を移動した際、第１の特定の領域５３に対しては例えば図６と共に説明した上記第１実施例の方法でカーソル制御を行い、第２の特定の領域５４に対しては例えば図１０と共に説明した上記第２実施例の方法でカーソル制御を行う。このように、画面５１上の特定領域の種類に応じて異なる方法でカーソル制御を行うことで、用途に応じてより柔軟性の高いカーソル制御を行い、ポインティングデバイスの操作性を更に向上することができる。
【００４６】
次に、本発明になる記憶媒体の一実施例を説明する。記憶媒体の本実施例は、上記第１〜第３実施例のいずれかに従った動作をＣＰＵ１に行わせるためのプログラムが格納された、例えばフロッピィディスク１０のようなコンピュータ読み取り可能な記憶媒体である。尚、記憶媒体は、集積回路（ＩＣ）カードメモリ、フロッピィディスク、光磁気ディスク、ＣＤ−ＲＯＭ、各種半導体メモリデバイス等の可換記憶媒体に限定されず、モデムやＬＡＮ等の通信手段を介して接続されるコンピュータでアクセス可能な記憶媒体をも含む。図１において図示は省略するが、この場合のモデムはバス８に接続され、情報処理装置はモデムを介してＬＡＮ等に接続される。
【００４７】
次に、画面上の特定の領域を示すマスク情報の設定方法について説明する。
ＣＰＵ１がポインティングデバイス７をドライブするために、ハードディスクドライブ９内のハードディスク等にインストールされるポインティングデバイス用のドライバを初期化する際、ＣＰＵ１は、表示装置１１上で表示する画面と同じサイズのビットマップメモリ領域を取得し、このビットマップメモリ領域を初期化する。このビットマップメモリ領域は、例えばＲＡＭ２等に設けられる。例えば、画面のサイズが１０２４×７６８ドットの場合、ＣＰＵ１は、ビットマップメモリ領域としてモノクロで２値の１０２４×７６８×１ビットの領域を取得する。そして、以後の制御においては、ポインティングデバイス用のドライバがこのビットマップメモリ領域を管理する。
【００４８】
ＣＰＵ１に対してインストールされているアプリケーションが画面上にウィンドウを表示する際、ＣＰＵ１は、画面上の特定のボタン、アイコン、ビットマップ、メニュー項目等の、ポインティングデバイス７でクリッカブルなオブジェクトに対して、夫々ＲＡＭ２等に対応するメモリ領域を設定する。これらのメモリ領域は、例えばアプリケーションの画面設定時に決定する。ただし、画面上のボタンやアイコン等のオブジェクトのレイアウトが動的に変化するようなアプリケーションの場合、これらのオブジェクトを画面に表示する際に、表示位置と表示するオブジェクトの形から、マスク情報に対して変更を加えれば良い。このようにして生成したマスク情報を、アプリケーションとポインティングデバイス用のドライバとの間のインタフェースを介して、ポインティングデバイス用のドライバが管理するビットマップメモリ領域に書き込んでおく。
【００４９】
又、アプリケーションが画面に表示している、クリッカブルなオブジェクトが別のウィンドウ等によって隠された場合や、アプリケーションがウィンドウのサイズを変更して画面の様子が変化した場合等には、これらの変更をポインティングデバイス用のドライバに通知することでマスク情報に変更を反映させることができる。
【００５０】
尚、上記各実施例において、情報処理装置は、デスクトップ型であっても、携帯型であっても良い。
以上、本発明を実施例により説明したが、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【００５１】
【発明の効果】
本発明によれば、ポインティングデバイスの種類及びユーザの熟練の度合いに拘らず、ポインティングデバイスを操作して画面上のカーソルの位置を速く、且つ、正確に移動可能とするカーソル制御方法、記憶媒体及び情報処理装置を実現することができる。
【図面の簡単な説明】
【図１】本発明になる情報処理装置の基本構成の一実施例を示す図である。
【図２】本発明になる情報処理装置の第１実施例におけるＣＰＵの基本機能ブロック図である。
【図３】画面上の特定領域及びカーソルを示す図である。
【図４】情報処理装置の第１実施例の変形例におけるＣＰＵの基本機能ブロック図である。
【図５】情報処理装置の第１実施例におけるＣＰＵのより詳細な機能ブロック図である。
【図６】図５に示すＣＰＵの動作を説明するフローチャートである。
【図７】本発明になる情報処理装置の第２実施例におけるＣＰＵの基本機能ブロック図である。
【図８】距離算出部の距離算出動作を説明する図である。
【図９】情報処理装置の第２実施例におけるＣＰＵのより詳細な機能ブロック図である。
【図１０】図１０に示すＣＰＵの動作を説明するフローチャートである。
【図１１】本発明になる情報処理装置の第３実施例の動作を説明する図である。
【符号の説明】
１      ＣＰＵ
２      ＲＡＭ
３      ＲＯＭ
４      ハードディスクコントローラ
５      フロッピィディスクコントローラ
６      グラフィックコントローラ
７      ポインティングデバイス
８      バス
９      ハードディスクドライブ
１０      フロッピィディスクドライブ
１１      表示装置
１２，３２      マスク情報保持部
１３，３３      現在座標保持部
１４      移動量検出部
１５      座標算出部
１６      解析部
１７      スイッチ部
３４      変位算出部
３６      距離算出部
３７      変位補正部
３８      判断部
３９      加算部
４０      乗算部
【図１】
0003808209.tif 000002
【図２】
0003808209.tif 000003
【図３】
0003808209.tif 000004
【図４】
0003808209.tif 000005
【図５】
0003808209.tif 000006
【図６】
0003808209.tif 000007
【図７】
0003808209.tif 000008
【図８】
0003808209.tif 000009
【図９】
0003808209.tif 000010
【図１０】
0003808209.tif 000011
【図１１】
0003808209.tif 000012