説明

カーソル制御プログラム及び該装置

【課題】マルチディスプレイシステムにおいて、第2のディスプレイ側での操作終了後に第1のディスプレイ側に操作が戻る場合、カーソルも第1のディスプレイ側に自動で戻るカーソル制御技術を提供する。
【解決手段】第1のディスプレイの表示領域にカーソルがある場合に、カーソルの位置情報を保持し、入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出し、検出したイベント情報が、第2のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定し、操作完了条件を満たした場合、前記カーソルを、第1のディスプレイにおける保持した位置情報の示す位置へ復帰させる。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、マルチディスプレイシステムにおけるカーソル制御技術に関する。
【背景技術】
【0002】
近年、窓口や受付にてマルチディスプレイシステムを利用し、顧客に対応する業務が増えている。例えば、オペレータ側と顧客側にそれぞれディスプレイを設置し、各人が必要に応じて命令またはデータを入力することにより、業務の効率化を図ることができる。
【0003】
このようなマルチディスプレイシステムに関する技術として、例えば、各表示手段において実際に各種操作ができる指示カーソルと、位置だけを示す擬似カーソルとを切替表示する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−202953号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、マルチディスプレイシステム環境下において、顧客側とオペレータ側とにおいて画面操作を行うとき、ディスプレイ操作の切替え時にマウス装置(以下、マウスという)のマウスカーソルの制御がされていなかった。
【0006】
例えば、デュアルディスプレイシステムにおいて、第2のディスプレイのタッチパネルにより顧客による操作があった場合、マウスカーソルが第1のディスプレイ側から第2のディスプレイ側に移動する。その後、オペレータが、第1のディスプレイ側で操作を行うとき、第2のディスプレイに表示された画面が見えない状態で、毎回、第2のディスプレイから第1のディスプレイへマウスカーソルを戻す作業が必要であった。この作業が、顧客とのやり取りを要する画面操作にかなりの負担を生じていた。このように、第2のディスプレイから第1のディスプレイへ操作対象が移る場合、マウスカーソルの位置を第1のディスプレイ上に戻すことは、オペレータによる操作に依存していたため、オペレータに負担がかかっていた。
【0007】
そこで、上記課題に鑑み、マルチディスプレイシステムにおいて、第2のディスプレイ側での操作終了後に第1のディスプレイ側に操作が戻る場合、カーソルも第1のディスプレイ側に自動で戻るカーソル制御技術を提供する。
【課題を解決するための手段】
【0008】
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させるカーソル制御プログラムは、保持処理、検出処理、判定処理、復帰処理をコンピュータに実行させる。
【0009】
保持処理は、第1のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する。
検出処理は、情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する。
【0010】
判定処理は、前記検出したイベント情報が、前記第2のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する。
座標復帰処理は、前記操作完了条件を満たした場合、前記カーソルを、前記第1のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる。
【発明の効果】
【0011】
本実施形態によれば、マルチディスプレイシステムにおいて、第2のディスプレイ側での操作終了後に第1のディスプレイ側に操作が戻る場合、カーソルも第1のディスプレイ側に自動で戻ることができる。
【図面の簡単な説明】
【0012】
【図1】マルチディスプレイシステムの構成を示す。
【図2】マルチディスプレイシステムのマウスカーソル制御を説明するための図である。
【図3】マルチディスプレイシステムの機能ブロックを示す。
【図4】定義ファイル24の一例を示す。
【図5】コントローラ22によるマウスカーソル復帰制御フローの一例を示す。
【図6】処理対象となるマウスイベントの一例を示す。
【図7】コンピュータ2のハードウェア環境の構成ブロック図である。
【発明を実施するための形態】
【0013】
本実施形態では、第2のディスプレイに移動したマウスカーソルを第1のディスプレイにおいて最後に操作した位置に自動的に復帰させることについて説明する。
図1は、本実施形態におけるマルチディスプレイシステム1の構成を示す。マルチディスプレイシステム1は、コンピュータ2、第1のディスプレイ3、マウス4、第2のディスプレイ5を含む。コンピュータ2には、第1のディスプレイ3、マウス4、第2のディスプレイ5が接続されている。
【0014】
図1に示すように、第1のディスプレイ3と、第2のディスプレイ5とは、それらの背面を向かい合わせて配置されている。一方のディスプレイを操作する側からは他方の画面を視認することができないような環境になっている。本実施形態では、このような環境を前提に、マルチディスプレイシステム1を利用する場合を例に説明する。なお、顧客が利用する第2のディスプレイ5は本実施形態では説明の便宜上1つであるが、2つ以上あってもよい。
【0015】
コンピュータ2は、マルチディスプレイシステムを実現するオペレーションシステム(OS)がインストールされた情報処理装置である。コンピュータ2は、マルチディスプレイシステムのユーザインターフェース(GUI)を第1のディスプレイ3、第2のディスプレイ5に出力する。
【0016】
第1のディスプレイ3は、オペレータ7側に配置された表示装置である。オペレータ7は、マウス4等を用いて、第1のディスプレイ3に表示された業務アプリケーションプログラムやコンピュータ2の操作を行う。なお、本実施形態では、オペレータ7はマウス4を用いて操作する例について説明するが、これに限定されず、例えばキーボードやタブレット、タッチパネル(この場合、第1のディスプレイがタッチパネル機能を有する)等の入力機器を用いてもよい。
【0017】
第2のディスプレイ5は、顧客8側に配置された表示装置である。本実施形態では、第2のディスプレイ5は、例えば、タッチパネル6を備えている。顧客は、例えば、オペレータ7の指示によりタッチパネル6により画面の操作を行うことができる。
【0018】
ここで、コンピュータ2は、第1のディスプレイ3上でのマウスの操作中に、随時、第1のディスプレイ3の表示領域におけるマウスカーソルの座標を取得し、保持している。したがって、マルチディスプレイシステム1において、タッチパネル6により第2のディスプレイ5への操作がなされた場合、コンピュータ2は、その操作直前の、第1のディスプレイ3におけるマウスカーソルの座標を保持することになる。第2のディスプレイ5側での操作が終了した場合、コンピュータ2はその保持しておいた座標にマウスカーソルを戻す。これについて、図2を用いて説明する。
【0019】
図2は、本実施形態におけるマルチディスプレイシステムのマウスカーソル制御を説明するための図である。
図2(A)に示すように、オペレータ7がマウス4を操作して、第1のディスプレイ3に表示されたマウスカーソル9を用いて、コンピュータ2のマルチディスプレイシステムを利用している。このとき、オペレータ7は、第2のディスプレイの表示画面を視認することができない。
【0020】
次に、図2(B)に示すように、顧客8がタッチパネル6を用いて、第2のディスプレイ5に表示された画面に対して、タッチ操作を行う。すると、マウスカーソル9が、第2のディスプレイ5においてタッチされた位置に移動する。
【0021】
このとき、第1のディスプレイ3上では、マウスカーソル9が消えたように見える。このとき、コンピュータ2は、第2のディスプレイ5に表示された画面に対してなされたタッチ操作直前の第1のディスプレイ3上におけるマウスカーソル9の座標を保持している。
【0022】
図2(C)に示すように、顧客8による第2のディスプレイ5のタッチパネル6へのタッチ操作が終了したとする。コンピュータ2は、その第2のディスプレイ5側の操作が終了したことを検出する。第2のディスプレイ5側の操作終了の検出については後述する。
【0023】
図2(D)に示すように、コンピュータ2は、第2のディスプレイ5側の操作が終了したことを検出する。すると、コンピュータは、マウスカーソル9を、第2のディスプレイ5側から、第1のディスプレイ3の表示領域内にある図2(B)で保持した座標に移動させる。
【0024】
次に、第2のディスプレイ5側の操作終了のイベントの発生について説明する。第2のディスプレイ5側の操作終了は、表1のように定義される。
【0025】
【表1】

