(57)【要約】      （修正有）【課題】マルチディスプレイシステムにおいて、第２のディスプレイ側での操作終了後に第１のディスプレイ側に操作が戻る場合、カーソルも第１のディスプレイ側に自動で戻るカーソル制御技術を提供する。【解決手段】第１のディスプレイの表示領域にカーソルがある場合に、カーソルの位置情報を保持し、入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出し、検出したイベント情報が、第２のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定し、操作完了条件を満たした場合、前記カーソルを、第１のディスプレイにおける保持した位置情報の示す位置へ復帰させる。【選択図】図１
2011257801.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させるカーソル制御プログラムであって、
第１のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持処理と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出処理と、
前記検出したイベント情報が、前記第２のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定処理と、
前記操作完了条件を満たした場合、前記カーソルを、前記第１のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰処理と、
を、コンピュータに実行させることを特徴とするカーソル制御プログラム。
【請求項２】
前記第２のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第２のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定処理は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする請求項１に記載のカーソル制御プログラム。
【請求項３】
前記入力機器は、マウス装置であり、
前記第２のディスプレイは、前記入力機器としてのタッチパネルを有し、
前記操作完了条件には、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報、及び前記所定の画面を終了させる場合に発生するイベント情報のうち、少なくとも１つが含まれる
ことを特徴とする請求項１または２に記載のカーソル制御プログラム。
【請求項４】
前記カーソル制御プログラムは、さらに、
前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる計測処理
を、コンピュータに実行させることを特徴とする請求項１〜３のうちいずれか１項に記載のカーソル制御プログラム。
【請求項５】
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御を行うカーソル制御装置であって、
第１のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持部と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出部と、
前記検出したイベント情報が、前記第２のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定部と、
前記操作完了条件を満たした場合、前記カーソルを、前記第１のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰部と、
を備えることを特徴とするカーソル制御装置。
【請求項６】
前記第２のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第２のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定部は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする請求項５に記載のカーソル制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、マルチディスプレイシステムにおけるカーソル制御技術に関する。
【背景技術】
【０００２】
近年、窓口や受付にてマルチディスプレイシステムを利用し、顧客に対応する業務が増えている。例えば、オペレータ側と顧客側にそれぞれディスプレイを設置し、各人が必要に応じて命令またはデータを入力することにより、業務の効率化を図ることができる。
【０００３】
このようなマルチディスプレイシステムに関する技術として、例えば、各表示手段において実際に各種操作ができる指示カーソルと、位置だけを示す擬似カーソルとを切替表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２０２９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、マルチディスプレイシステム環境下において、顧客側とオペレータ側とにおいて画面操作を行うとき、ディスプレイ操作の切替え時にマウス装置（以下、マウスという）のマウスカーソルの制御がされていなかった。
【０００６】
例えば、デュアルディスプレイシステムにおいて、第２のディスプレイのタッチパネルにより顧客による操作があった場合、マウスカーソルが第1のディスプレイ側から第２のディスプレイ側に移動する。その後、オペレータが、第１のディスプレイ側で操作を行うとき、第２のディスプレイに表示された画面が見えない状態で、毎回、第２のディスプレイから第１のディスプレイへマウスカーソルを戻す作業が必要であった。この作業が、顧客とのやり取りを要する画面操作にかなりの負担を生じていた。このように、第２のディスプレイから第１のディスプレイへ操作対象が移る場合、マウスカーソルの位置を第１のディスプレイ上に戻すことは、オペレータによる操作に依存していたため、オペレータに負担がかかっていた。
【０００７】
そこで、上記課題に鑑み、マルチディスプレイシステムにおいて、第２のディスプレイ側での操作終了後に第１のディスプレイ側に操作が戻る場合、カーソルも第１のディスプレイ側に自動で戻るカーソル制御技術を提供する。
【課題を解決するための手段】
【０００８】
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させるカーソル制御プログラムは、保持処理、検出処理、判定処理、復帰処理をコンピュータに実行させる。
【０００９】
保持処理は、第１のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する。
検出処理は、情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する。
【００１０】
判定処理は、前記検出したイベント情報が、前記第２のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する。
座標復帰処理は、前記操作完了条件を満たした場合、前記カーソルを、前記第１のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる。
【発明の効果】
【００１１】
本実施形態によれば、マルチディスプレイシステムにおいて、第２のディスプレイ側での操作終了後に第１のディスプレイ側に操作が戻る場合、カーソルも第１のディスプレイ側に自動で戻ることができる。
【図面の簡単な説明】
【００１２】
【図１】マルチディスプレイシステムの構成を示す。
【図２】マルチディスプレイシステムのマウスカーソル制御を説明するための図である。
【図３】マルチディスプレイシステムの機能ブロックを示す。
【図４】定義ファイル２４の一例を示す。
【図５】コントローラ２２によるマウスカーソル復帰制御フローの一例を示す。
【図６】処理対象となるマウスイベントの一例を示す。
【図７】コンピュータ２のハードウェア環境の構成ブロック図である。
【発明を実施するための形態】
【００１３】
本実施形態では、第２のディスプレイに移動したマウスカーソルを第１のディスプレイにおいて最後に操作した位置に自動的に復帰させることについて説明する。
図１は、本実施形態におけるマルチディスプレイシステム１の構成を示す。マルチディスプレイシステム１は、コンピュータ２、第１のディスプレイ３、マウス４、第２のディスプレイ５を含む。コンピュータ２には、第１のディスプレイ３、マウス４、第２のディスプレイ５が接続されている。
【００１４】
図１に示すように、第１のディスプレイ３と、第２のディスプレイ５とは、それらの背面を向かい合わせて配置されている。一方のディスプレイを操作する側からは他方の画面を視認することができないような環境になっている。本実施形態では、このような環境を前提に、マルチディスプレイシステム１を利用する場合を例に説明する。なお、顧客が利用する第２のディスプレイ５は本実施形態では説明の便宜上１つであるが、２つ以上あってもよい。
【００１５】
コンピュータ２は、マルチディスプレイシステムを実現するオペレーションシステム（ＯＳ）がインストールされた情報処理装置である。コンピュータ２は、マルチディスプレイシステムのユーザインターフェース（ＧＵＩ）を第１のディスプレイ３、第２のディスプレイ５に出力する。
【００１６】
第１のディスプレイ３は、オペレータ７側に配置された表示装置である。オペレータ７は、マウス４等を用いて、第１のディスプレイ３に表示された業務アプリケーションプログラムやコンピュータ２の操作を行う。なお、本実施形態では、オペレータ７はマウス４を用いて操作する例について説明するが、これに限定されず、例えばキーボードやタブレット、タッチパネル（この場合、第１のディスプレイがタッチパネル機能を有する）等の入力機器を用いてもよい。
【００１７】
第２のディスプレイ５は、顧客８側に配置された表示装置である。本実施形態では、第２のディスプレイ５は、例えば、タッチパネル６を備えている。顧客は、例えば、オペレータ７の指示によりタッチパネル６により画面の操作を行うことができる。
【００１８】
ここで、コンピュータ２は、第１のディスプレイ３上でのマウスの操作中に、随時、第１のディスプレイ３の表示領域におけるマウスカーソルの座標を取得し、保持している。したがって、マルチディスプレイシステム１において、タッチパネル６により第２のディスプレイ５への操作がなされた場合、コンピュータ２は、その操作直前の、第１のディスプレイ３におけるマウスカーソルの座標を保持することになる。第２のディスプレイ５側での操作が終了した場合、コンピュータ２はその保持しておいた座標にマウスカーソルを戻す。これについて、図２を用いて説明する。
【００１９】
図２は、本実施形態におけるマルチディスプレイシステムのマウスカーソル制御を説明するための図である。
図２（Ａ）に示すように、オペレータ７がマウス４を操作して、第１のディスプレイ３に表示されたマウスカーソル９を用いて、コンピュータ２のマルチディスプレイシステムを利用している。このとき、オペレータ７は、第２のディスプレイの表示画面を視認することができない。
【００２０】
次に、図２（Ｂ）に示すように、顧客８がタッチパネル６を用いて、第２のディスプレイ５に表示された画面に対して、タッチ操作を行う。すると、マウスカーソル９が、第２のディスプレイ５においてタッチされた位置に移動する。
【００２１】
このとき、第１のディスプレイ３上では、マウスカーソル９が消えたように見える。このとき、コンピュータ２は、第２のディスプレイ５に表示された画面に対してなされたタッチ操作直前の第１のディスプレイ３上におけるマウスカーソル９の座標を保持している。
【００２２】
図２（Ｃ）に示すように、顧客８による第２のディスプレイ５のタッチパネル６へのタッチ操作が終了したとする。コンピュータ２は、その第２のディスプレイ５側の操作が終了したことを検出する。第２のディスプレイ５側の操作終了の検出については後述する。
【００２３】
図２（Ｄ）に示すように、コンピュータ２は、第２のディスプレイ５側の操作が終了したことを検出する。すると、コンピュータは、マウスカーソル９を、第２のディスプレイ５側から、第１のディスプレイ３の表示領域内にある図２（Ｂ）で保持した座標に移動させる。
【００２４】
次に、第２のディスプレイ５側の操作終了のイベントの発生について説明する。第２のディスプレイ５側の操作終了は、表１のように定義される。
【００２５】
【表１】
2011257801.tif 000003
【００２６】
Ｎｏ．１の「マウスをクリックしたとき」とは、具体的には、既に押されているマウス４のボタンを放すイベント（いわゆるマウスアップイベント）が発生したときである。本実施形態において、マウス４は、第１のディスプレイ３側に配置されている。したがって、マウスアップイベントは、例えば、顧客８のタッチパネル６の操作中に、一時的にオペレータ７が操作を行う必要が生じた場合に起こることが想定される。例えば、顧客８によるタッチパネル６の操作中に、オペレータ７がマウス４を用いてファイルや画面をドラッグ操作して第１のディスプレイ３から第２のディスプレイ５に移すことで、オペレータ７から顧客８へ情報の提示を行うことが想定される。そのため、本実施形態では、マウス４のドラッグ操作中は、顧客８側の操作が完了していないものとする。
【００２７】
Ｎｏ．２の「一定時間、第２のディスプレイ側での操作がなかった場合」とは、具体的には、第２のディスプレイ５上にマウスカーソル９が存在する状態で、第２のディスプレイ５側での操作（例えば、タッチパネル６による操作）が一定時間行われなかった場合をいう。ここで、一定時間の設定は、任意の時間を設定することができる。
【００２８】
Ｎｏ．３の「画面操作終了」とは、顧客８による第２のディスプレイ５への入力操作の終了をいう。顧客８による第２のディスプレイ５への入力操作の終了とは、例えば、（１）終了操作、（２）所定の入力項目への入力完了、（３）画面外の操作、（４）特定の動作、が挙げられる。
【００２９】
（１）終了操作とは、終了ボタン等の特定のボタンをクリックすることにより第２のディスプレイ５への入力操作を終了することをいう。（２）所定の入力項目への入力完了とは、第２のディスプレイ５上に表示された予め決められた入力項目への入力が完了したことをいう。（３）画面外の操作とは、例えば、第２のディスプレイの一部の表示領域に、所定の業務アプリケーションプログラム（以下、「業務アプリケーション」という）の画面が表示されている場合、その画面以外の表示領域へのタッチ操作をいう。（４）特定の動作とは、例えば、マウス４をダブルクリックしたり、画面枠など特定の場所をクリックする等をいう。
【００３０】
図３は、本実施形態におけるマルチディスプレイシステムの機能ブロックを示す。図３において、出力機器１１とは、例えば、第１のディスプレイ３、第２のディスプレイ５に相当する。入力機器１２とは、例えば、マウス４、第２のディスプレイ５のタッチパネル６に相当する。
【００３１】
マウス４を移動させたり、クリック等されると、マウス４からはその操作に対応するマウス操作情報がＯＳ２１に対して送られる。また、第２のディスプレイ５のタッチパネル６に対して、タッチ操作が行われると、タッチパネル６のタッチパネル制御部（不図示）は、タッチ操作情報をコンピュータ２のコントローラ２２へ通知する。
【００３２】
コンピュータ２は、ＯＳ２１、コントローラ２２、タイマー２３、定義ファイル２４、マウスカーソル座標保持部２５を有する。ＯＳ２１は、マルチディスプレイシステムを実現することができるオペレーションシステムである。
【００３３】
マウスカーソル座標保持部２５には、随時、第１のディスプレイ３上におけるマウスカーソル９の座標が保持されている。したがって、第２のディスプレイ５のタッチパネル６に対してタッチ操作が行われた場合には、その操作直前の、第１のディスプレイ３上におけるマウスカーソル９の座標が保持されることになる。
【００３４】
第１のディスプレイ３側から第２のディスプレイ５側へマウスカーソル９が移動した後に第２のディスプレイ５側の操作終了のイベントが発生した場合、コントローラ２２は、次の制御を行う。すなわち、コントローラ２２は、マウスカーソル９を、上記で保持した座標に復帰させる制御を行う。また、コントローラ２２は、入力機器１２からＯＳ２１へ送られる入力情報または命令情報、またはタイマー２２からの通知を監視している。
【００３５】
タイマー２３は、業務アプリケーション画面を操作していない時間をカウントする。そして、タイマー２３は、カウントした時間が予め設定された時間を超えた場合には、コントローラ２２に対して、特定のイベント（例えば、ダブルクリックイベント）が発生した場合に発行されるイベント情報を通知する。また、タイマー２３は、コントローラ２２によってカウントする時間がセットされたり、クリアされたりする。
【００３６】
定義ファイル２４には、第２のディスプレイ５側の操作終了に関する定義情報が登録されている。コントローラ２２は、定義ファイル２４を読み込んで、第２のディスプレイ５側の操作終了条件に関する情報を取得することができる。
【００３７】
コントローラ２２について、さらに詳述する。コントローラ２２は、第１のディスプレイ３側の操作中は、第１のディスプレイ３上のマウスカーソル９の座標を随時検出し、マウスカーソル座標保持部２５に格納する。これにより、マウスカーソル座標保持部２５に格納された第１のディスプレイ３上のマウスカーソル９の座標は、随時更新される。
【００３８】
コントローラ２２は、マウス４からＯＳ２１へ送られるマウス操作情報及びタッチパネル６からＯＳ２１へ送られるタッチ操作情報を常時監視し、検出する。また、コントローラ２２は、タイマー２３及び定義ファイル２４に基づいて、第２のディスプレイ５側の操作が終了したか否かを判定する。
【００３９】
これにより、第１のディスプレイ３側から第２のディスプレイ５側へマウスカーソル９が移行した後に第２のディスプレイ５側の操作終了を検知することができる。
第２のディスプレイ５側の操作終了を検知した場合、コントローラ２２は、マウスカーソル座標保持部２５からマウスカーソル９の座標を読み出す。それから、コントローラ２２は、その読み出したマウスカーソル９の座標を用いて、ＯＳ２１に対し、マウスカーソル９を、保持した座標へ復帰させるように指示する。ＯＳ２１は、コントローラ２２からの指示に従い、第１のディスプレイ３上において、マウスカーソル９を、その保持した座標へ復帰させて表示させる制御を行う。
【００４０】
図４は、定義ファイル２４の一例を示す。定義ファイル２４には、画面（Class）毎またはコントロール（Ctrl）毎に時間を設定する。また、定義ファイル２４には、第１のディスプレイにおいて最後に操作した位置にマウスカーソルを復帰させる対象となるコントロール（ReverseCtrl）を設定する。ここで、画面（Class）とは、ディスプレイに表示される個々のウィンドウ画面を示す。また、コントロール（Ctrl）とは、各画面に配置される、ボタン、テキストボックス、コンボボックス、チェックボックス等の、画面を構成する部品を示す。
【００４１】
図４において、符号３１に示す部分には、定義ファイル２４において定義されている画面（Class）、コントロール（Ctrl、ReverseCtrl）の数が設定されている。「Classnum=2」は、定義ファイル２４に２つの画面（Class）が対象画面として設定されていることを示す。「Ctrlnum=3」は、定義ファイル２４に３つのコントロール（Ctrl）が対象コントロールとして設定されていることを示す。「ReverseCtrl=1」は、１つのコントロールが、第１のディスプレイにおいて最後に操作した位置にマウスカーソルを復帰させる対象となるコントロール、すなわちリバースコントロール（ReverseCtrl）として設定されていることを示す。
【００４２】
符号３２に示す部分には、画面（Class）毎の待ち時間が設定されている。Class1には、画面（class）「Windows Editor」に対して、待ち時間として「１００（秒）」が設定されている。また、Class2には、画面（Class）「Windows Creator」に対して、待ち時間として「１００（秒）」が設定されている。
【００４３】
符号３３に示す部分には、コントロール（Ctrl）毎の待ち時間が設定されている。Ctrl1には、画面（Class）「Windows Cleaner」内のコントロール名「ComboBox」に対して、待ち時間として「１０（秒）」が設定されている。また、Ctrl2には、画面（Class）「Windows Cleaner」内のコントロール名「Input」に対して、待ち時間として「２０（秒）」が設定されている。また、Ctrl3には、画面（Class）「Windows Cleaner」内のコントロール名「Exit Button」に対して、待ち時間として「５（秒）」が設定されている。
【００４４】
符号３４に示す部分には、第１のディスプレイにおいて最後に操作した位置にマウスカーソルを復帰させる対象となるリバースコントロール（ReverseCtrl）が設定されている。ReverseCtrl1として、画面「Windows Setting Tools」のコントロール「Exit」が設定されている。
定義ファイル２４の利用については、後述する。
【００４５】
図５は、本実施形態におけるコントローラ２２によるマウスカーソル復帰制御フローの一例を示す。なお、以下では、ＯＳにＷｉｎｄｏｗｓ（登録商標）を用いた場合を例に説明するが、これに限定されず、マルチディスプレイシステムを実現できるＯＳであればよい。
【００４６】
図５のフローは、関数ＷｎｄＰｒｏｃ（ウィンドウプロシージャ）が実行されている間、実行される。「ＷｎｄＰｒｏｃ」は、Ｗｉｎｄｏｗｓ（登録商標）のメッセージを適切に処理するための関数である。当該メッセージを適切に処理するＷｎｄＰｒｏｃは、Ｗｉｎｄｏｗｓ（登録商標）からメッセージが送られてきたタイミングで動作する。ここでの動作とは、例えば、ウィンドウ関連、マウス関連、またはキーボード関連について対応する動作のことである。ＷｎｄＰｒｏｃは、例えば、ｔＷｉｎＭａｉｎ関数などのメッセージループ内で動作する。
【００４７】
まず、コントローラ２２は、マウス４の操作により発生するイベント（マウスイベント）を検知した場合、当該マウスイベントが処理対象のマウスイベントか否かを判定する（Ｓ１）。ここで、処理対象のマウスイベントの例を、図６に示す。
【００４８】
図６は、処理対象となるマウスイベントの一例を示す。クライアント領域とは、各アプリケーションプログラムを表示するウィンドウ画面の、ツールバー、メニュー、およびステータスバーを除いた部分のことである。非クライアント領域とは、各アプリケーションプログラムを表示するウィンドウ画面の、ツールバー、メニュー、およびステータスバーのことである。
【００４９】
まずは、クライアント領域におけるマウスイベントについて説明する。マウス４の右ボタン、左ボタン、ホイール（または真ん中ボタン）が押された場合に、それぞれに対応するＢｕｔｔｏｎＤｏｗｎイベントが発生する。また、マウス４の右ボタン、左ボタン、ホイール（または真ん中ボタン）が押されている状態から放された場合に、それぞれに対応するＢｕｔｔｏｎＵｐイベントが発生する。また、マウス４の右ボタン、左ボタン、ホイール（または真ん中ボタン）がクリックされた場合に、それぞれに対応するＣｌｉｃｋイベントが発生する。また、マウス４の右ボタン、左ボタン、ホイール（または真ん中ボタン）がダブルクリックされた場合に、それぞれに対応するＤｏｕｂｌｅＣｌｉｃｋイベントが発生する。また、マウス４が移動した場合に、ＭｏｕｓｅＭｏｖｅイベントが発生する。
【００５０】
次に、非クライアント領域におけるマウスイベントについて説明する。マウス４の右ボタン、左ボタンが押された場合に、それぞれに対応するＮＣＲＢｕｔｔｏｎＤｏｗｎ、ＮＣＬＢｕｔｔｏｎＤｏｗｎイベントが発生する。また、マウス４の右ボタン、左ボタンが押されている状態から放された場合に、それぞれに対応するＮＣＲＢｕｔｔｏｎＵｐ、ＮＣＬＢｕｔｔｏｎＵｐイベントが発生する。また、マウス４の右ボタン、左ボタンがダブルクリックされた場合に、それぞれに対応するＮＣＲＤｏｕｂｌｅＣｌｉｃｋ、ＮＣＬＤｏｕｂｌｅＣｌｉｃｋイベントが発生する。
【００５１】
図６のイベントが発生したことを検知すると、コントローラ２２は、マウスカーソル９の現在の座標が、第１のディスプレイ３の表示領域に含まれるか否かを判定する（Ｓ２）。上述したように、コントローラ２２は、第１のディスプレイ３側の操作中は、第１のディスプレイ３上のマウスカーソル９の座標を随時検出している。
【００５２】
その検出した座標情報を用いて、現在のマウスカーソル９の座標が第１のディスプレイ３の表示領域に含まれると判定した場合には（Ｓ２で「Ｙｅｓ」）、コントローラ２２は、タイマー２３のカウント値をクリアする（Ｓ３）。それから、コントローラ２２は、そのマウスカーソル９の現在の座標をマウスカーソル座標保持部２５に格納する（Ｓ４）。
【００５３】
マウスカーソル９の現在の座標が第１のディスプレイ３の表示領域に含まれないと判定した場合には（Ｓ２で「Ｎｏ」）、コントローラ２２は、操作された機器がマウス４であるか否かを判定する（Ｓ５）。
【００５４】
コントローラ２２は、たとえば、GetAsyncKeyState関数を使用して、VK_LBUTTON、VK_RBUTTON、VK_MBUTTONをパラメータに指定して、マウス４の押下状態情報を取得することができる。これにより、コントローラ２２は、マウス操作が行われたかそれ以外の機器の操作が行われたかを判定することができる。
【００５５】
操作された機器がマウス４である場合（Ｓ５で「Ｙｅｓ」）、コントローラ２２は、マウスカーソル座標保持部２５からマウスカーソル９の座標を読み出す。それから、コントローラ２２は、その読み出したマウスカーソル９の座標を用いて、ＯＳ２１に対し、マウスカーソルを、Ｓ４で保持した位置情報の示す位置へ復帰させるように指示する（Ｓ６）。ＯＳ２１は、コントローラ２２からの指示に従い、第１のディスプレイ３上において、マウスカーソルを、Ｓ４で保持した位置情報の示す位置へ復帰させ、表示させる。
【００５６】
操作された機器がマウス４以外の機器である場合（Ｓ５で「Ｎｏ」）、例えば、第２のディスプレイ５のタッチパネル６が操作された場合、コントローラ２２は、Ｓ７の判定を行う。すなわち、コントローラ２２は、タッチパネル６への操作が業務アプリケーション画面に対する操作であるか、または条件Ｊ１〜Ｊ３を満たすかを判定する（Ｓ７）。業務アプリケーション画面に対する操作であるかは、予め用意された定義ファイル２４に設定されたクラス名と、タッチパネル６によって操作された業務アプリケーション画面のクラス名とが一致するか否かにより判定することができる。条件Ｊ１〜Ｊ３については、以下に説明する。
【００５７】
条件Ｊ１とは、タッチパネル６で業務アプリケーション画面以外の画面を操作した場合である。業務アプリケーション画面以外の画面に対する操作であるかは、予め用意された定義ファイル２４に設定されたクラス名と、タッチパネル６によって操作された業務アプリケーション画面のクラス名とが一致するか否かにより判定することができる。
【００５８】
条件Ｊ２とは、画面の終了を判定できる一意のイベントとして特定の操作をした場合である。画面の終了を判定できる一意のイベントして、例えばダブルクリックが設定されているとする。この場合、タッチパネル６上でダブルクリック操作をした場合に条件Ｊ２を満たす。
【００５９】
条件Ｊ３とは、タイマー２３にセットされた時間を超えた際に発行された特定のイベントを検知した場合である。上述したように、タイマー２３は、業務アプリケーション画面を操作していない時間をカウントする。そして、タイマー２３は、そのカウントした時間が予め設定された時間を超えた場合に、特定のイベントが発生したときに発行される特定のメッセージを発行する。これにより、コントローラ２２に擬似的にマウスイベント等のイベントの発生を認識させることができる。
【００６０】
ここで特定のイベントとは、画面の終了を判定することができる一意のイベントのことである。例えば特定のイベントしてダブルクイックイベントを擬似的に発生するように設定されているとする。この場合、業務アプリケーション画面を操作していない時間をカウントした時間が予め設定された時間を超えた場合に、強制的にダブルクリックイベントが発生したことがコントローラ２２に通知される。なお、画面の終了を判定することができる一意のイベントであれば、どのようなイベントを擬似的に発生させてもよい。
【００６１】
条件Ｊ１〜Ｊ３のいずれの条件を満たすと判定した場合、コントローラ２２は、タイマー２３のカウント値をクリアする（Ｓ８）。コントローラ２２は、マウスカーソル座標保持部２５からマウスカーソル９の座標を読み出す。それから、コントローラ２２は、その読み出したマウスカーソル９の座標を用いて、ＯＳ２１に対し、マウスカーソルを、Ｓ４で保持した位置情報の示す位置へ復帰させるように指示する（Ｓ６）。ＯＳ２１は、コントローラ２２からの指示に従い、第１のディスプレイ３上において、マウスカーソルを、Ｓ４で保持した位置情報の示す位置へ復帰させ、表示させる。
【００６２】
タッチパネル６への操作が業務アプリケーション画面内に対する操作であると判定した場合（Ｓ７）、コントローラ２２は、Ｓ９の処理を行う。すなわち、コントローラ２２は、タッチパネル６によって操作された業務アプリケーション画面のクラス名（または、画面のコントロール名）が、予め用意された定義ファイル２４に定義されているか否かの判定を行う（Ｓ９）。
【００６３】
タッチパネル６によって操作された業務アプリケーション画面のクラス名（または、画面のコントロール名）が、予め用意された定義ファイル２４に定義されていない場合（Ｓ９で「Ｎｏ」）、コントローラ２２は、次の処理を行う。すなわち、コントローラ２２は、タイマー２３のカウント値をクリアする（Ｓ１２）。
【００６４】
タッチパネル６によって操作された業務アプリケーション画面のクラス名（または、画面のコントロール名）が、予め用意された定義ファイル２４に含まれている場合（Ｓ９で「Ｙｅｓ」）、コントローラ２２は、Ｓ１０の処理を行う。
【００６５】
コントローラ２２は、定義ファイル２４の［ReverseCtrl］からリバースコントロールとして設定されるコントロール名を読み出す。それから、コントローラ２２は、その読み出したコントロール名に基づいて、タッチパネル６によって操作された業務アプリケーション画面のコントロールが、リバースコントロールであるか否かを判定する（Ｓ１０）。
【００６６】
例えば、タッチパネル６において業務アプリケーション画面「Windows Setting Tools」の終了（Exit）ボタンがタッチされたとする。コントローラ２２は、定義ファイル２４の［ReverseCtrl］（符号３４）を参照し、ReverseCtrlとして、画面“Windows Setting Tools”のコントロール“Exit”を取得する。
【００６７】
このとき、タッチパネル６によって操作された業務アプリケーション画面のコントロールが、リバースコントロール名と一致するから、コントローラ２２は、Ｓ１０の判定を「Ｙｅｓ」と判定する。
【００６８】
タッチパネル６によって操作されたコントロールが、リバースコントロールである場合（Ｓ１０で「Ｙｅｓ」）、コントローラ２２は、次の処理を行う。すなわち、コントローラ２２は、タイマー２３のカウント値をクリアし（Ｓ８）、マウスカーソル座標保持部２５からマウスカーソル９の座標を読み出す。
【００６９】
それから、コントローラ２２は、その読み出したマウスカーソル９の座標を用いて、ＯＳ２１に対し、マウスカーソルを、Ｓ４で保持した位置情報の示す位置へ復帰させるように指示する（Ｓ６）。ＯＳ２１は、コントローラ２２から通知された座標情報に従い、マウスカーソル９を第１のディスプレイ３上に表示させる。
【００７０】
タッチパネル６によって操作されたコントロールが、リバースコントロールでない場合（Ｓ１０で「Ｎｏ」）、コントローラ２２は、Ｓ１１の処理を行う。すなわち、コントローラ２２は、タイマー２３が起動していなければタイマー２３を起動させ、タイマー２３が起動していればそのタイマーのカウント値をインクリメントして更新する（Ｓ１１）。これにより、業務アプリケーションを操作していない時間をタイマー２３によりカウントする。
【００７１】
ここで、Ｓ３，Ｓ８，Ｓ１１，Ｓ１２のタイマー２３関連の処理について説明する。タイマー２３は、業務アプリケーション画面を操作していない時間をカウントする。業務アプリケーション画面に対して何もせずに予め設定した時間を経過した場合、タイマー２３は、コントローラ２２に特定のイベントが発生したときに発行されるメッセージを発行し、マウスカーソル９をＳ４で保持した座標に復帰させる。なお、業務アプリケーション画面に対して予め設定する時間は、業務アプリケーション画面に依存せずに任意で設定可能である。
【００７２】
タイマーの設定方法には、２つの方法がある。第１のタイマー設定方法として、操作する画面別に任意の時間を設定することである。例えば、図４の定義ファイル２４の場合で言えば、符号３２において、Class1として画面“Windows Editor”に、“１００”秒が設定されている。また、Class2として画面“Windows Creator”に、“１００”秒が設定されている。例えば、業務アプリケーション画面として、画面“Windows Editor”が表示されている場合、コントローラ２２は、その画面への入力（タッチパネルによるマウスイベント発生）から操作完了までの待ち時間として、１００秒間をタイマー２３にセットする。
【００７３】
第２のタイマー設定方法は、対象コントロール別に任意の時間を設定することである。この場合、コントロール別に時間を設定する。画面内に配置されたコントロールの種類／数によって、設定された時間から、１画面で必要とされる操作のための時間をタイマー２３が計算する。これについて、図４の定義ファイル２４の符号３３で示した設定内容を例に説明する。符号３３には、ctrl1としての“ComboBox”、ctrl2としての“Input”、ctrl3としての“Exit Button”のそれぞれに、１０秒、２０秒、５秒が設定されている。これらのコントロールctrl1，ctrl2，ctrl3は、画面「Windows Cleaner」に設定されているから、画面「Windows Cleaner」について必要とされる操作のための時間は、３５（＝１０＋２０＋５）秒となる。この場合、コントローラ２２は、画面「Windows Cleaner」への入力（タッチパネルによるマウスイベント発生）から操作完了までの待ち時間として、３５秒間をタイマー２３にセットする。
【００７４】
なお、定義ファイル２４の項目の優先度は、“対象画面”（符号３２で設定されたClass）＞“対象コントロール” （符号３３で設定されたControl）である。“対象画面”が定義されていない“対象コントロール”を設定した場合に、“対象コントロール”で設定されている画面クラス名ごとに時間を集計する。タッチパネル操作により、対象画面クラスを検知した際は、その集計値でタイマーの更新を行う（第２のタイマー設定方法）。一方、対象画面の時間が設定されている場合は、対象コントロールを集計しないで、対象画面の時間でタイマーの更新を行う（第１のタイマー設定方法）。
【００７５】
図７は、コンピュータ２のハードウェア環境の構成ブロック図である。コンピュータ２は、ＣＰＵ４２、ＲＯＭ４３、ＲＡＭ４６、通信Ｉ／Ｆ４４、記憶装置４７、出力Ｉ／Ｆ４１、入力Ｉ／Ｆ４５、読み取り装置４８、バス４９、出力装置１００、入力装置１０１によって構成されている。
【００７６】
ここで、ＣＰＵは、中央演算装置を示す。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、通信インターフェースを示す。バス４９には、ＣＰＵ４２、ＲＯＭ４３、ＲＡＭ４６、通信Ｉ／Ｆ４４、記憶装置４７、出力Ｉ／Ｆ４１、入力Ｉ／Ｆ４５、及び読み取り装置４８が接続されている。読み取り装置４８は、可搬型記録媒体を読み出す装置である。出力機器１１は、出力Ｉ／Ｆ４１に接続されている。入力機器１２は、入力Ｉ／Ｆ４５に接続にされている。
【００７７】
記憶装置４７としてはハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。このような記憶装置４７、またはＲＯＭ４３には、上記で説明した用いたフローのプログラム及び定義ファイル２４が格納されている。また、マウスカーソル座標保持部２５はＲＡＭに相当する。
【００７８】
ＣＰＵ４２は、記憶装置４７等に格納した上記プログラムを読み出し、ＯＳ２１，コントローラ２２、タイマー２３として機能する。
上記で説明したフローのプログラムは、プログラム提供者側から通信ネットワーク１０２、および通信Ｉ／Ｆ４４を介して、例えば記憶装置４７に格納してもよい。また、このプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置４８にセットされて、ＣＰＵ４２によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置など様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読み取り装置４８によって読み取られる。
【００７９】
また、入力機器１２には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器１１には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク１０２は、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線等の通信網であってよい。
【００８０】
なお、本実施形態では、第２のディスプレイ５側の操作はタッチパネル６により行ったが、これに限定されず、例えば、マウス、キーボード等であってもよい。また、本実施形態では、第１のディスプレイ側についてマウスカーソルの座標を保持したが、これに限定されず、第２のディスプレイの表示領域におけるマウスカーソルの座標を保持するようにしてもよい。すなわち、第２のディスプレイ側から第１のディスプレイ側に操作が移った後に第１のディスプレイ側での操作が終了した場合、第２のディスプレイにおいて最後に操作した位置にカーソルを戻すように制御してもよい。
【００８１】
以上より、本実施形態に係るカーソル制御プログラムは、複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させる。該カーソル制御プログラムは、保持処理、検出処理、判定処理、復帰処理をコンピュータに実行させる。
【００８２】
保持処理は、第１のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する。座標保持処理は、例えば本実施形態で言えば、コントローラ２２が逐次検出した第１のディスプレイ３におけるマウスカーソルをマウスカーソル座標保持部２５に格納する処理（図５のＳ４）に相当する。
【００８３】
検出処理は、情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する。検出処理は、例えば本実施形態で言えば、コントローラ２２がマウス４からＯＳ２１へ送られるマウス操作情報、タッチパネル６からＯＳ２１へ送られるタッチ操作情報、またはタイマー２３により発行される特定のイベントを検出する処理（図５のＳ７）に相当する。
【００８４】
判定処理は、前記検出したイベント情報が、該第２のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する。判定処理は、例えば本実施形態で言えば、図５のＳ５，Ｓ７，Ｓ９，Ｓ１０の処理に相当する。
【００８５】
復帰処理は、前記操作完了条件を満たした場合、前記カーソルを、前記第１のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる。復帰処理は、例えば本実施形態で言えば、図５のＳ６の処理に相当する。
【００８６】
このように構成することにより、第１のディスプレイ側から第２のディスプレイ側に操作が移った後に第２のディスプレイ側での操作が終了した場合、第１のディスプレイにおいて最後に操作した位置にカーソルを戻すことができる。これにより、オペレータは、第２のディスプレイ側での操作が終了した場合、毎回、第２のディスプレイから第１のディスプレイ側へマウスカーソルを戻すという作業を行う必要がなくなり、オペレータの操作の寸断を防止することができる。
【００８７】
また、第２のディスプレイの表示領域に前記カーソルがある場合において、次のイベント情報が検出された場合、前記判定処理は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する。次のイベント情報とは、前記入力機器により所定の操作がされた場合に発生するイベント情報である。または前記第２のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報である。
【００８８】
さらに、前記操作完了条件について説明する。前記入力機器は、マウス装置である。前記第２のディスプレイは、前記入力機器としてのタッチパネルを有する。このとき、前記操作完了条件には、次のイベント情報のうち、少なくとも１つが含まれる。まずは、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報である。また、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報である。また、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報である。また、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報である。さらに、前記所定の画面を終了させる場合に発生するイベント情報である。
【００８９】
このように構成することにより、第２のディスプレイ側における操作の終了を判定することができる。
前記カーソル制御プログラムは、さらに、計測処理をコンピュータに実行させる。計測処理は、前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる。
【００９０】
このように構成することにより、擬似的に第２のディスプレイ側における操作の終了を示すイベントと同一のイベントを発生させることができる。
本実施形態によれば、オペレータが顧客側での画面操作の終了を確認するための時間が不要となる。すなわち、客側の操作が終了すれば、マウスカーソルが第１のディスプレイに復帰するので、顧客側での画面操作の終了を確認するためのタイムロスが発生しない。
【００９１】
また、マウスカーソルを視認できない状態で、第１ディスプレイ側にマウスカーソルを復帰させる場合に、例えばマウスを横にスライドさせる動作をする必要がなくなるので、この作業の分のタイムロス及び手間を無くすことができる。
【００９２】
また、マウスカーソルの移動作業が不要となり、客側の入力操作終了の確認が不要となり、第１のディスプレイ側においてマウスカーソルが元の位置に戻る。これにより、第1のディスプレイ側でのオペレータによる操作が寸断することなく、継続することができる。すなわち、オペレータの操作が客側の入力操作前後で変わらなくなるため、オペレータは即座に作業を続行できる。
【００９３】
また、背中合わせの状態では、客側の画面を確認することができないので、マウスのカーソル位置が第２のディスプレイ側にある場合に、オペレータが第２のディスプレイに表示された画面のボタンをクリックしてしまう等の操作ミスが起こる。しかし、本実施形態を適用することにより、オペレータが第２のディスプレイに表示された画面を操作することという事態が発生しないため、オペレータの操作のミスを軽減することができる。
【００９４】
以上のように、第１のディスプレイで最後に操作した位置にカーソルを復帰させることで、オペレータから他ディスプレイの画面の状況が視認できない状態で運用している環境であっても、非常に効果的な操作が可能となる。これにより、オペレータと顧客とのやり取りにおいて、オペレータの不要な作業を失くし、かつ操作の寸断を防止することができる。その結果、マルチディスプレイシステムにおいて、オペレータ側の作業効率の向上を図ることができる。
【００９５】
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【００９６】
上記実施形態に関し、更に以下の付記を開示する。
（付記１）
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させるカーソル制御プログラムであって、
第１のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持処理と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出処理と、
前記検出したイベント情報が、前記第２のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定処理と、
前記操作完了条件を満たした場合、前記カーソルを、前記第１のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰処理と、
を、コンピュータに実行させることを特徴とするカーソル制御プログラム。
（付記２）
前記第２のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第２のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定処理は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする付記１に記載のカーソル制御プログラム。
（付記３）
前記入力機器は、マウス装置であり、
前記第２のディスプレイは、前記入力機器としてのタッチパネルを有し、
前記操作完了条件には、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報、及び前記所定の画面を終了させる場合に発生するイベント情報のうち、少なくとも１つが含まれる
ことを特徴とする付記１または２に記載のカーソル制御プログラム。
（付記４）
前記カーソル制御プログラムは、さらに、
前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる計測処理
を、コンピュータに実行させることを特徴とする付記１〜３のうちいずれか１項に記載のカーソル制御プログラム。
（付記５）
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御を行うカーソル制御装置であって、
第１のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持部と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出部と、
前記検出したイベント情報が、前記第２のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定部と、
前記操作完了条件を満たした場合、前記カーソルを、前記第１のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰部と、
を備えることを特徴とするカーソル制御装置。
（付記６）
前記第２のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第２のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定部は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする付記５に記載のカーソル制御装置。
（付記７）
前記入力機器は、マウス装置であり、
前記第２のディスプレイは、前記入力機器としてのタッチパネルを有し、
前記操作完了条件には、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報、及び前記所定の画面を終了させる場合に発生するイベント情報のうち、少なくとも１つが含まれる
ことを特徴とする付記５または６に記載のカーソル制御装置。
（付記８）
前記カーソル制御装置は、さらに、
前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる計測部
を備えることを特徴とする付記５〜７のうちいずれか１項に記載のカーソル制御装置。
【符号の説明】
【００９７】
１      マルチディスプレイシステム
２      コンピュータ
３      第１のディスプレイ
４      マウス
５      第２のディスプレイ
６      タッチパネル
７      オペレータ
８      顧客
９      マウスカーソル
１１      出力機器
１２      入力機器
２１      ＯＳ
２２      コントローラ
２３      タイマー
２４      定義ファイル
２５      マウスカーソル座標保持部
【図１】
2011257801.tif 000004
【図２】
2011257801.tif 000005
【図３】
2011257801.tif 000006
【図４】
2011257801.tif 000007
【図５】
2011257801.tif 000008
【図６】
2011257801.tif 000009
【図７】
2011257801.tif 000010