(57)【要約】【課題】汎用的なポインティングデバイスを用いて効率的な操作指示入力が可能なアプリケーションプログラムを提供する。【解決手段】複数のポインティングデバイスを使用した操作指示を入力する操作指示入力工程と、操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、複数のポインティングデバイスの少なくとも一つからの操作指示に基づいて動作内容を決定する動作内容決定工程と、動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程とを情報処理装置に実行させるアプリケーションプログラムにおいて、動作内容決定工程は、操作指示、デバイス検出工程で検出されたポインティングデバイスの情報、および、デバイス記憶工程で記憶されたポインティングデバイスの情報に基づいて動作内容を決定するアプリケーションプログラムを用いる。【選択図】図５
2018142359.tif 000002
【特許請求の範囲】
【請求項１】
複数のポインティングデバイスを使用した操作指示を入力する操作指示入力工程と、
前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
前記複数のポインティングデバイスの少なくとも一つからの操作指示に基づいて動作内容を決定する動作内容決定工程と、
前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
を情報処理装置に実行させるアプリケーションプログラムにおいて、
前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程で記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
ことを特徴とするアプリケーションプログラム。
【請求項２】
前記アプリケーションプログラムは、
画像を入力する画像入力工程と、
前記画像の少なくとも一部を表示する表示工程と、
をさらに前記情報処理装置に実行させるものであり、
前記動作内容決定工程が決定する前記動作内容は、少なくとも画像表示に関する動作内容を含む
ことを特徴とする請求項１に記載のアプリケーションプログラム。
【請求項３】
前記アプリケーションプログラムは、前記画像の表示位置を変更するスクロール工程をさらに前記情報処理装置に実行させるものであり、
前記動作内容決定工程が決定する前記動作内容は、スクロールである
ことを特徴とする請求項２に記載のアプリケーションプログラム。
【請求項４】
前記表示工程は、ディスプレイにおいて、前記アプリケーションプログラムに対応するアプリケーションウィンドウの中に、少なくとも所定の表示倍率では当該アプリケーションウィンドウよりも大きい前記画像の一部を表示するものであり、
前記スクロール工程は、前記アプリケーションウィンドウに表示される前記画像の中の表示位置を変更する
ことを特徴とする請求項３に記載のアプリケーションプログラム。
【請求項５】
前記操作指示はカーソルの移動に関する操作指示であり、
前記スクロール工程は、前記カーソルの移動に関する操作指示に基づいて、スクロール方法およびスクロール量の少なくともいずれかを決定する
ことを特徴とする請求項３または４に記載のアプリケーションプログラム。
【請求項６】
前記カーソルの移動に関する操作指示は、前記情報処理装置のオペレーティングシステムから前記アプリケーションプログラムに対して送信されるメッセージである
ことを特徴とする請求項５に記載のアプリケーションプログラム。
【請求項７】
前記アプリケーションプログラムは、所定の時間間隔で現在のカーソル位置を取得するカーソル位置取得工程をさらに前記情報処理装置に実行させるものであり、
前記操作指示は、複数の時間間隔で取得された前記カーソル位置に基づいて決定されることを特徴とする請求項５に記載のアプリケーションプログラム。
【請求項８】
前記アプリケーションプログラムは、
カーソルの表示状態を制御するカーソル表示制御工程をさらに前記情報処理装置に実行させるものであり、
前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程に記憶されたポインティングデバイスの情報に基づいて、動作内容およびカーソルの表示状態を決定する
ことを特徴とする請求項１に記載のアプリケーションプログラム。
【請求項９】
ポインティングデバイスから送信される操作指示として、オペレーティングシステムの汎用的な操作指示を入力する操作指示入力工程と、
前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
前記操作指示に基づいて動作内容を決定する動作内容決定工程と、
前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
を情報処理装置に実行させるアプリケーションプログラムにおいて、
前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程に記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
ことを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムに関する。特に、大きな画像を表示したり、画像を拡大し、部分画像をスクロールしながら表示したりするアプリケーションプログラムにおける操作指示受付方法に関する。
【背景技術】
【０００２】
従来、大きな画像を表示したり、画像を拡大し、部分画像をスクロールしながら表示したりする方法として、スクロールや変倍等の操作指示を効率的に行うための操作指示方法が開示されている。
例えば特許文献１では、右手用マウスと左手用マウスを用いてスクロール操作を効率的に行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２６５５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
マウスに代表されるポインティングデバイスは様々なメーカーにより提供されているが、一般的にはオペレーティングシステム（以下、ＯＳとも呼ぶ）に適合したドライバを必要とする。そして、ポインティングデバイスからの操作指示はドライバを経由して、ＯＳが提供する汎用的な通知の方法（例えばメッセージ）を用いてアプリケーションプログラムに通知される。そのため、アプリケーションプログラムではＯＳが提供する汎用的な通知の仕組みのみを意識すればよく、デバイスメーカーの都合に依存することなくアプリケーションプログラム開発を行うことが可能となる。また、ユーザーが使用するデバイスを変更した際にも、アプリケーションプログラムを作り替えることなく使用することが可能となっている。
【０００５】
近年、ポインティングデバイスはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を使用してＰＣに接続される場合が多く、複数のポインティングデバイスを１台のＰＣに接続することが可能である。しかし、上述のようにアプリケーションプログラムではポインティングデバイスを識別していないため、どのポインティングデバイスを使用しても、カーソルの移動やクリック、ダブルクリックなどの汎用的な操作指示入力を入力することが可能である。しかし、一般的なポインティングデバイスの使い方では個々のデバイスを区別しないため、ポインティングデバイスの種類ごとに使いやすいアプリケーションプログラムの機能を使用することは困難である。
【０００６】
ここで、特許文献１においては、左手用マウス内の制御部、あるいは、ドライバにおいてデバイスごとの操作指示内容を決定している。しかし特許文献１では、効率的なスクロール操作は可能になるものの、特殊なポインティングデバイス、あるいは、ドライバを使用する必要がある。そのため、ユーザーが好みのポインティングデバイスを使用できなくなる可能性や、ポインティングデバイスを変更する場合にはアプリケーションプログラム自体の変更が必要になる可能性がある。
【０００７】
本発明は上記課題に鑑みてなされたものであり、その目的は、汎用的なポインティングデバイスを用いて効率的な操作指示入力が可能なアプリケーションプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、以下の構成を採用する。すなわち、
複数のポインティングデバイスを使用した操作指示を入力する操作指示入力工程と、
前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
前記複数のポインティングデバイスの少なくとも一つからの操作指示に基づいて動作内容を決定する動作内容決定工程と、
前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
を情報処理装置に実行させるアプリケーションプログラムにおいて、
前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程で記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
ことを特徴とするアプリケーションプログラムである。
【０００９】
本発明はまた、以下の構成を採用する。すなわち、
ポインティングデバイスから送信される操作指示としてオペレーティングシステムが汎用的に提供する操作指示を入力する操作指示入力工程と、
前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
前記操作指示に基づいて動作内容を決定する動作内容決定工程と、
前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
を情報処理装置に実行させるアプリケーションプログラムにおいて、
前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程に記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
ことを特徴とするアプリケーションプログラムである。
【発明の効果】
【００１０】
本発明によれば、汎用的なポインティングデバイスを用いて効率的な操作指示入力が可能なアプリケーションプログラムを提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明における装置構成図
【図２】本発明におけるコンピュータの構成図
【図３】本発明における画像表示アプリケーションの画面例
【図４】本発明における操作指示伝達経路を示す図
【図５】本発明の実施例１における機能ブロック図
【図６】本発明の実施例１におけるフローチャート
【図７】本発明におけるスクロール移動量の決定方法の例を示す図
【図８】本発明におけるポインティングデバイスの他の例を示す図
【発明を実施するための形態】
【００１２】
以下に図面を参照しつつ、本発明の好適な実施の形態について説明する。ただし、以下に記載されている構成部品の寸法、材質、形状およびそれらの相対配置などは、発明が適用される装置の構成や各種条件により適宜変更されるべきものであり、この発明の範囲を以下の記載に限定する趣旨のものではない。
【００１３】
＜実施例１＞
以下、図面を用いて本発明の要旨を説明する。図１は本発明における装置構成を示している。図１中、符号１００はコンピュータを示しており、本発明の対象となるアプリケーションのプログラムを実行する。符号１０１はディスプレイであり、アプリケーションのウィンドウを表示する。
【００１４】
符号１０２はマウスを示しており、本発明におけるユーザーからの操作指示を入力するためのポインティングデバイスの一つである。符号１０３はマウス１０２に取り付けられている左ボタンであり、ディスプレイ１０１上に表示される不図示のマウスカーソルが指し示す位置にある対象を選択する際等に使用される。符号１０４は回転可能なホイールであり、回転量に応じた操作指示を与える際に有効である。ホイール１０４の活用例としては、例えば画像表示を行うアプリケーションにおいて、上下方向のスクロール、あるいは、表示倍率の変更を行う際に使うなどが挙げられる。符号１０５はマウス１０２に取り付けられている右ボタンであり、前述のカーソルが指し示す位置において使用可能なメニューを表示する際などに使用される。
【００１５】
符号１０６はトラックボールであり、ボール１０７を回転させることにより、マウス１０２を移動させた時と同様にマウスカーソルの位置を移動させることが可能なポインティングデバイスの一つである。符号１０８はトラックボール１０６に取り付けられている左ボタンであり、前述の左ボタン１０３と同様の機能を有する。符号１０９は右ボタンであり、前述の右ボタン１０５と同様の機能を有する。符号１１０はキーボードであり、文字入力を行う際に使用される。なお、マウスおよびトラックボールのボタンの左右とは、マウスを把持するユーザーからみた向きを表す。
【００１６】
図２は、本発明のアプリケーションプログラムを実行するコンピュータ１００の内部構成、および、各種デバイスとの関係を示している。符号２００はＣＰＵであり、処理に必要な演算を行う。符号２０１はＲＯＭであり、記憶されているプログラムやデータを読み出すことが可能である。符号２０２はＲＡＭであり、プログラムや処理に必要なデータの書き込み、あるいは、読み出しが可能である。符号２０３はプログラムや画像データなどの書き込み、あるいは、読み出しが可能なストレージであり、ＨＤＤやＳＳＤなどから構成される。符号２０４〜２０７はインターフェースであり、それぞれディスプレイ１０１、マウス１０２、トラックボール１０６、キーボード１１０に接続されている。ＣＰＵ２００、またはＣＰＵ２００が動作するのに必要な要素の組み合わせ、あるいはコンピュータ１００全体は、本発明のアプリケーションプログラムを実行する情報処理装置として機能する。
【００１７】
次に、図３を用いて本発明におけるアプリケーションプログラムの適用例を示す。図３（ａ）は医療用画像を表示するアプリケーションプログラムの例であり、ディスプレイ１０１上にアプリケーションウィンドウ３００が表示されている。そして、アプリケーションウィンドウ３００中には医療用画像３０１が表示されている。医療用画像の例としては、レントゲン、ＣＴ、ＭＲＩなどが挙げられるが、さらに好適な例としてはプレパラートを高倍率のレンズを用いて拡大して撮像する病理診断用画像が挙げられる。
【００１８】
病理診断用画像のように被写体であるプレパラート全体の観察とともに拡大して細部を観察する必要のある画像の場合、観察時には画像のスクロールや表示倍率の変更が必要となる。表示倍率が低すぎると細部が観察できないため、良好な診断のためには少なくとも所定の値以上の表示倍率が必要になる。その所定の表示倍率における画像の大きさがアプリケーションウィンドウより大きい場合、ウィンドウ中には全体画像の一部である部分画像が表示され、スクロールを行って画像中の表示位置（切り取られる部分画像）を変更する。
【００１９】
さらに、注目箇所に対してマークやコメントを付加する等が行われる場合もある。３０２はカーソルであり、ディスプレイ１０１上の位置を指定する際に使用される。カーソル３０２は、マウス１０２の移動、あるいは、トラックボール１０６のボール１０７の回転など、ポインティングデバイスを用いた移動指示を与えることにより移動させる。
【００２０】
図３（ｂ）は、地図を表示するアプリケーションプログラムの例であり、ディスプレイ１０１上にアプリケーションウィンドウ３０３が表示されている。そして、アプリケーションウィンドウ３０３中には道路や建物を含む地図画像３０４が表示されている。地図を見る際には、例えば所定の場所から目的地への経路を調べる等が行われるが、２点間の距離が離れている場合には、画像をスクロールさせながら見る必要がある。また、縮小表示をしながら大まかな経路を検索するとともに、必要に応じて一部を拡大表示しながら細かい道を調べるなどの表示倍率の変更が行われる場合がある。また、近年では経路の自動検索機能が付いた地図アプリケーションプログラムもあり、経路の開始地点と目的地を指定することなども行われる。
【００２１】
図３（ａ）、（ｂ）に示したように、１つの画面内に収まらない表示を行う場合には、スクロールや表示倍率の変更、そして、画像内の位置の指定などの操作が行われる場合がある。一般的なコンピュータには操作指示入力手段としてマウス１０２とキーボード１１０が使用される。特に、マークの付加や地図上の場所を指定するといったような画像中の所定位置を指定する場合には、マウス１０２を用いると操作性が良い。また、表示倍率変更のように一次元の尺度を切り替える場合では、一次元の動きに限定されているホイール１０４を用いると操作性が良い。しかし、大きな画像のスクロール等は、マウス１０２よりも二次元方向に自由に移動可能なトラックボール１０６の方が操作性が良いことが、一般的に知られている。
【００２２】
ここで、マウス１０２やトラックボール１０６は様々なメーカーから様々な形状の製品が発売されていて、ユーザーごとに好みの製品は異なる。しかし、特許文献１のように特殊なデバイスやドライバが必要な場合、デバイスやドライバが対応していなければ、上述のように機能ごとに使い分けることが困難となる。本発明は、特殊なデバイスやドライバを用いることなく、アプリケーションプログラムの機能ごとに最適な操作指示デバイスを使用することを可能にするものである。
【００２３】
図４は、本実施例における操作指示伝達経路を示す図である。符号４００はアプリケーションプログラムであり、オペレーティングシステム（ＯＳ）４０１の管理下で動作するソフトウェアである。符号４０２はマウス１０２からの入力を受け付け、ＯＳ４０１に操作指示内容を伝達するドライバである。符号４０３はトラックボール１０６からの入力を受け付け、ＯＳ４０１に操作指示内容を伝達するドライバである。ドライバ４０２、４０３からの操作指示入力は、ＯＳ４０１を経由してアプリケーションプログラム４００に伝達される。
【００２４】
ここで、ポインティングデバイスを使用したマウスカーソル３０２に対する標準的な操作指示命令は、ＯＳ４０１によって一般化された操作指示命令として定義されている。そのため、ＯＳ４０１からアプリケーションプログラム４００に伝達される情報は、操作入力デバイスであるマウス１０２やトラックボール１０３、あるいは、ドライバ４０２、４０３を区別することなく、一般化された操作指示命令４０４として伝達される。一般化された操作指示命令４０４として代表的なものはメッセージであり、例えば、マウス１０２を移動させたことを通知するメッセージや、左ボタン１０３が押下されたことを通知するメッセージなどが挙げられる。
【００２５】
また、通常アプリケーションプログラム４００は操作指示を入力したデバイスを意識しないようにすることで、ポインティングデバイスに依存しないように作成される。しかし、本発明のアプリケーションプログラムにおいては、ＯＳ４０１を介してデバイスを特定する。これにより、アプリケーションプログラム４００において操作指示命令４０４、および、操作指示命令４０４に対応する操作指示を入力したデバイスの情報を考慮してアプリケーションプログラム４００の動作を決定することが可能となる。その結果、汎用的な複数のポインティングデバイスを用いて、アプリケーションプログラム４００の機能ごとに最適なデバイスを割り当てることが可能となる。
【００２６】
図５は本実施例におけるアプリケーションプログラム４００の機能ブロック図である。符号５００はＯＳ４０１から送信される操作指示命令を示すメッセージを入力する入力端子である。なお入力端子５００から入力されるメッセージは、前述のポインティングデバイスの操作指示に限らない。例えば、アプリケーションのメニューを選択したことを示すメッセージ等、アプリケーションプログラム４００に通知する必要のあるあらゆるメッセージを含む。
【００２７】
符号５０１はメッセージ受信部であり、受信したメッセージを蓄積するメッセージキューや、メッセージが届いたか否かを判定する判定手段などを具備する。符号５０２はデバイス検出部であり、受信したメッセージに対応するデバイスの識別情報を検出する。符号５０３はデバイス記憶部であり、アプリケーションプログラム４００の機能ごとに、対応するデバイスの識別情報を記憶する。なお、デバイス記憶部５０３には、予め設定された識別情報を記憶するようにする。また、デバイス記憶部５０３は全ての機能に対して識別情報を記憶する必要はなく、特定のデバイスによる操作に対応させたい機能についてのみ情報を記憶するようにしても良い。
【００２８】
符号５０４は動作内容決定部であり、受信したメッセージ、および、デバイス検出部５０２で検出した識別情報、および、デバイス記憶部５０３に記憶された識別情報に基づいてアプリケーションプログラム４００の動作内容を決定する。符号５０５はスクロール制御部であり、動作内容決定部５０４において表示画像のスクロール指示がなされたと判定された場合にスクロール動作を実行する。符号５０６は表示倍率制御部であり、動作内容決定部５０４において表示倍率の変更指示がなされたと判定された場合に表示倍率の変更を実行する。
【００２９】
符号５０７は画像読み込み部であり、動作内容決定部５０４において新たな画像を表示する指示がなされたと判定された場合に、指定された画像を読み込んで表示する。符号５０８は終了処理部であり、動作内容決定部５０４においてアプリケーションプログラム４００を終了させる指示がなされたと判定された場合に、アプリケーションプログラム４００を終了させる。符号５０９はカーソル表示状態制御部であり、動作内容決定部５０４の決定内容に応じて、カーソル表示制御を行う。
【００３０】
図６は本実施例におけるアプリケーションプログラム４００の動作フローを示すフローチャートである。処理が開始されるとまず、ステップ６００においてアプリケーションプログラムの初期化処理が行われ、アプリケーションウィンドウの表示が行われる。ステップ６０１では、操作指示命令を示すメッセージを受信したか否かを判定する。メッセージを受信していないと判定されると再度ステップ６０１を実行し、メッセージの受信を待つ。ステップ６０１においてメッセージを受信したと判定されるとステップ６０２に移行し、受信したメッセージをメッセージキューから取得する。ステップ６０３では、メッセージに対応するデバイスの識別情報を検出する。
【００３１】
ステップ６０４ではメッセージの内容を判定し、カーソルの移動を示す内容であった場
合にはステップ６０５に進む。ステップ６０５では使用されたデバイスの識別情報がスクロール用のデバイスの識別情報と一致するか否かを判定する。ステップ６０５において一致すると判定された場合には、ステップ６０６においてスクロール量の決定を行った後に、ステップ６０７でスクロールを実行する。そして、ステップ６０８においてカーソルを非表示状態にした後に、再びステップ６０１においてメッセージ受信待ちを行う。ステップ６０５において識別情報がスクロール用のデバイスの識別情報と一致しないと判定された場合には、通常のマウスカーソルの移動指示であったと判定する。そして、ステップ６０９においてカーソルを表示状態にした後に、再びステップ６０１においてメッセージ受信待ちを行う。
【００３２】
一方、ステップ６０４においてメッセージの内容がカーソルの移動を示す内容ではなかった場合、処理はステップ６１０に移行し、メッセージの内容がホイールの回転を示す内容であるか否かを判定する。ステップ６１０において、メッセージの内容がホイールの回転を示す内容であった場合処理はステップ６１１に移行し、ホイールの回転量、および、回転方向に基づいて表示倍率の決定を行う。そして、ステップ６１２で表示倍率の変更を行った後、再びステップ６０１においてメッセージ受信待ちを行う。
【００３３】
ステップ６１０においてメッセージの内容がホイールの回転を示す内容ではなかった場合、処理はステップ６１３に移行し、メッセージの内容がファイルを開く内容であるか否かを判定する。ステップ６１３において、メッセージの内容がファイルを開く内容であった場合、処理はステップ６１４に移行し、指定された画像ファイルの読み込み、すなわち画像入力を行う。そして、ステップ６１５において読み込んだ画像の表示を行った後、再びステップ６０１においてメッセージ受信待ちを行う。
【００３４】
ステップ６１３においてメッセージの内容がファイルを開く内容ではなかった場合、処理はステップ６１６に移行し、メッセージの内容がアプリケーションプログラムの終了を示す内容であるか否かを判定する。ステップ６１６において、メッセージの内容がアプリケーションプログラムの終了を示す内容であった場合には、アプリケーションプログラムを終了させる。一方、メッセージの内容がアプリケーションプログラムの終了を示す内容でなかった場合には、再びステップ６０１においてメッセージ受信待ちを行う。
【００３５】
なお、図６に示したフローにおいて、ステップ６０３のデバイスの検出処理は、メッセージ内容の判定処理であるステップ６０４、６０５、６１０、６１３等の後に必要な場合のみ行うようにしても良い。また、図６のフローにおいては、ステップ６１０でメッセージの内容がホイールの回転を示す内容であった場合、あるいはステップ６１３でメッセージの内容がファイルを開く内容であった場合にはカーソル状態の変更を行っていない。これは現在のカーソル表示状態を維持することを意味しているが、現在の状態を維持することも、カーソル表示状態制御部５０９が行うカーソル表示制御の内容に含まれる。なお、本発明は図６のフローに限定されるものではなく、動作内容とカーソル表示状態の制御の処理順が入れ替わっても構わない。また、ステップ６１０でメッセージの内容がホイールの回転を示す内容であった場合、あるいはメッセージの内容がファイルを開く内容であった場合にカーソルの表示状態を特定の状態にするようにしても良い。
【００３６】
図７はステップ６０６のスクロール方法、および、スクロール移動量の決定方法の例を示す図である。図７（ａ）において、符号７００はアプリケーションウィンドウを示している。７０１はアプリケーションウィンドウ７００内の所定位置（例えばウィンドウ中心などのカーソルの移動が全方向に可能な位置）を指すように移動されたカーソルであり、スクロール移動量を決定する際の基準位置を示している。符号７０２はスクロール用のデバイスからのマウス移動指示によって移動したカーソルである。そして、マウス移動指示を示すメッセージを受信すると、カーソル位置７０１と７０２、および、方向の比較によ
り移動量（Ｘ、Ｙ方向）を決定する。さらに、移動量決定後にカーソル７０２を強制的に７０１のカーソル位置に移動させることにより、カーソルが画面端部に移動して、それ以上同じ方向に移動できなくなることを防止する。
【００３７】
なお、スクロール用デバイスではないマウス移動指示からスクロール用デバイスのマウス移動指示に切れ変わった際に、カーソル位置を記憶しておき、カーソルを非表示にする。逆に、スクロール用デバイスのマウス移動指示からスクロール用デバイスではないマウス移動指示に切れ変わった際に、記憶していたカーソル位置にカーソルを移動させ、且つ、カーソルを表示状態にすると良い。このようにすることで、画面上に無意味な移動を繰り返すカーソルが表示されなくなるため、画像の閲覧を妨げることなく画面表示が可能となる。
【００３８】
図７（ｂ）は、ステップ６０６のスクロール量の決定方法の他の例を示す図である。図７（ｂ）においては、画像表示領域７０３以外に、スクロール制御用領域７０４を有している。符号７０５は基準位置であり、カーソル位置７０６との位置、および、方向の相対的な関係により、移動量（Ｘ、Ｙ方向）を決定する。ここで、スクロール用デバイスではないマウス移動指示に切れ変わった場合には、カーソル位置を記憶した後に、カーソル位置を画像表示領域７０３中のカーソル位置７０７に強制的に移動させる。一方、スクロール用デバイスのマウス移動指示に切れ変わった際には、カーソル位置を記憶した後に、カーソル位置を強制的に７０６に移動させる。
【００３９】
なお、スクロール用デバイスではないマウス移動指示に切れ変わった場合には、スクロール操作が停止したとみなしてカーソル位置７０６を７０５の位置に移動させても良い。また、スクロール制御領域には７０５を中心とする不感領域７０８を設けておくのも良い。そして、領域７０８中にカーソルが存在する場合には移動させないようにすることで、スクロールの停止を行いやすくなる。
【００４０】
なお、移動量は基準位置とカーソル位置の相対的な距離に比例するようにしても良いが、細かい手の動きによってカーソルが意図しない変動をする可能性がある。このような場合、単純に距離に比例する移動量とすると、移動速度や移動方向にムラが発生してしまい、観察が行いにくくなる恐れがある。
【００４１】
そのため、予め定められた固定的な移動量を設定するようにしても良い。例えば、移動速度が一つの固定値で、移動方向が縦横のみに限定するなどが挙げられる。また、固定値を複数持たせておき、基準位置とカーソル位置の相対的な距離が所定の閾値を超えた場合に切り替えて適用するなどを行っても良い。例えば、相対的なカーソル位置が所定以上離れていた場合には、高速な手の動きによりスクロールの動きにムラが発生しやすくなるため、固定的な速度で縦横斜めの８方向に限定する。逆に、相対的なカーソル位置が所定以上離れていなかった場合には、低速な手の動きにより細かい操作を感覚的に行わせるために、移動量は基準位置とカーソル位置の相対的な距離に比例するようにする等が挙げられる。
【００４２】
上述の実施例においては、スクロール動作を行うにあたりカーソルの移動を示すメッセージを判定するようにしたが、これに限るものではない。例えば、トラックボールを使用する場合にはボールの回転量を検出する必要がある。そこで、周期タイマーを使用して所定時間間隔でカーソルの位置を取得し、前回周期において取得した位置との差分を移動量と判定する。そして、該移動量に基づいてスクロール方向とスクロール量を決定するようにするなどの方法でも良い。
【００４３】
この場合には、図７（ａ）で説明したように、ディスプレイ端部においてスクロールで
きなくなるのを防止するために、移動量の検出後には強制的に７０１のカーソル位置に移動させると良い。また、上述のようにカーソルを強制的に７０１に移動させる場合にはカーソルが７０１の近傍で激しく移動を繰り返し、表示内容を観察する際に邪魔になる可能性がある。そこで、このような場合にはカーソルを非表示にすると良い。
【００４４】
このように本発明は、カーソルの移動を示すメッセージに限らず、カーソルの移動を検出することが可能な他のトリガに基づいてカーソル位置取得を行い、スクロールに反映させるようにする構成であっても構わない。
【００４５】
なお、本発明は上述の実施例に限定されるものではなく、デバイスの判定はメッセージがカーソルの移動であった場合以外に行っても構わない。例えば、２つのポインティングデバイスが両方とも一般的なホイール操作に対応していた場合において、メッセージがホイールの回転であった場合にデバイスを判定するようにしても良い。この場合の好適な例としては、前述の病理診断用画像において奥行き方向に複数枚撮像を行ったＺスタック画像を表示する例が挙げられる。この場合、一方のポインティングデバイスでは表示倍率の変更を行い、他方のポインティングデバイスでは奥行き方向の位置を切り替えるようにすると良い。
【００４６】
また、本発明はファイルを開く等のメニュー操作に対して行うようにしても良い。例えば、前述の病理診断用画像においては、複数の画像を並列に表示して比較しながら観察する場合と、一枚だけを表示する場合が挙げられる。既に一枚の画像が表示された状態にあるときにファイルを開く操作を行った場合の動作として、一方のポインティングデバイスが用いられた場合には表示済みの画像を閉じて、新たに指定された画像を一枚だけ表示するようにする。そして、他方のポインティングデバイスが用いられた場合には表示領域を分割して、表示済みの画像と新たに指定された画像を並列に表示するようにする等が、好適な例として挙げられる。
【００４７】
なお、本発明の適用対象としてはメニュー操作に限らず、ボタンやリスト表示などアプリケーション４００に固有の様々な対象に対して適用可能である。例えば、使用したポインティングデバイスごとにボタンに対応する動作内容を切り替える、あるいは、使用したポインティングデバイスごとにコンボボックスで選択可能な項目のリストを切り替える、等が好適な例として挙げられる。このように、メニュー操作やボタン等のようなアプリケーション固有の対象に対する操作指示をポインティングデバイスごとに切り替えることは、ＯＳ４０１やドライバ４０２では実行することが困難である。また、アプリケーション４００とＯＳ４０１の間に変換ソフトウェアを入れるようなことを行った場合も同様に、アプリケーション固有の対象に対する操作指示をポインティングデバイスごとに切り替えることは困難である。つまり、本発明はアプリケーション固有の対象に対する操作指示をポインティングデバイスごとに切り替えることを可能にするものである。
【００４８】
さらに、特殊な動作はトラックボール１０６の場合に限る物ではなく、例えば使用されたデバイスがマウス１０２の場合にのみ画像中へのマークやコメントの付加を行う等でも良い。この場合、マウス１０２を移動させることによりマウスカーソル３０２を画面内で移動させ、マークやコメントを挿入したい位置に移動させる。そして、左ボタン１０３、あるいは、右ボタン１０５、あるいは、キーボード１１０を使用してコメントや文字列を挿入する等を行う等、機能に応じて適したデバイスを割り当てるようにすると良い。
【００４９】
また、上述の説明では、ポインティングデバイスとしてマウスとトラックボールを挙げたが、これに限るものではない。図８は、本発明が適用可能な他のポインティングデバイスの一例を示している。８００はノート型のＰＣを示している。８０１はタッチパッドであり、持ち運びを想定したノートＰＣにおいてマウスのような外部デバイスが無くてもカ
ーソル移動やクリック指示を行えるようにするためのポインティングデバイスであり、本発明の適用対象である。
【００５０】
また、ノートＰＣ８００のディスプレイにはタッチパネル８０２が搭載されており、指などで画面上に触れることにより直接的に画面上の位置を指定することが可能である。タッチパネル８０２もマウスなどと同様に位置を指定することが可能であり、指定した画面上の位置を現在のカーソル位置とみなせることから本発明の適用対象であるポインティングデバイスの一つである。
【００５１】
そして、上述の説明と同様に、例えばトラックボール１０６をスクロール用、タッチパッド８０１、あるいは、タッチパネル８０２を他の作業用に割り振る等を行う例が考えられる。なお、図８においてはノートＰＣを想定したが、本発明はこれに限定されるものでは無く、デスクトップＰＣ用のディスプレイ１０１に搭載されたタッチパネルであっても構わない。また、キーボードが無く画面上のタッチパネルで通常の操作を行うタブレット型の端末が近年普及している。このようなタブレット型の端末にポインティングデバイスを接続し、該ポインティングデバイスとタブレット型端末に搭載されているタッチパネルの組み合わせに対して本発明を適用しても良い。
【００５２】
図７（ａ）を用いた上述の例においては、スクロールか否かに応じてカーソルの表示状態を、非表示、あるいは表示に切り換える例を示した。このような制御はスクロールに限るものではなく、選択された機能におけるカーソル表示の必要性を考慮して決定すると良い。例えば、上述の例においては、表示画像をスクロールさせる際にはカーソルが表示されている必要はなく、むしろ表示させたカーソルが画像の観察の邪魔になる。このような機能の場合には、カーソルを非表示状態にすると良い。また、画像中へのコメントやマークの付加などのように位置を指し示す必要がある機能の場合にはカーソルが表示されている必要があるため、カーソルを表示状態にすると良い。また、カーソルが不要な場合には、完全に非表示にする以外にも半透明にする、大きさを小さくする、あるいは色を変更して背景色に近づける等により見えにくくするようにしても良い。
【００５３】
また、図７（ａ）において、カーソルが不要な場合には７０１をウィンドウの中心位置近傍以外の位置に設定してカーソル表示を行うようにするなど、画像の観察の邪魔になりにくいようにしても良い。図７（ａ）、（ｂ）に示すように、本発明におけるカーソル表示状態とは、カーソルの色、透明度、大きさ、位置など様々な表示状態を含むものである。つまり、表示画像上でのカーソルの視認性が変更可能なものであればいかなるものであっても良い。
【００５４】
本発明の好適な例としては汎用的なポインティングデバイスやドライバのみを使用する例を挙げた。しかし、特殊なポインティングデバイスやドライバと、汎用的なポインティングデバイスを組み合わせて使用する場合において、特定の汎用ポインティングデバイスに対して上述した方法を適用するようにしても良い。組み合わせる特殊なデバイスの例としては、ゲームコントローラのように数多くのボタンを有しておりドライバ設定で対応する操作指示内容を割り振るようなデバイスが挙げられる。
【００５５】
使用されたデバイスごとに切り替える処理は上述した内容に限定されるものではなく、他の様々な操作指示入力に対して行うようにしても良い。また、実行する動作内容も同様に上述の内容に限定されるものではない。また、複数のデバイスを接続する方法は、上述したＵＳＢでの接続やコンピュータに備え付ける以外にも、任意の方式を採用できる。
【００５６】
以上説明したように本実施例によると、汎用的な複数のポインティングデバイスを用いて、アプリケーションプログラムの機能ごとに最適なデバイスを割り当てることが可能と
なる。例えば、カーソルの長距離移動が必要な広範囲のスクロール処理と、正確なポインティングを行う処理を両立させるような、広い範囲の画面表示を簡易に実現できる。また、本発明はアプリケーションプログラムの機能と一般的なメッセージにより実現可能であるため、オペレーティングシステム、ドライバまたはミドルウェア等の制約を低減させ、任意のデバイスを使用可能となる。
【符号の説明】
【００５７】
１００：コンピュータ，１０２：マウス，１０６：トラックボール，２００：ＣＰＵ
【図１】
2018142359.tif 000003
【図２】
2018142359.tif 000004
【図３】
2018142359.tif 000005
【図４】
2018142359.tif 000006
【図５】
2018142359.tif 000007
【図６】
2018142359.tif 000008
【図７】
2018142359.tif 000009
【図８】
2018142359.tif 000010
【手続補正書】
【提出日】平成30年5月1日(2018.5.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１ポインティングデバイス又は第２ポインティングデバイスから入力された指示に基づいて、実行すべき動作内容を決定する決定工程と、
前記指示が、前記第１ポインティングデバイスからの指示であるか又は前記第２ポインティングデバイスからの指示であるかを識別する識別工程と、
表示部の表示を制御する表示制御工程と、
を情報処理装置に実行させるためのアプリケーションプログラムであって、
前記指示が同一であったとしても、その同一の指示が、前記第１ポインティングデバイスからの指示であった場合には第１動作内容を実行させ、前記第２ポインティングデバイスからの指示であった場合には前記第１動作内容と異なる第２動作内容を実行させることが可能であり、
前記第１ポインティングデバイスからの指示に基づいて移動する第１ポインタと前記第２ポインティングデバイスからの指示に基づいて移動する第２ポインタの表示状態を異ならせることが可能である
ことを特徴とするアプリケーションプログラム。
【請求項２】
前記表示状態は、色を含み、
前記第１ポインタと前記第２ポインタの色を異ならせることが可能である
ことを特徴とする請求項１に記載のアプリケーションプログラム。
【請求項３】
前記表示状態は、透明度を含み、
前記第１ポインタと前記第２ポインタの透明度を異ならせることが可能である
ことを特徴とする請求項１又は２に記載のアプリケーションプログラム。
【請求項４】
前記表示状態は、大きさを含み、
前記第１ポインタと前記第２ポインタの大きさを異ならせることが可能である
ことを特徴とする請求項１乃至３のいずれか１項に記載のアプリケーションプログラム。
【請求項５】
前記第１動作内容は前記第１ポインタの移動であり、
前記第２動作内容は前記表示部に表示させた画像のスクロールである
ことを特徴とする請求項１乃至４のいずれか１項に記載のアプリケーションプログラム。
【請求項６】
前記表示部に、メニュー、ボタン、リスト、又はコンボボックスを含む対象を表示させる
ことを特徴とする請求項１乃至５のいずれか１項に記載のアプリケーションプログラム。
【請求項７】
前記対象に対する前記指示が同一であったとしても、その同一の指示が、前記第１ポインティングデバイスからの指示であった場合には前記第１動作内容を実行させ、前記第２ポインティングデバイスからの指示であった場合には前記第２動作内容を実行させることが可能である
ことを特徴とする請求項６に記載のアプリケーションプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明は、以下の構成を採用する。すなわち、
第１ポインティングデバイス又は第２ポインティングデバイスから入力された指示に基づいて、実行すべき動作内容を決定する決定工程と、
前記指示が、前記第１ポインティングデバイスからの指示であるか又は前記第２ポインティングデバイスからの指示であるかを識別する識別工程と、
表示部の表示を制御する表示制御工程と、
を情報処理装置に実行させるためのアプリケーションプログラムであって、
前記指示が同一であったとしても、その同一の指示が、前記第１ポインティングデバイスからの指示であった場合には第１動作内容を実行させ、前記第２ポインティングデバイスからの指示であった場合には前記第１動作内容と異なる第２動作内容を実行させることが可能であり、
前記第１ポインティングデバイスからの指示に基づいて移動する第１ポインタと前記第２ポインティングデバイスからの指示に基づいて移動する第２ポインタの表示状態を異ならせることが可能である
ことを特徴とするアプリケーションプログラムである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】