【0026】
No.1の「マウスをクリックしたとき」とは、具体的には、既に押されているマウス4のボタンを放すイベント(いわゆるマウスアップイベント)が発生したときである。本実施形態において、マウス4は、第1のディスプレイ3側に配置されている。したがって、マウスアップイベントは、例えば、顧客8のタッチパネル6の操作中に、一時的にオペレータ7が操作を行う必要が生じた場合に起こることが想定される。例えば、顧客8によるタッチパネル6の操作中に、オペレータ7がマウス4を用いてファイルや画面をドラッグ操作して第1のディスプレイ3から第2のディスプレイ5に移すことで、オペレータ7から顧客8へ情報の提示を行うことが想定される。そのため、本実施形態では、マウス4のドラッグ操作中は、顧客8側の操作が完了していないものとする。
【0027】
No.2の「一定時間、第2のディスプレイ側での操作がなかった場合」とは、具体的には、第2のディスプレイ5上にマウスカーソル9が存在する状態で、第2のディスプレイ5側での操作(例えば、タッチパネル6による操作)が一定時間行われなかった場合をいう。ここで、一定時間の設定は、任意の時間を設定することができる。
【0028】
No.3の「画面操作終了」とは、顧客8による第2のディスプレイ5への入力操作の終了をいう。顧客8による第2のディスプレイ5への入力操作の終了とは、例えば、(1)終了操作、(2)所定の入力項目への入力完了、(3)画面外の操作、(4)特定の動作、が挙げられる。
【0029】
(1)終了操作とは、終了ボタン等の特定のボタンをクリックすることにより第2のディスプレイ5への入力操作を終了することをいう。(2)所定の入力項目への入力完了とは、第2のディスプレイ5上に表示された予め決められた入力項目への入力が完了したことをいう。(3)画面外の操作とは、例えば、第2のディスプレイの一部の表示領域に、所定の業務アプリケーションプログラム(以下、「業務アプリケーション」という)の画面が表示されている場合、その画面以外の表示領域へのタッチ操作をいう。(4)特定の動作とは、例えば、マウス4をダブルクリックしたり、画面枠など特定の場所をクリックする等をいう。
【0030】
図3は、本実施形態におけるマルチディスプレイシステムの機能ブロックを示す。図3において、出力機器11とは、例えば、第1のディスプレイ3、第2のディスプレイ5に相当する。入力機器12とは、例えば、マウス4、第2のディスプレイ5のタッチパネル6に相当する。
【0031】
マウス4を移動させたり、クリック等されると、マウス4からはその操作に対応するマウス操作情報がOS21に対して送られる。また、第2のディスプレイ5のタッチパネル6に対して、タッチ操作が行われると、タッチパネル6のタッチパネル制御部(不図示)は、タッチ操作情報をコンピュータ2のコントローラ22へ通知する。
【0032】
コンピュータ2は、OS21、コントローラ22、タイマー23、定義ファイル24、マウスカーソル座標保持部25を有する。OS21は、マルチディスプレイシステムを実現することができるオペレーションシステムである。
【0033】
マウスカーソル座標保持部25には、随時、第1のディスプレイ3上におけるマウスカーソル9の座標が保持されている。したがって、第2のディスプレイ5のタッチパネル6に対してタッチ操作が行われた場合には、その操作直前の、第1のディスプレイ3上におけるマウスカーソル9の座標が保持されることになる。
【0034】
第1のディスプレイ3側から第2のディスプレイ5側へマウスカーソル9が移動した後に第2のディスプレイ5側の操作終了のイベントが発生した場合、コントローラ22は、次の制御を行う。すなわち、コントローラ22は、マウスカーソル9を、上記で保持した座標に復帰させる制御を行う。また、コントローラ22は、入力機器12からOS21へ送られる入力情報または命令情報、またはタイマー22からの通知を監視している。
【0035】
タイマー23は、業務アプリケーション画面を操作していない時間をカウントする。そして、タイマー23は、カウントした時間が予め設定された時間を超えた場合には、コントローラ22に対して、特定のイベント(例えば、ダブルクリックイベント)が発生した場合に発行されるイベント情報を通知する。また、タイマー23は、コントローラ22によってカウントする時間がセットされたり、クリアされたりする。
【0036】
定義ファイル24には、第2のディスプレイ5側の操作終了に関する定義情報が登録されている。コントローラ22は、定義ファイル24を読み込んで、第2のディスプレイ5側の操作終了条件に関する情報を取得することができる。
【0037】
コントローラ22について、さらに詳述する。コントローラ22は、第1のディスプレイ3側の操作中は、第1のディスプレイ3上のマウスカーソル9の座標を随時検出し、マウスカーソル座標保持部25に格納する。これにより、マウスカーソル座標保持部25に格納された第1のディスプレイ3上のマウスカーソル9の座標は、随時更新される。
【0038】
コントローラ22は、マウス4からOS21へ送られるマウス操作情報及びタッチパネル6からOS21へ送られるタッチ操作情報を常時監視し、検出する。また、コントローラ22は、タイマー23及び定義ファイル24に基づいて、第2のディスプレイ5側の操作が終了したか否かを判定する。
【0039】
これにより、第1のディスプレイ3側から第2のディスプレイ5側へマウスカーソル9が移行した後に第2のディスプレイ5側の操作終了を検知することができる。
第2のディスプレイ5側の操作終了を検知した場合、コントローラ22は、マウスカーソル座標保持部25からマウスカーソル9の座標を読み出す。それから、コントローラ22は、その読み出したマウスカーソル9の座標を用いて、OS21に対し、マウスカーソル9を、保持した座標へ復帰させるように指示する。OS21は、コントローラ22からの指示に従い、第1のディスプレイ3上において、マウスカーソル9を、その保持した座標へ復帰させて表示させる制御を行う。
【0040】
図4は、定義ファイル24の一例を示す。定義ファイル24には、画面(Class)毎またはコントロール(Ctrl)毎に時間を設定する。また、定義ファイル24には、第1のディスプレイにおいて最後に操作した位置にマウスカーソルを復帰させる対象となるコントロール(ReverseCtrl)を設定する。ここで、画面(Class)とは、ディスプレイに表示される個々のウィンドウ画面を示す。また、コントロール(Ctrl)とは、各画面に配置される、ボタン、テキストボックス、コンボボックス、チェックボックス等の、画面を構成する部品を示す。
【0041】
図4において、符号31に示す部分には、定義ファイル24において定義されている画面(Class)、コントロール(Ctrl、ReverseCtrl)の数が設定されている。「Classnum=2」は、定義ファイル24に2つの画面(Class)が対象画面として設定されていることを示す。「Ctrlnum=3」は、定義ファイル24に3つのコントロール(Ctrl)が対象コントロールとして設定されていることを示す。「ReverseCtrl=1」は、1つのコントロールが、第1のディスプレイにおいて最後に操作した位置にマウスカーソルを復帰させる対象となるコントロール、すなわちリバースコントロール(ReverseCtrl)として設定されていることを示す。
【0042】
符号32に示す部分には、画面(Class)毎の待ち時間が設定されている。Class1には、画面(class)「Windows Editor」に対して、待ち時間として「100(秒)」が設定されている。また、Class2には、画面(Class)「Windows Creator」に対して、待ち時間として「100(秒)」が設定されている。
【0043】
符号33に示す部分には、コントロール(Ctrl)毎の待ち時間が設定されている。Ctrl1には、画面(Class)「Windows Cleaner」内のコントロール名「ComboBox」に対して、待ち時間として「10(秒)」が設定されている。また、Ctrl2には、画面(Class)「Windows Cleaner」内のコントロール名「Input」に対して、待ち時間として「20(秒)」が設定されている。また、Ctrl3には、画面(Class)「Windows Cleaner」内のコントロール名「Exit Button」に対して、待ち時間として「5(秒)」が設定されている。
【0044】
符号34に示す部分には、第1のディスプレイにおいて最後に操作した位置にマウスカーソルを復帰させる対象となるリバースコントロール(ReverseCtrl)が設定されている。ReverseCtrl1として、画面「Windows Setting Tools」のコントロール「Exit」が設定されている。
定義ファイル24の利用については、後述する。
【0045】
図5は、本実施形態におけるコントローラ22によるマウスカーソル復帰制御フローの一例を示す。なお、以下では、OSにWindows(登録商標)を用いた場合を例に説明するが、これに限定されず、マルチディスプレイシステムを実現できるOSであればよい。
【0046】
図5のフローは、関数WndProc(ウィンドウプロシージャ)が実行されている間、実行される。「WndProc」は、Windows(登録商標)のメッセージを適切に処理するための関数である。当該メッセージを適切に処理するWndProcは、Windows(登録商標)からメッセージが送られてきたタイミングで動作する。ここでの動作とは、例えば、ウィンドウ関連、マウス関連、またはキーボード関連について対応する動作のことである。WndProcは、例えば、tWinMain関数などのメッセージループ内で動作する。
【0047】
まず、コントローラ22は、マウス4の操作により発生するイベント(マウスイベント)を検知した場合、当該マウスイベントが処理対象のマウスイベントか否かを判定する(S1)。ここで、処理対象のマウスイベントの例を、図6に示す。
【0048】
図6は、処理対象となるマウスイベントの一例を示す。クライアント領域とは、各アプリケーションプログラムを表示するウィンドウ画面の、ツールバー、メニュー、およびステータスバーを除いた部分のことである。非クライアント領域とは、各アプリケーションプログラムを表示するウィンドウ画面の、ツールバー、メニュー、およびステータスバーのことである。
【0049】
まずは、クライアント領域におけるマウスイベントについて説明する。マウス4の右ボタン、左ボタン、ホイール(または真ん中ボタン)が押された場合に、それぞれに対応するButtonDownイベントが発生する。また、マウス4の右ボタン、左ボタン、ホイール(または真ん中ボタン)が押されている状態から放された場合に、それぞれに対応するButtonUpイベントが発生する。また、マウス4の右ボタン、左ボタン、ホイール(または真ん中ボタン)がクリックされた場合に、それぞれに対応するClickイベントが発生する。また、マウス4の右ボタン、左ボタン、ホイール(または真ん中ボタン)がダブルクリックされた場合に、それぞれに対応するDoubleClickイベントが発生する。また、マウス4が移動した場合に、MouseMoveイベントが発生する。
【0050】
次に、非クライアント領域におけるマウスイベントについて説明する。マウス4の右ボタン、左ボタンが押された場合に、それぞれに対応するNCRButtonDown、NCLButtonDownイベントが発生する。また、マウス4の右ボタン、左ボタンが押されている状態から放された場合に、それぞれに対応するNCRButtonUp、NCLButtonUpイベントが発生する。また、マウス4の右ボタン、左ボタンがダブルクリックされた場合に、それぞれに対応するNCRDoubleClick、NCLDoubleClickイベントが発生する。
【0051】
図6のイベントが発生したことを検知すると、コントローラ22は、マウスカーソル9の現在の座標が、第1のディスプレイ3の表示領域に含まれるか否かを判定する(S2)。上述したように、コントローラ22は、第1のディスプレイ3側の操作中は、第1のディスプレイ3上のマウスカーソル9の座標を随時検出している。
【0052】
その検出した座標情報を用いて、現在のマウスカーソル9の座標が第1のディスプレイ3の表示領域に含まれると判定した場合には(S2で「Yes」)、コントローラ22は、タイマー23のカウント値をクリアする(S3)。それから、コントローラ22は、そのマウスカーソル9の現在の座標をマウスカーソル座標保持部25に格納する(S4)。
【0053】
マウスカーソル9の現在の座標が第1のディスプレイ3の表示領域に含まれないと判定した場合には(S2で「No」)、コントローラ22は、操作された機器がマウス4であるか否かを判定する(S5)。
【0054】
コントローラ22は、たとえば、GetAsyncKeyState関数を使用して、VK_LBUTTON、VK_RBUTTON、VK_MBUTTONをパラメータに指定して、マウス4の押下状態情報を取得することができる。これにより、コントローラ22は、マウス操作が行われたかそれ以外の機器の操作が行われたかを判定することができる。
【0055】
操作された機器がマウス4である場合(S5で「Yes」)、コントローラ22は、マウスカーソル座標保持部25からマウスカーソル9の座標を読み出す。それから、コントローラ22は、その読み出したマウスカーソル9の座標を用いて、OS21に対し、マウスカーソルを、S4で保持した位置情報の示す位置へ復帰させるように指示する(S6)。OS21は、コントローラ22からの指示に従い、第1のディスプレイ3上において、マウスカーソルを、S4で保持した位置情報の示す位置へ復帰させ、表示させる。
【0056】
操作された機器がマウス4以外の機器である場合(S5で「No」)、例えば、第2のディスプレイ5のタッチパネル6が操作された場合、コントローラ22は、S7の判定を行う。すなわち、コントローラ22は、タッチパネル6への操作が業務アプリケーション画面に対する操作であるか、または条件J1〜J3を満たすかを判定する(S7)。業務アプリケーション画面に対する操作であるかは、予め用意された定義ファイル24に設定されたクラス名と、タッチパネル6によって操作された業務アプリケーション画面のクラス名とが一致するか否かにより判定することができる。条件J1〜J3については、以下に説明する。
【0057】
条件J1とは、タッチパネル6で業務アプリケーション画面以外の画面を操作した場合である。業務アプリケーション画面以外の画面に対する操作であるかは、予め用意された定義ファイル24に設定されたクラス名と、タッチパネル6によって操作された業務アプリケーション画面のクラス名とが一致するか否かにより判定することができる。
【0058】
条件J2とは、画面の終了を判定できる一意のイベントとして特定の操作をした場合である。画面の終了を判定できる一意のイベントして、例えばダブルクリックが設定されているとする。この場合、タッチパネル6上でダブルクリック操作をした場合に条件J2を満たす。
【0059】
条件J3とは、タイマー23にセットされた時間を超えた際に発行された特定のイベントを検知した場合である。上述したように、タイマー23は、業務アプリケーション画面を操作していない時間をカウントする。そして、タイマー23は、そのカウントした時間が予め設定された時間を超えた場合に、特定のイベントが発生したときに発行される特定のメッセージを発行する。これにより、コントローラ22に擬似的にマウスイベント等のイベントの発生を認識させることができる。
【0060】
ここで特定のイベントとは、画面の終了を判定することができる一意のイベントのことである。例えば特定のイベントしてダブルクイックイベントを擬似的に発生するように設定されているとする。この場合、業務アプリケーション画面を操作していない時間をカウントした時間が予め設定された時間を超えた場合に、強制的にダブルクリックイベントが発生したことがコントローラ22に通知される。なお、画面の終了を判定することができる一意のイベントであれば、どのようなイベントを擬似的に発生させてもよい。
【0061】
条件J1〜J3のいずれの条件を満たすと判定した場合、コントローラ22は、タイマー23のカウント値をクリアする(S8)。コントローラ22は、マウスカーソル座標保持部25からマウスカーソル9の座標を読み出す。それから、コントローラ22は、その読み出したマウスカーソル9の座標を用いて、OS21に対し、マウスカーソルを、S4で保持した位置情報の示す位置へ復帰させるように指示する(S6)。OS21は、コントローラ22からの指示に従い、第1のディスプレイ3上において、マウスカーソルを、S4で保持した位置情報の示す位置へ復帰させ、表示させる。
【0062】
タッチパネル6への操作が業務アプリケーション画面内に対する操作であると判定した場合(S7)、コントローラ22は、S9の処理を行う。すなわち、コントローラ22は、タッチパネル6によって操作された業務アプリケーション画面のクラス名(または、画面のコントロール名)が、予め用意された定義ファイル24に定義されているか否かの判定を行う(S9)。
【0063】
タッチパネル6によって操作された業務アプリケーション画面のクラス名(または、画面のコントロール名)が、予め用意された定義ファイル24に定義されていない場合(S9で「No」)、コントローラ22は、次の処理を行う。すなわち、コントローラ22は、タイマー23のカウント値をクリアする(S12)。
【0064】
タッチパネル6によって操作された業務アプリケーション画面のクラス名(または、画面のコントロール名)が、予め用意された定義ファイル24に含まれている場合(S9で「Yes」)、コントローラ22は、S10の処理を行う。
【0065】
コントローラ22は、定義ファイル24の[ReverseCtrl]からリバースコントロールとして設定されるコントロール名を読み出す。それから、コントローラ22は、その読み出したコントロール名に基づいて、タッチパネル6によって操作された業務アプリケーション画面のコントロールが、リバースコントロールであるか否かを判定する(S10)。
【0066】
例えば、タッチパネル6において業務アプリケーション画面「Windows Setting Tools」の終了(Exit)ボタンがタッチされたとする。コントローラ22は、定義ファイル24の[ReverseCtrl](符号34)を参照し、ReverseCtrlとして、画面“Windows Setting Tools”のコントロール“Exit”を取得する。
【0067】
このとき、タッチパネル6によって操作された業務アプリケーション画面のコントロールが、リバースコントロール名と一致するから、コントローラ22は、S10の判定を「Yes」と判定する。
【0068】
タッチパネル6によって操作されたコントロールが、リバースコントロールである場合(S10で「Yes」)、コントローラ22は、次の処理を行う。すなわち、コントローラ22は、タイマー23のカウント値をクリアし(S8)、マウスカーソル座標保持部25からマウスカーソル9の座標を読み出す。
【0069】
それから、コントローラ22は、その読み出したマウスカーソル9の座標を用いて、OS21に対し、マウスカーソルを、S4で保持した位置情報の示す位置へ復帰させるように指示する(S6)。OS21は、コントローラ22から通知された座標情報に従い、マウスカーソル9を第1のディスプレイ3上に表示させる。
【0070】
タッチパネル6によって操作されたコントロールが、リバースコントロールでない場合(S10で「No」)、コントローラ22は、S11の処理を行う。すなわち、コントローラ22は、タイマー23が起動していなければタイマー23を起動させ、タイマー23が起動していればそのタイマーのカウント値をインクリメントして更新する(S11)。これにより、業務アプリケーションを操作していない時間をタイマー23によりカウントする。
【0071】
ここで、S3,S8,S11,S12のタイマー23関連の処理について説明する。タイマー23は、業務アプリケーション画面を操作していない時間をカウントする。業務アプリケーション画面に対して何もせずに予め設定した時間を経過した場合、タイマー23は、コントローラ22に特定のイベントが発生したときに発行されるメッセージを発行し、マウスカーソル9をS4で保持した座標に復帰させる。なお、業務アプリケーション画面に対して予め設定する時間は、業務アプリケーション画面に依存せずに任意で設定可能である。
【0072】
タイマーの設定方法には、2つの方法がある。第1のタイマー設定方法として、操作する画面別に任意の時間を設定することである。例えば、図4の定義ファイル24の場合で言えば、符号32において、Class1として画面“Windows Editor”に、“100”秒が設定されている。また、Class2として画面“Windows Creator”に、“100”秒が設定されている。例えば、業務アプリケーション画面として、画面“Windows Editor”が表示されている場合、コントローラ22は、その画面への入力(タッチパネルによるマウスイベント発生)から操作完了までの待ち時間として、100秒間をタイマー23にセットする。
【0073】
第2のタイマー設定方法は、対象コントロール別に任意の時間を設定することである。この場合、コントロール別に時間を設定する。画面内に配置されたコントロールの種類/数によって、設定された時間から、1画面で必要とされる操作のための時間をタイマー23が計算する。これについて、図4の定義ファイル24の符号33で示した設定内容を例に説明する。符号33には、ctrl1としての“ComboBox”、ctrl2としての“Input”、ctrl3としての“Exit Button”のそれぞれに、10秒、20秒、5秒が設定されている。これらのコントロールctrl1,ctrl2,ctrl3は、画面「Windows Cleaner」に設定されているから、画面「Windows Cleaner」について必要とされる操作のための時間は、35(=10+20+5)秒となる。この場合、コントローラ22は、画面「Windows Cleaner」への入力(タッチパネルによるマウスイベント発生)から操作完了までの待ち時間として、35秒間をタイマー23にセットする。
【0074】
なお、定義ファイル24の項目の優先度は、“対象画面”(符号32で設定されたClass)>“対象コントロール” (符号33で設定されたControl)である。“対象画面”が定義されていない“対象コントロール”を設定した場合に、“対象コントロール”で設定されている画面クラス名ごとに時間を集計する。タッチパネル操作により、対象画面クラスを検知した際は、その集計値でタイマーの更新を行う(第2のタイマー設定方法)。一方、対象画面の時間が設定されている場合は、対象コントロールを集計しないで、対象画面の時間でタイマーの更新を行う(第1のタイマー設定方法)。
【0075】
図7は、コンピュータ2のハードウェア環境の構成ブロック図である。コンピュータ2は、CPU42、ROM43、RAM46、通信I/F44、記憶装置47、出力I/F41、入力I/F45、読み取り装置48、バス49、出力装置100、入力装置101によって構成されている。
【0076】
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、通信インターフェースを示す。バス49には、CPU42、ROM43、RAM46、通信I/F44、記憶装置47、出力I/F41、入力I/F45、及び読み取り装置48が接続されている。読み取り装置48は、可搬型記録媒体を読み出す装置である。出力機器11は、出力I/F41に接続されている。入力機器12は、入力I/F45に接続にされている。
【0077】
記憶装置47としてはハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。このような記憶装置47、またはROM43には、上記で説明した用いたフローのプログラム及び定義ファイル24が格納されている。また、マウスカーソル座標保持部25はRAMに相当する。
【0078】
CPU42は、記憶装置47等に格納した上記プログラムを読み出し、OS21,コントローラ22、タイマー23として機能する。
上記で説明したフローのプログラムは、プログラム提供者側から通信ネットワーク102、および通信I/F44を介して、例えば記憶装置47に格納してもよい。また、このプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置48にセットされて、CPU42によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読み取り装置48によって読み取られる。
【0079】
また、入力機器12には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器11には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク102は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
【0080】
なお、本実施形態では、第2のディスプレイ5側の操作はタッチパネル6により行ったが、これに限定されず、例えば、マウス、キーボード等であってもよい。また、本実施形態では、第1のディスプレイ側についてマウスカーソルの座標を保持したが、これに限定されず、第2のディスプレイの表示領域におけるマウスカーソルの座標を保持するようにしてもよい。すなわち、第2のディスプレイ側から第1のディスプレイ側に操作が移った後に第1のディスプレイ側での操作が終了した場合、第2のディスプレイにおいて最後に操作した位置にカーソルを戻すように制御してもよい。
【0081】
以上より、本実施形態に係るカーソル制御プログラムは、複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させる。該カーソル制御プログラムは、保持処理、検出処理、判定処理、復帰処理をコンピュータに実行させる。
【0082】
保持処理は、第1のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する。座標保持処理は、例えば本実施形態で言えば、コントローラ22が逐次検出した第1のディスプレイ3におけるマウスカーソルをマウスカーソル座標保持部25に格納する処理(図5のS4)に相当する。
【0083】
検出処理は、情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する。検出処理は、例えば本実施形態で言えば、コントローラ22がマウス4からOS21へ送られるマウス操作情報、タッチパネル6からOS21へ送られるタッチ操作情報、またはタイマー23により発行される特定のイベントを検出する処理(図5のS7)に相当する。
【0084】
判定処理は、前記検出したイベント情報が、該第2のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する。判定処理は、例えば本実施形態で言えば、図5のS5,S7,S9,S10の処理に相当する。
【0085】
復帰処理は、前記操作完了条件を満たした場合、前記カーソルを、前記第1のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる。復帰処理は、例えば本実施形態で言えば、図5のS6の処理に相当する。
【0086】
このように構成することにより、第1のディスプレイ側から第2のディスプレイ側に操作が移った後に第2のディスプレイ側での操作が終了した場合、第1のディスプレイにおいて最後に操作した位置にカーソルを戻すことができる。これにより、オペレータは、第2のディスプレイ側での操作が終了した場合、毎回、第2のディスプレイから第1のディスプレイ側へマウスカーソルを戻すという作業を行う必要がなくなり、オペレータの操作の寸断を防止することができる。
【0087】
また、第2のディスプレイの表示領域に前記カーソルがある場合において、次のイベント情報が検出された場合、前記判定処理は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する。次のイベント情報とは、前記入力機器により所定の操作がされた場合に発生するイベント情報である。または前記第2のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報である。
【0088】
さらに、前記操作完了条件について説明する。前記入力機器は、マウス装置である。前記第2のディスプレイは、前記入力機器としてのタッチパネルを有する。このとき、前記操作完了条件には、次のイベント情報のうち、少なくとも1つが含まれる。まずは、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報である。また、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報である。また、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報である。また、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報である。さらに、前記所定の画面を終了させる場合に発生するイベント情報である。
【0089】
このように構成することにより、第2のディスプレイ側における操作の終了を判定することができる。
前記カーソル制御プログラムは、さらに、計測処理をコンピュータに実行させる。計測処理は、前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる。
【0090】
このように構成することにより、擬似的に第2のディスプレイ側における操作の終了を示すイベントと同一のイベントを発生させることができる。
本実施形態によれば、オペレータが顧客側での画面操作の終了を確認するための時間が不要となる。すなわち、客側の操作が終了すれば、マウスカーソルが第1のディスプレイに復帰するので、顧客側での画面操作の終了を確認するためのタイムロスが発生しない。
【0091】
また、マウスカーソルを視認できない状態で、第1ディスプレイ側にマウスカーソルを復帰させる場合に、例えばマウスを横にスライドさせる動作をする必要がなくなるので、この作業の分のタイムロス及び手間を無くすことができる。
【0092】
また、マウスカーソルの移動作業が不要となり、客側の入力操作終了の確認が不要となり、第1のディスプレイ側においてマウスカーソルが元の位置に戻る。これにより、第1のディスプレイ側でのオペレータによる操作が寸断することなく、継続することができる。すなわち、オペレータの操作が客側の入力操作前後で変わらなくなるため、オペレータは即座に作業を続行できる。
【0093】
また、背中合わせの状態では、客側の画面を確認することができないので、マウスのカーソル位置が第2のディスプレイ側にある場合に、オペレータが第2のディスプレイに表示された画面のボタンをクリックしてしまう等の操作ミスが起こる。しかし、本実施形態を適用することにより、オペレータが第2のディスプレイに表示された画面を操作することという事態が発生しないため、オペレータの操作のミスを軽減することができる。
【0094】
以上のように、第1のディスプレイで最後に操作した位置にカーソルを復帰させることで、オペレータから他ディスプレイの画面の状況が視認できない状態で運用している環境であっても、非常に効果的な操作が可能となる。これにより、オペレータと顧客とのやり取りにおいて、オペレータの不要な作業を失くし、かつ操作の寸断を防止することができる。その結果、マルチディスプレイシステムにおいて、オペレータ側の作業効率の向上を図ることができる。
【0095】
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【0096】
上記実施形態に関し、更に以下の付記を開示する。
(付記1)
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させるカーソル制御プログラムであって、
第1のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持処理と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出処理と、
前記検出したイベント情報が、前記第2のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定処理と、
前記操作完了条件を満たした場合、前記カーソルを、前記第1のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰処理と、
を、コンピュータに実行させることを特徴とするカーソル制御プログラム。
(付記2)
前記第2のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第2のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定処理は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする付記1に記載のカーソル制御プログラム。
(付記3)
前記入力機器は、マウス装置であり、
前記第2のディスプレイは、前記入力機器としてのタッチパネルを有し、
前記操作完了条件には、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報、及び前記所定の画面を終了させる場合に発生するイベント情報のうち、少なくとも1つが含まれる
ことを特徴とする付記1または2に記載のカーソル制御プログラム。
(付記4)
前記カーソル制御プログラムは、さらに、
前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる計測処理
を、コンピュータに実行させることを特徴とする付記1〜3のうちいずれか1項に記載のカーソル制御プログラム。
(付記5)
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御を行うカーソル制御装置であって、
第1のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持部と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出部と、
前記検出したイベント情報が、前記第2のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定部と、
前記操作完了条件を満たした場合、前記カーソルを、前記第1のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰部と、
を備えることを特徴とするカーソル制御装置。
(付記6)
前記第2のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第2のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定部は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする付記5に記載のカーソル制御装置。
(付記7)
前記入力機器は、マウス装置であり、
前記第2のディスプレイは、前記入力機器としてのタッチパネルを有し、
前記操作完了条件には、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報、及び前記所定の画面を終了させる場合に発生するイベント情報のうち、少なくとも1つが含まれる
ことを特徴とする付記5または6に記載のカーソル制御装置。
(付記8)
前記カーソル制御装置は、さらに、
前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる計測部
を備えることを特徴とする付記5〜7のうちいずれか1項に記載のカーソル制御装置。
【符号の説明】
【0097】
1 マルチディスプレイシステム
2 コンピュータ
3 第1のディスプレイ
4 マウス
5 第2のディスプレイ
6 タッチパネル
7 オペレータ
8 顧客
9 マウスカーソル
11 出力機器
12 入力機器
21 OS
22 コントローラ
23 タイマー
24 定義ファイル
25 マウスカーソル座標保持部

