(57)【特許請求の範囲】
【請求項１】
第１の表示領域と第２の表示領域との少なくともいずれか一方にある所定の制御領域に基づいて、ポインタによる第１の表示領域と第２の表示領域との移動操作を判定する移動判定手段と、
前記移動判定手段による判定結果に従って、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われている場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されるよう制御し、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われていない場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されないよう制御する移動制御手段と、
前記移動制御手段による前記第２の表示領域への前記ポインタの移動に従って、前記第１の表示領域上の移動操作が行われているオブジェクトを前記第２の表示領域へ表示させるよう制御する表示制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記移動判定手段は、前記ポインタの移動操作に係る状態が所定の条件を満たすかを判定し、
前記移動制御手段は、前記ポインタの移動操作に係る状態が所定の条件を満たした場合に、前記制御領域を介して前記ポインタを前記第２の表示領域へ移動させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ポインタの移動操作に係る状態は、前記制御領域におけるポインタの移動動作に係る時間、または、前記第１の表示領域上におけるポインタの移動動作に係る速度であり、
前記移動制御手段は、前記制御領域におけるポインタの移動動作に係る時間、または、前記第１の表示領域上におけるポインタの移動動作に係る速度が前記所定の条件を満たした場合に、前記制御領域を介して前記ポインタを前記第２の表示領域へ移動させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記ポインタの移動方向を特定するポインタ移動方向特定手段を更に備え、
前記移動制御手段は、前記ポインタ移動方向特定手段より特定されたポインタの移動方向が、前記第２の表示領域から前記第１の表示領域へ向かう方向である場合に、前記制御領域を介して前記ポインタを前記第１の表示領域へ移動させるよう制御することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御領域は、前記第１の表示領域と前記第２の表示領域との境界に設けられていることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記境界は、前記ポインタの移動を制御する制御領域と前記ポインタの移動を制御しない非制御領域とを含むことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第１の表示領域と前記第２の表示領域とは、隣接することを特徴とする請求項１乃至６のいずれか１項に記載の前記情報処理装置。
【請求項８】
第１の表示領域と第２の表示領域との少なくともいずれか一方にある所定の制御領域に基づいて、ポインタによる第１の表示領域と第２の表示領域との移動操作を判定する移動判定工程と、
前記移動判定工程による判定結果に従って、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われている場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されるよう制御し、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われていない場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されないよう制御する移動制御工程と、
前記移動制御工程による前記第２の表示領域への前記ポインタの移動に従って、前記第１の表示領域上の移動操作が行われているオブジェクトを前記第２の表示領域へ表示させるよう制御する表示制御工程と
を含むこと特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを、
第１の表示領域と第２の表示領域との少なくともいずれか一方にある所定の制御領域に基づいて、ポインタによる第１の表示領域と第２の表示領域との移動操作を判定する移動判定手段と、
前記移動判定手段による判定結果に従って、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われている場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されるよう制御し、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われていない場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されないよう制御する移動制御手段と、
前記移動制御手段による前記第２の表示領域への前記ポインタの移動に従って、前記第１の表示領域上の移動操作が行われているオブジェクトを前記第２の表示領域へ表示させるよう制御する表示制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが誤って他の領域にカーソルを移動しないように、適切にカーソルの移動を制御することが可能な情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
複数のディスプレイを情報処理装置に接続し、それぞれのディスプレイで表示される表示領域を複数設けるということが従来から行われている。複数の表示領域は共通ではなく独立した表示領域であるが、表示領域の端部を通じてそれぞれ繋がっている。ユーザはカーソル操作によって複数のそれぞれの表示領域において操作を行うことが可能である。
【０００３】
複数の表示領域を設けることにより、例えばユーザは第２の表示領域に表示された資料を見ながら第１の表示領域で作業を行うことが可能になるため、表示領域がひとつの場合のように作業用のウインドウから閲覧用のウインドウへの切り替え作業が必要なくなり、作業の効率が向上する。
【０００４】
このような仕組みにおいて、例えば、第２の表示領域に表示された資料を操作したい場合には、第１の作業用の表示領域にあるカーソルを、第１の表示領域の端部を通じて第２の表示領域へ移動させる必要が生じる。
【０００５】
下記の特許文献１では、マウスポインタ（本願でいうカーソル）を解像度の異なる複数の表示装置間を移動させる場合に違和感を軽減させるように表示させる仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２８８０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、第１の表示領域に表示されているウインドウを閉じるべく第１の表示領域の範囲内にあるカーソルを移動させる場合がある。一般的に、ウインドウを閉じるためにはウインドウの右上または左上にあるボタンを押下する必要があるのだが、第１の表示領域の端部（例えば右端）と第２の表示領域の端部（例えば左端）が連なっているため勢い余ってカーソルを第２の表示領域まで移動させてしまうという課題がある。
【０００８】
すなわち、ユーザはウインドウを閉じるために、繊細なカーソル操作を行わないとウインドウを閉じることができない。上記特許文献１では、解像度の異なる複数の表示装置間を違和感なくカーソル移動させる仕組みが開示されているだけであり、前述した問題を解決するためのものではない。
【０００９】
そこで本発明は、ユーザが違和感なく、複数の表示領域間でオブジェクトを移動させることのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために本発明の情報処理装置は、第１の表示領域と第２の表示領域との少なくともいずれか一方にある所定の制御領域に基づいて、ポインタによる第１の表示領域と第２の表示領域との移動操作を判定する移動判定手段と、前記移動判定手段による判定結果に従って、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われている場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されるよう制御し、前記第２の表示領域へ前記ポインタを用いたオブジェクトの移動操作が行われていない場合に前記制御領域を介して前記ポインタを前記第２の表示領域へ移動されないよう制御する移動制御手段と、前記移動制御手段による前記第２の表示領域への前記ポインタの移動に従って、前記第１の表示領域上の移動操作が行われているオブジェクトを前記第２の表示領域へ表示させるよう制御する表示制御手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザが違和感なく、複数の表示領域間でオブジェクトを移動させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における情報処理装置１００の一例を示す構成図である。
【図２】本発明の実施形態における情報処理装置１００のハードウェア構成の一例を示す構成図である。
【図３】本発明の実施形態における情報処理装置１００のモジュール構成の一例を示す構成図である。
【図４】設定ファイルデータ６００の設定処理の詳細を示すフローチャートである。
【図５】図４で開かれる設定画面５００の一例を示す画面例である。
【図６】図４で保存される設定ファイルデータ６００の一例を示す模式図である。
【図７】本発明の実施形態におけるカーソル制御処理の詳細を示すフローチャートである。
【図８】図７に引き続き、本発明の実施形態におけるカーソル制御処理の詳細を示すフローチャートである。
【図９】本発明の実施形態におけるディスプレイ２１０−Ａ、ディスプレイ２１０−Ｂのそれぞれが端部を通じてつながっている表示領域のイメージを示す模式図である。
【図１０】図７、図８に示すカーソルとディスプレイ２１０−Ａ、ディスプレイ２１０−Ｂの表示領域の座標のイメージである座標イメージ１０００を示すイメージ図である。
【図１１】図７に示すウインドウ１１０１移動時のイメージであるウインドウ移動イメージ１１００を示す模式図である。
【図１２】図７、図８で制御されるカーソルの動きの一例である制御イメージ１２００を示す模式図である。
【図１３】カーソルの座標情報を格納するカーソル座標テーブル１３００の一例を示す構成図である。
【図１４】カーソルの移動量１４０１と移動方向を示す方向フラグ１４０２とを格納するカーソル移動量テーブル１４００の一例を示す構成図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１４】
図１は、本発明の実施形態におけるハードウェア構成の模式図である。情報処理装置１００にケーブル等によって、ディスプレイ２１０−Ａとディスプレイ２１０−Ｂとが接続されている。ディスプレイ２１０−Ａとディスプレイ２１０−Ｂとはそれぞれ異なる表示をすることが可能なマルチディスプレイとして接続されている。尚、本模式図は一例であってこれに限定されない。
【００１５】
図２は、本発明の実施形態における情報処理装置１００のハードウェア構成を示す図である。
【００１６】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００１７】
また、ＲＯＭ２０２あるいは外部メモリ２１１（記憶手段）には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、情報処理装置１００の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００１８】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００１９】
また、入力コントローラ（入力Ｃ）２０５は、キーボードや不図示のマウス等のポインティングデバイス等の入力デバイス２０９からの入力を制御する。
【００２０】
ビデオコントローラ（ＶＣ）２０６は、ディスプレイ２１０―Ａ、ディスプレイ２１０―Ｂ等の表示器への表示を制御する。表示器の種類はＣＲＴや、液晶ディスプレイを想定するが、これに限らない。
【００２１】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２２】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２３】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０―Ａ（第１の領域）及びディスプレイ２１０―Ｂ（第２の領域）上での表示を可能としている。図９の表示イメージ９００に示す通り、ディスプレイ２１０−Ａとディスプレイ２１０−Ｂは別々の装置であるが、表示するための領域としては繋がっている。別々のウインドウをそれぞれ表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０―Ａ、ディスプレイ２１０―Ｂ上に描画されるカーソル等でのユーザ指示を可能とする。本発明の実施例では、ディスプレイを２つ接続しているが、３つや４つなど複数のディスプレイを接続しても実施は可能である。
【００２４】
本発明の情報処理装置１００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２５】
次に、情報処理装置１００のモジュール構成を示す機能構成図について、図３を用いて説明する。なお、図３の装置のモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。
【００２６】
情報処理装置１００は、カーソル移動制御手段３０１（カーソル移動指示手段）、カーソル移動条件記憶手段３０２、カーソル移動判定手段３０３、カーソル移動量特定手段３０４、カーソル速度特定手段３０５、カーソル移動方向特定手段３０６を備える。
【００２７】
カーソル移動制御手段３０１はディスプレイ２１０―Ａ及びディスプレイ２１０―Ｂに表示されるカーソルの動きを制御する。例えば制御境界を通じたディスプレイ２１０−Ａからディスプレイ２１０−Ｂへのカーソルの移動をさせないように制御する、等である。
【００２８】
カーソル移動条件記憶手段３０２は、制御境界をカーソルが越境することが可能な条件を記憶する。ここで記憶された条件は、カーソルが制御境界を越境するか否かを判定するための条件である。
【００２９】
カーソル移動判定手段３０３は、カーソル移動条件記憶手段で記憶された条件に基づいて、カーソルが制御境界を越境するか否かを判定する。
【００３０】
カーソル移動量特定手段３０４は、ユーザから受け付けたカーソルの移動指示に基づいてディスプレイ上のカーソルの移動量を特定する。
【００３１】
カーソル速度特定手段３０５は、ユーザから受け付けたカーソルの移動指示に基づいてディスプレイ上でカーソルが移動する速度を特定する。
【００３２】
カーソル移動方向特定手段３０６は、ユーザから受け付けたカーソルの移動指示に基づいてディスプレイ上のカーソルの移動方向（移動する表示領域）を特定する。カーソルの移動方向の特定は、カーソルの座標（ＰＸ，ＰＹ）が増加する方向であればディスプレイ２１０−Ａからディスプレイ２１０−Ｂの方向へ移動する方向というように、事前に記憶されたテーブルに基づいて（不図示）判定することが可能である。
【００３３】
次に図４を用いて本発明における制御境界の設定処理について説明を行う。
【００３４】
ステップＳ４０１では、情報処理装置１００のＣＰＵ２０１は、ユーザからの設定ファイルの選択を受け付けると、外部メモリ２１１に記憶された設定ファイルを開き、ディスプレイ２１０―Ａまたはディスプレイ２１０―Ｂに設定画面５００を表示する。
【００３５】
ステップＳ４０２では、情報処理装置１００のＣＰＵ２０１は、ステップＳ４０１で表示された設定画面５００を用いて設定ファイルの値の入力を受け付け、設定する。
【００３６】
図５は、設定画面５００の画面構成の一例である。設定画面５００は制御境界（第３の領域）を設定することが可能な設定画面である。ＦＲＯＭディスプレイ５０１とＴＯディスプレイ５０２はカーソルの移動を制御する方向を示すものである。例えば、ＦＲＯＭディスプレイ５０１に「Ａ」、ＴＯディスプレイ５０２に「Ｂ」の入力を受け付けるとディスプレイ２１０−Ａからディスプレイ２１０−Ｂの方向へのカーソルの移動を制御する。始点座標５０３と終点座標５０４は、ＦＲＯＭディスプレイ５０１とＴＯディスプレイ５０２との境界における制御境界を設定するための入力欄である。例えば、始点座標５０３に（８００，０）、終点座標５０４に（８００，２０）と設定した場合には、この２点の座標が示す線分の部分に制御境界を設ける。停止移動量５０９は、カーソルが始点座標５０３と終点座標５０４とからなる線分に接触したあとに、ユーザからマウスなどの操作により受け付けるカーソルの仮想の移動量である仮想移動量の閾値を設定する領域である。カーソルの仮想移動量とは、図１４に示す０．１秒間におけるカーソルの移動量であるカーソル移動量１４０１を所定時間（本実施例ではカーソルの移動指示を受け付けている間）分加算することにより得られる、カーソルの総移動量である。ここで停止移動量５０９を設定することにより、一度ユーザがカーソルを別のディスプレイに制御境界を介して移動しようとしカーソルが制御された場合であっても、カーソルの動きを示す仮想移動量が当該停止移動量５０９を超えた場合に、制御境界によるカーソルの制御を解除することが可能になる。尚、停止移動量５０９は、基準速度５１１、加速度５１２、移動制御時間５１３に置き換えることが可能である。基準速度５１１、加速度５１２、移動制御時間５１３それぞれの詳細は後述する。
【００３７】
ＦＲＯＭディスプレイ５０１、ＴＯディスプレイ５０２、始点座標５０３、終点座標５０４、停止移動量５０９の入力をそれぞれ受け付け、ユーザから追加ボタン５０５の押下を受け付けると、設定エリア５１０に新たなレコードとして追加される。ユーザから設定エリアのレコードの選択を受け付け変更ボタン５０６が押下されると、当該レコードの変更を受け付けることが可能になる。ユーザから設定エリアのレコードを選択し、削除ボタン５０７を押下されると、当該レコードを削除する。
【００３８】
ステップＳ４０３では、情報処理装置１００のＣＰＵ２０１は、終了ボタン５０８の押下を受け付け、ステップＳ４０２で受け付けた値の設定を設定ファイルデータ６００として外部メモリ２１１に保存して終了する。図６は設定ファイルデータ６００のデータ構成の一例であり、図６に示すような形態で受け付けた各設定をそれぞれ格納しておく。
【００３９】
以上で、図４に示す制御境界の設定処理の説明を終える。
【００４０】
次に、本発明の実施形態におけるカーソル制御フローを図７及び図８に示すフローチャートを用いて説明する。
【００４１】
ステップＳ７０１では、情報処理装置１００のＣＰＵ２０１は、外部メモリ２１１に記憶された設定ファイルデータ６００を読み込む。
【００４２】
ステップＳ７０２では、情報処理装置１００のＣＰＵ２０１は、ユーザからのマウス操作などにより、カーソルの移動命令を受け付けたか否かを判定する。カーソルの移動命令を受け付けたと判定した場合には処理をステップＳ７０３に進め、カーソルの移動命令を受け付けなかったと判定した場合には処理をステップＳ７１３に進める。
【００４３】
ステップＳ７０３では、情報処理装置１００のＣＰＵ２０１は、外部メモリ２１１からカーソル座標テーブル１３００とカーソル移動量テーブル１４００とを取得する。すなわち、現在のカーソルの位置である表示領域の座標と、カーソルの移動量と、カーソルの移動方向とを取得する。
【００４４】
図１３に示すカーソル座標テーブル１３００は、カーソルの座標であるカーソル座標１３０１を格納しているテーブルである。カーソル座標１３０１はＸ座標とＹ座標を（ＰＸ，ＰＹ）という形で格納している。情報処理装置１００は、現在のカーソルの位置である画面上の座標を所定の間隔で取得し、これをカーソル座標テーブル１３００に格納している。
【００４５】
図１４に示すカーソル移動量テーブル１４００は、カーソル移動量１４０１と方向フラグ１４０２とを格納するテーブルである。カーソル移動量１４０１は、一定間隔（本実施例では０．１秒間隔）のカーソルの移動量をＸ軸とＹ軸とでそれぞれ格納している。ＰＸ、ＰＹは現在のカーソルの座標であり、ＰＸ’、ＰＹ’は０．１秒前のカーソルの座標である。カーソル移動量１４０１は、現在のカーソルの座標と０．１秒前のカーソルの座標との差の絶対値である。方向フラグ１４０２は、カーソル移動量１４０１の方向を示すフラグである。本実施例では、「０」はＸ座標またはＹ座標の値が増加する方向で、「１」はＸ座標またはＹ座標の値が減少する方向である。カーソル移動量テーブル１４００もカーソル座標テーブル１３００と同様に、所定の間隔でカーソルの移動量や移動方向を取得し、カーソル移動量テーブル１４００に格納している。
【００４６】
ステップＳ７０４では、情報処理装置１００のＣＰＵ２０１は、ユーザの操作によりカーソルを用いてウインドウ１１０１を移動しているか否かを判定する。例えば、ウインドウ１１０１のタイトルバーを選択しドラッグ動作をしているか否かにより判定する。例えば図１１のようにウインドウ１１０１を移動していると判定した場合には処理をステップＳ７１３に進め、ウインドウ１１０１を移動していないと判定した場合には処理をステップＳ７０５に進める。ウインドウを移動している場合には、ユーザはウインドウの終了ボタンを押下しようとしているわけではないので、制御境界での制御をしない。
【００４７】
ステップＳ７０５では、情報処理装置１００のＣＰＵ２０１は、カーソルがディスプレイ２１０−Ａとディスプレイ２１０−Ｂとの境界にあるか否かを判定する。図１０の座標イメージ１０００を用いて説明する。カーソル座標（ＰＸ，ＰＹ）が、（８００，０〜６００）の範囲内にあるか否かを判定する。例えばカーソル座標が（８００，２３９）の場合、カーソルがディスプレイ２１０−Ａとディスプレイ２１０−Ｂとの境界にあると判定する。カーソルがディスプレイ２１０−Ａとディスプレイ２１０−Ｂとの境界にあると判定された場合は処理をステップＳ７０６に進め、カーソルがディスプレイ２１０−Ａとディスプレイ２１０−Ｂとの境界にないと判定された場合は処理をステップＳ７１３に進める。
【００４８】
ステップＳ７０６では、情報処理装置１００のＣＰＵ２０１は、カーソルの移動指示がなされることにより算出されるカーソルの移動量を示すパラメータである仮想移動量の値を０にする（初期化する）。カーソルの仮想移動量とは、図１４に示す０．１秒間におけるカーソルの移動量であるカーソル移動量１４０１を所定時間（本実施例ではカーソルの移動指示を受け付けている間）分加算することにより得られる、カーソルの総移動量である。ここで、仮想移動量を０にすることで、制御境界に接触したあとのカーソルの動作（仮想移動量）を測ることができる。また、仮想移動量は変数であり、随時ＲＡＭ２０３等に記憶されている。
【００４９】
ステップＳ７０７からステップＳ７１１はループする動作であって、ユーザからのカーソル移動命令がなくなるまで処理をループさせる。
【００５０】
ステップＳ７０７では、情報処理装置１００のＣＰＵ２０１は、カーソルがステップＳ７０１で読み込んだ設定ファイルデータ６００が示す制御境界にあるか否かを判定する。
【００５１】
例えば、ステップＳ７０１で読み込んだ設定ファイルデータ６００の始点座標５０３が（８００，０）、終点座標が（８００，２０）であれば、この２点が示す線分の範囲内にカーソルのカーソル座標１３０１があるか否かを判定する。カーソル座標１３０１が設定ファイルデータ６００の示す制御境界の範囲内にあると判定された場合には処理をステップＳ７０８に進め、カーソル座標１３０１が設定ファイルデータ６００の示す制御境界の範囲内にないと判定された場合には処理をステップＳ７１３に進める。図１２の場合、１、２、３のカーソル移動は制御境界を介する移動である。
【００５２】
ステップＳ７０８では、情報処理装置１００のＣＰＵ２０１は、ステップＳ７０３で取得したカーソル移動量テーブル１４００の方向フラグ１４０２が示す方向が、設定ファイルデータ６００で設定されたＦＲＯＭディスプレイ５０１からＴＯディスプレイ５０２へ向かう方向と一致するか否かを判定する。方向フラグ１４０２が０であれば座標の値が増加する方向であるので、Ｘ座標が０から１６００に増加する方向であると特定することができる。事前に、Ｘ座標が０から１６００に増加する方向がディスプレイ２１０−Ａからディスプレイ２１０−Ｂの方向であると記憶しておき、この情報をもとにしてディスプレイ２１０−Ａからディスプレイ２１０−Ｂの方向にカーソルが移動していると判定ができる。
【００５３】
カーソルの移動の方向が設定ファイルデータ６００で設定された方向フラグ１４０２が示す方向に一致すると判定された場合には処理をステップＳ７０９に進め、カーソルの移動が設定ファイルデータ６００で設定された方向フラグ１４０２が示す方向に一致しないと判定された場合には処理をステップＳ７１３に進める。例えば、図１２の場合、１、２、３のカーソル移動のうち、３のカーソル移動は通常のカーソル移動をすることが可能であり、１、２のカーソル移動は制御されうるカーソル移動であると判定される。本実施例では、Ｘ座標をもとにカーソルの移動方向を特定したが、Ｙ座標をもとにカーソルの移動方向を特定してもよい（上下に表示領域を備える場合など）。
【００５４】
図７に引き続き、図８を用いてフローチャートの説明を続ける。
【００５５】
ステップＳ７０９では、情報処理装置１００のＣＰＵ２０１は、カーソルの仮想移動量を取得する。カーソルの仮想移動量は、ＲＡＭ２０３等に記憶されており、ディスプレイ上でどれだけカーソルが仮想的に移動するかを示す移動量である。仮想移動量は、前述したとおり、カーソル移動量１４０１を所定時間（本実施例ではカーソルの移動指示を受け付けている間）分加算することにより得られる、カーソルの総移動量である。また、仮想移動量は変数であり、これはＲＡＭ２０３等に記憶されている。
【００５６】
ステップＳ７１０では、情報処理装置１００のＣＰＵ２０１は、ステップＳ７０９で取得した仮想移動量と、ステップＳ７０１で取得した設定ファイルデータ６００の停止移動量５０９とを比較し、仮想移動量がステップＳ７０１で取得した設定ファイルデータ６００の停止移動量５０９を超えると判断する場合には処理をステップＳ７１２に進める。仮想移動量がステップＳ７０１で取得した設定ファイルデータ６００の停止移動量５０９を超えないと判断する場合には処理をステップＳ７１１に進める。
【００５７】
この判断を行うことにより、制御境界でカーソルの移動が制御された後であっても、引き続きカーソルの移動が指示された場合に、カーソルの動作に応じてカーソルの制御境界を越境することを可能にする。本発明の実施例では、カーソルの移動量によって判断を行ったが、別の実施形態としては、カーソルの速度や加速度、移動指示の時間など、他のパラメータを用いた判定も考えられる。
【００５８】
例えば、カーソルの速度を用いる場合の実施形態では、所定時間内のカーソルの移動量を所定時間で除算するなどの従来技術によりカーソルの速度を算出する（カーソル速度特定手段）。算出されたカーソルの速度と、設定ファイルデータにユーザからの設定を受け付けることにより記憶された基準速度５１１とを比較する。比較の結果、算出されたカーソルの速度のほうが早い場合には、カーソルの制御境界を越境させることを可能にする。ある一定の速度に基づいて制御境界を越境させることが可能になることで、より適切なカーソルの制御を行うことを可能にする。
【００５９】
また、カーソルの加速度を用いる場合の実施形態では、所定時間（例えば１秒ごと）に速度の差分を求めることで加速度を算出するなど、従来技術によりカーソルの加速度を算出する。カーソルの加速度が、設定ファイルデータにユーザからの設定を受け付けることにより記憶されたカーソルの加速度５１２のほうが大きい場合には、カーソルの制御境界を越境させることを可能にする。これにより、ユーザがカーソルを移動させる物理上のスペースがなかった場合でも適切に制御境界を越境することを可能にする。
【００６０】
さらに、カーソルの移動時間を用いる場合の実施形態では、設定ファイルデータに記憶された移動制御時間５１３と、カーソルの制御方向への移動指示がなされている時間とを比較し、カーソルの制御方向への移動指示がなされている時間のほうが移動制御時間５１３より長いと判定された場合には、制御境界の越境を可能とする。これにより、ユーザがカーソルを移動させる物理上のスペースがなかった場合でも適切に制御境界を越境することを可能にする。
【００６１】
ステップＳ７１１では、情報処理装置１００のＣＰＵ２０１は、カーソルを制御境界から超えないように制御する。具体的には、カーソルのカーソル移動量１４０１のＸ座標の値を無効にするように制御することで、カーソルがディスプレイ２１０−Ｂに移動してしまうことを防ぐ。
【００６２】
ステップＳ７１２では、情報処理装置１００のＣＰＵ２０１は、カーソルをディスプレイ２１０−Ａからディスプレイ２１０−Ｂに移動させる。すなわち、ステップＳ７１１のようにカーソルの移動を制限しない。
【００６３】
ステップＳ７１３では、情報処理装置１００のＣＰＵ２０１は、ユーザから終了指示が行われたか否かを判定する。ユーザから終了の指示を受け付けたと判定された場合には処理を終了させ、ユーザから終了の指示を受け付けないと判定された場合には処理をステップＳ７０２に戻す。
【００６４】
以上で図８を用いたフローチャートの説明を終了する。本実施例では、複数のディスプレイのそれぞれの表示領域の端部を通じてカーソルを移動することを例として記載したが、例えば表示領域を複数のウインドウとし、ウインドウの境界部に対して制御境界を設け、この制御境界を介してカーソルが移動する場合にカーソルの移動を制御することも本発明に含まれる。また、ウインドウとウインドウ以外の間に制御境界を設けることも当然本発明に含まれるものとする。
【００６５】
以上、ディスプレイ間に一部設けられた制御境界を通過しようとするカーソルを方向、移動量など複数のパラメータで判定することにより、カーソルを他の表示領域に移動する際に、適切にカーソルの移動を制御することを可能にする効果を生じる。
【００６６】
また、制御境界をディスプレイ２１０−Ａとディスプレイ２１０−Ｂとの間の一部分に設けることにより、よりユーザの使い勝手のよいカーソルの制御をすることを可能にしている。
【００６７】
制御境界に制御する方向を設けることで、例えば制御領域の近くにウインドウの終了ボタンを備える表示領域から制御領域の近くにウインドウの終了ボタンを備えない表示領域へのカーソル移動を行う場合にはカーソルの制御を行い、逆方向の場合はカーソルの制御を行わないことを可能にする。これにより、一律にウインドウのカーソル移動を制御するのではなく、ユーザの利便性を向上するカーソル移動の制御を行うことを可能にする。
【００６８】
更に、ウインドウをドラッグする等、表示領域の間を何らかの動作を伴って制御境界を介して移動しようとしている場合には、設定された制御を行わないことで制御境界でカーソルが制御されることなく使い勝手の良い操作感を提供することが可能になる。
【００６９】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００７０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００７１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００７４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００７５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００７６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００７９】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８０】
１００  情報処理装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インターフェース）コントローラ
２０９  入力デバイス
２１０  ディスプレイ
２１１  外部メモリ
【図１】
0006432059.tif 000002
【図２】
0006432059.tif 000003
【図３】
0006432059.tif 000004
【図４】
0006432059.tif 000005
【図５】
0006432059.tif 000006
【図６】
0006432059.tif 000007
【図７】
0006432059.tif 000008
【図８】
0006432059.tif 000009
【図９】
0006432059.tif 000010
【図１０】
0006432059.tif 000011
【図１１】
0006432059.tif 000012
【図１２】
0006432059.tif 000013
【図１３】
0006432059.tif 000014
【図１４】
0006432059.tif 000015