【特許請求の範囲】
【請求項1】
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御をコンピュータに実行させるカーソル制御プログラムであって、
第1のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持処理と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出処理と、
前記検出したイベント情報が、前記第2のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定処理と、
前記操作完了条件を満たした場合、前記カーソルを、前記第1のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰処理と、
を、コンピュータに実行させることを特徴とするカーソル制御プログラム。
【請求項2】
前記第2のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第2のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定処理は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする請求項1に記載のカーソル制御プログラム。
【請求項3】
前記入力機器は、マウス装置であり、
前記第2のディスプレイは、前記入力機器としてのタッチパネルを有し、
前記操作完了条件には、前記マウス装置の有するボタンが押されている状態から放された場合に発生するイベント情報、前記タッチパネルの表示領域において、所定の画面が表示された表示領域以外の表示領域に対してタッチ操作した場合に発生するイベント情報、前記タッチパネルの表示領域に対してダブルクリック操作をした場合に発生するイベント情報、前記所定の画面に対して操作が行われずに所定時間が経過した場合に発生する情報、及び前記所定の画面を終了させる場合に発生するイベント情報のうち、少なくとも1つが含まれる
ことを特徴とする請求項1または2に記載のカーソル制御プログラム。
【請求項4】
前記カーソル制御プログラムは、さらに、
前記所定の画面に対して操作が行われずに経過した時間を計測し、該計測した時間が所定時間を経過した場合、所定のイベント情報を発生させる計測処理
を、コンピュータに実行させることを特徴とする請求項1〜3のうちいずれか1項に記載のカーソル制御プログラム。
【請求項5】
複数のディスプレイを用いて実現されるマルチディスプレイシステムにおけるカーソルの制御を行うカーソル制御装置であって、
第1のディスプレイの表示領域に前記カーソルがある場合に、該カーソルの位置情報を保持する保持部と、
情報または命令を入力する入力機器が操作された場合に発生するイベント情報または所定の場合に発生するイベント情報を検出する検出部と、
前記検出したイベント情報が、前記第2のディスプレイを用いた操作についての操作完了条件を満たすか否かを判定する判定部と、
前記操作完了条件を満たした場合、前記カーソルを、前記第1のディスプレイにおける前記保持した位置情報の示す位置へ復帰させる復帰部と、
を備えることを特徴とするカーソル制御装置。
【請求項6】
前記第2のディスプレイの表示領域に前記カーソルがある状況において、前記入力機器により所定の操作がされた場合、または前記第2のディスプレイの表示領域に対して、所定の操作がされた場合もしくは所定の操作が所定時間されなかった場合に発生するイベント情報が検出されたとき、前記判定部は、前記検出したイベント情報が、前記操作完了条件を満たすと判定する
ことを特徴とする請求項5に記載のカーソル制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−257801(P2011−257801A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−129306(P2010−129306)
【出願日】平成22年6月4日(2010.6.4)
【出願人】(000237156)株式会社富士通アドバンストエンジニアリング (100)
【Fターム(参考)】