JP2015166995A - アプリケーションプログラム - Google Patents

アプリケーションプログラム Download PDF

Info

Publication number
JP2015166995A
JP2015166995A JP2014041766A JP2014041766A JP2015166995A JP 2015166995 A JP2015166995 A JP 2015166995A JP 2014041766 A JP2014041766 A JP 2014041766A JP 2014041766 A JP2014041766 A JP 2014041766A JP 2015166995 A JP2015166995 A JP 2015166995A
Authority
JP
Japan
Prior art keywords
application program
operation instruction
cursor
pointing device
operation content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014041766A
Other languages
English (en)
Other versions
JP6335553B2 (ja
JP2015166995A5 (ja
Inventor
日下部 稔
Minoru Kusakabe
稔 日下部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014041766A priority Critical patent/JP6335553B2/ja
Priority to US14/633,989 priority patent/US20150253948A1/en
Publication of JP2015166995A publication Critical patent/JP2015166995A/ja
Publication of JP2015166995A5 publication Critical patent/JP2015166995A5/ja
Application granted granted Critical
Publication of JP6335553B2 publication Critical patent/JP6335553B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】汎用的なポインティングデバイスを用いて効率的な操作指示入力が可能なアプリケーションプログラムを提供する。【解決手段】複数のポインティングデバイスを使用した操作指示を入力する操作指示入力工程と、操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、複数のポインティングデバイスの少なくとも一つからの操作指示に基づいて動作内容を決定する動作内容決定工程と、動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程とを情報処理装置に実行させるアプリケーションプログラムにおいて、動作内容決定工程は、操作指示、デバイス検出工程で検出されたポインティングデバイスの情報、および、デバイス記憶工程で記憶されたポインティングデバイスの情報に基づいて動作内容を決定するアプリケーションプログラムを用いる。【選択図】図5

Description

本発明は、アプリケーションプログラムに関する。特に、大きな画像を表示したり、画像を拡大し、部分画像をスクロールしながら表示したりするアプリケーションプログラムにおける操作指示受付方法に関する。
従来、大きな画像を表示したり、画像を拡大し、部分画像をスクロールしながら表示したりする方法として、スクロールや変倍等の操作指示を効率的に行うための操作指示方法が開示されている。
例えば特許文献1では、右手用マウスと左手用マウスを用いてスクロール操作を効率的に行う方法が開示されている。
特開2001−265532号公報
マウスに代表されるポインティングデバイスは様々なメーカーにより提供されているが、一般的にはオペレーティングシステム(以下、OSとも呼ぶ)に適合したドライバを必要とする。そして、ポインティングデバイスからの操作指示はドライバを経由して、OSが提供する汎用的な通知の方法(例えばメッセージ)を用いてアプリケーションプログラムに通知される。そのため、アプリケーションプログラムではOSが提供する汎用的な通知の仕組みのみを意識すればよく、デバイスメーカーの都合に依存することなくアプリケーションプログラム開発を行うことが可能となる。また、ユーザーが使用するデバイスを変更した際にも、アプリケーションプログラムを作り替えることなく使用することが可能となっている。
近年、ポインティングデバイスはUSB(Universal Serial Bus)を使用してPCに接続される場合が多く、複数のポインティングデバイスを1台のPCに接続することが可能である。しかし、上述のようにアプリケーションプログラムではポインティングデバイスを識別していないため、どのポインティングデバイスを使用しても、カーソルの移動やクリック、ダブルクリックなどの汎用的な操作指示入力を入力することが可能である。しかし、一般的なポインティングデバイスの使い方では個々のデバイスを区別しないため、ポインティングデバイスの種類ごとに使いやすいアプリケーションプログラムの機能を使用することは困難である。
ここで、特許文献1においては、左手用マウス内の制御部、あるいは、ドライバにおいてデバイスごとの操作指示内容を決定している。
しかし特許文献1では、効率的なスクロール操作は可能になるものの、特殊なポインティングデバイス、あるいは、ドライバを使用する必要がある。そのため、ユーザーが好みのポインティングデバイスを使用できなくなる可能性や、ポインティングデバイスを変更する場合にはアプリケーションプログラム自体の変更が必要になる可能性がある。
本発明は上記課題に鑑みてなされたものであり、その目的は、汎用的なポインティングデバイスを用いて効率的な操作指示入力が可能なアプリケーションプログラムを提供することにある。
本発明は、以下の構成を採用する。すなわち、
複数のポインティングデバイスを使用した操作指示を入力する操作指示入力工程と、
前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
前記複数のポインティングデバイスの少なくとも一つからの操作指示に基づいて動作内容を決定する動作内容決定工程と、
前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
を情報処理装置に実行させるアプリケーションプログラムにおいて、
前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程で記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
ことを特徴とするアプリケーションプログラムである。
本発明はまた、以下の構成を採用する。すなわち、
ポインティングデバイスから送信される操作指示としてオペレーティングシステムが汎用的に提供する操作指示を入力する操作指示入力工程と、
前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
前記操作指示に基づいて動作内容を決定する動作内容決定工程と、
前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
を情報処理装置に実行させるアプリケーションプログラムにおいて、
前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程に記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
ことを特徴とするアプリケーションプログラムである。
本発明によれば、汎用的なポインティングデバイスを用いて効率的な操作指示入力が可能なアプリケーションプログラムを提供できる。
本発明における装置構成図 本発明におけるコンピュータの構成図 本発明における画像表示アプリケーションの画面例 本発明における操作指示伝達経路を示す図 本発明の実施例1における機能ブロック図 本発明の実施例1におけるフローチャート 本発明におけるスクロール移動量の決定方法の例を示す図 本発明におけるポインティングデバイスの他の例を示す図
以下に図面を参照しつつ、本発明の好適な実施の形態について説明する。ただし、以下に記載されている構成部品の寸法、材質、形状およびそれらの相対配置などは、発明が適用される装置の構成や各種条件により適宜変更されるべきものであり、この発明の範囲を以下の記載に限定する趣旨のものではない。
<実施例1>
以下、図面を用いて本発明の要旨を説明する。
図1は本発明における装置構成を示している。図1中、符号100はコンピュータを示しており、本発明の対象となるアプリケーションのプログラムを実行する。符号101はディスプレイであり、アプリケーションのウィンドウを表示する。
符号102はマウスを示しており、本発明におけるユーザーからの操作指示を入力するためのポインティングデバイスの一つである。符号103はマウス102に取り付けられている左ボタンであり、ディスプレイ101上に表示される不図示のマウスカーソルが指し示す位置にある対象を選択する際等に使用される。符号104は回転可能なホイールであり、回転量に応じた操作指示を与える際に有効である。ホイール104の活用例としては、例えば画像表示を行うアプリケーションにおいて、上下方向のスクロール、あるいは、表示倍率の変更を行う際に使うなどが挙げられる。符号105はマウス102に取り付けられている右ボタンであり、前述のカーソルが指し示す位置において使用可能なメニューを表示する際などに使用される。
符号106はトラックボールであり、ボール107を回転させることにより、マウス102を移動させた時と同様にマウスカーソルの位置を移動させることが可能なポインティングデバイスの一つである。符号108はトラックボール106に取り付けられている左ボタンであり、前述の左ボタン103と同様の機能を有する。符号109は右ボタンであり、前述の右ボタン105と同様の機能を有する。符号110はキーボードであり、文字入力を行う際に使用される。なお、マウスおよびトラックボールのボタンの左右とは、マウスを把持するユーザーからみた向きを表す。
図2は、本発明のアプリケーションプログラムを実行するコンピュータ100の内部構成、および、各種デバイスとの関係を示している。符号200はCPUであり、処理に必要な演算を行う。符号201はROMであり、記憶されているプログラムやデータを読み出すことが可能である。符号202はRAMであり、プログラムや処理に必要なデータの書き込み、あるいは、読み出しが可能である。符号203はプログラムや画像データなどの書き込み、あるいは、読み出しが可能なストレージであり、HDDやSSDなどから構成される。符号204〜207はインターフェースであり、それぞれディスプレイ101、マウス102、トラックボール106、キーボード110に接続されている。CPU200、またはCPU200が動作するのに必要な要素の組み合わせ、あるいはコンピュータ100全体は、本発明のアプリケーションプログラムを実行する情報処理装置として機能する。
次に、図3を用いて本発明におけるアプリケーションプログラムの適用例を示す。図3(a)は医療用画像を表示するアプリケーションプログラムの例であり、ディスプレイ101上にアプリケーションウィンドウ300が表示されている。そして、アプリケーションウィンドウ300中には医療用画像301が表示されている。医療用画像の例としては、レントゲン、CT、MRIなどが挙げられるが、さらに好適な例としてはプレパラートを高倍率のレンズを用いて拡大して撮像する病理診断用画像が挙げられる。
病理診断用画像のように被写体であるプレパラート全体の観察とともに拡大して細部を観察する必要のある画像の場合、観察時には画像のスクロールや表示倍率の変更が必要となる。表示倍率が低すぎると細部が観察できないため、良好な診断のためには少なくとも所定の値以上の表示倍率が必要になる。その所定の表示倍率における画像の大きさがアプリケーションウィンドウより大きい場合、ウィンドウ中には全体画像の一部である部分画像が表示され、スクロールを行って画像中の表示位置(切り取られる部分画像)を変更する。
さらに、注目箇所に対してマークやコメントを付加する等が行われる場合もある。302はカーソルであり、ディスプレイ101上の位置を指定する際に使用される。カーソル302は、マウス102の移動、あるいは、トラックボール106のボール107の回転など、ポインティングデバイスを用いた移動指示を与えることにより移動させる。
図3(b)は、地図を表示するアプリケーションプログラムの例であり、ディスプレイ101上にアプリケーションウィンドウ303が表示されている。そして、アプリケーションウィンドウ303中には道路や建物を含む地図画像304が表示されている。地図を見る際には、例えば所定の場所から目的地への経路を調べる等が行われるが、2点間の距離が離れている場合には、画像をスクロールさせながら見る必要がある。また、縮小表示をしながら大まかな経路を検索するとともに、必要に応じて一部を拡大表示しながら細かい道を調べるなどの表示倍率の変更が行われる場合がある。また、近年では経路の自動検索機能が付いた地図アプリケーションプログラムもあり、経路の開始地点と目的地を指定することなども行われる。
図3(a)、(b)に示したように、1つの画面内に収まらない表示を行う場合には、スクロールや表示倍率の変更、そして、画像内の位置の指定などの操作が行われる場合がある。一般的なコンピュータには操作指示入力手段としてマウス102とキーボード110が使用される。特に、マークの付加や地図上の場所を指定するといったような画像中の所定位置を指定する場合には、マウス102を用いると操作性が良い。また、表示倍率変更のように一次元の尺度を切り替える場合では、一次元の動きに限定されているホイール104を用いると操作性が良い。しかし、大きな画像のスクロール等は、マウス102よりも二次元方向に自由に移動可能なトラックボール106の方が操作性が良いことが、一般的に知られている。
ここで、マウス102やトラックボール106は様々なメーカーから様々な形状の製品が発売されていて、ユーザーごとに好みの製品は異なる。しかし、特許文献1のように特殊なデバイスやドライバが必要な場合、デバイスやドライバが対応していなければ、上述のように機能ごとに使い分けることが困難となる。
本発明は、特殊なデバイスやドライバを用いることなく、アプリケーションプログラムの機能ごとに最適な操作指示デバイスを使用することを可能にするものである。
図4は、本実施例における操作指示伝達経路を示す図である。符号400はアプリケーションプログラムであり、オペレーティングシステム(OS)401の管理下で動作するソフトウェアである。符号402はマウス102からの入力を受け付け、OS401に操作指示内容を伝達するドライバである。符号403はトラックボール106からの入力を受け付け、OS401に操作指示内容を伝達するドライバである。ドライバ402、403からの操作指示入力は、OS401を経由してアプリケーションプログラム400に伝達される。
ここで、ポインティングデバイスを使用したマウスカーソル302に対する標準的な操作指示命令は、OS401によって一般化された操作指示命令として定義されている。そのため、OS401からアプリケーションプログラム400に伝達される情報は、操作入力デバイスであるマウス102やトラックボール103、あるいは、ドライバ402、403を区別することなく、一般化された操作指示命令404として伝達される。一般化された操作指示命令404として代表的なものはメッセージであり、例えば、マウス102を移動させたことを通知するメッセージや、左ボタン103が押下されたことを通知するメッセージなどが挙げられる。
また、通常アプリケーションプログラム400は操作指示を入力したデバイスを意識しないようにすることで、ポインティングデバイスに依存しないように作成される。しかし、本発明のアプリケーションプログラムにおいては、OS401を介してデバイスを特定する。これにより、アプリケーションプログラム400において操作指示命令404、および、操作指示命令404に対応する操作指示を入力したデバイスの情報を考慮してアプリケーションプログラム400の動作を決定することが可能となる。その結果、汎用的な複数のポインティングデバイスを用いて、アプリケーションプログラム400の機能ごとに最適なデバイスを割り当てることが可能となる。
図5は本実施例におけるアプリケーションプログラム400の機能ブロック図である。符号500はOS401から送信される操作指示命令を示すメッセージを入力する入力端子である。なお入力端子500から入力されるメッセージは、前述のポインティングデバイスの操作指示に限らない。例えば、アプリケーションのメニューを選択したことを示すメッセージ等、アプリケーションプログラム400に通知する必要のあるあらゆるメッセージを含む。
符号501はメッセージ受信部であり、受信したメッセージを蓄積するメッセージキューや、メッセージが届いたか否かを判定する判定手段などを具備する。符号502はデバイス検出部であり、受信したメッセージに対応するデバイスの識別情報を検出する。符号503はデバイス記憶部であり、アプリケーションプログラム400の機能ごとに、対応するデバイスの識別情報を記憶する。なお、デバイス記憶部503には、予め設定された識別情報を記憶するようにする。また、デバイス記憶部503は全ての機能に対して識別情報を記憶する必要はなく、特定のデバイスによる操作に対応させたい機能についてのみ情報を記憶するようにしても良い。
符号504は動作内容決定部であり、受信したメッセージ、および、デバイス検出部502で検出した識別情報、および、デバイス記憶部503に記憶された識別情報に基づいてアプリケーションプログラム400の動作内容を決定する。符号505はスクロール制御部であり、動作内容決定部504において表示画像のスクロール指示がなされたと判定された場合にスクロール動作を実行する。符号506は表示倍率制御部であり、動作内容決定部504において表示倍率の変更指示がなされたと判定された場合に表示倍率の変更を実行する。
符号507は画像読み込み部であり、動作内容決定部504において新たな画像を表示する指示がなされたと判定された場合に、指定された画像を読み込んで表示する。符号508は終了処理部であり、動作内容決定部504においてアプリケーションプログラム400を終了させる指示がなされたと判定された場合に、アプリケーションプログラム400を終了させる。符号509はカーソル表示状態制御部であり、動作内容決定部504の決定内容に応じて、カーソル表示制御を行う。
図6は本実施例におけるアプリケーションプログラム400の動作フローを示すフローチャートである。処理が開始されるとまず、ステップ600においてアプリケーションプログラムの初期化処理が行われ、アプリケーションウィンドウの表示が行われる。ステップ601では、操作指示命令を示すメッセージを受信したか否かを判定する。メッセージを受信していないと判定されると再度ステップ601を実行し、メッセージの受信を待つ。ステップ601においてメッセージを受信したと判定されるとステップ602に移行し、受信したメッセージをメッセージキューから取得する。ステップ603では、メッセージに対応するデバイスの識別情報を検出する。
ステップ604ではメッセージの内容を判定し、カーソルの移動を示す内容であった場
合にはステップ605に進む。ステップ605では使用されたデバイスの識別情報がスクロール用のデバイスの識別情報と一致するか否かを判定する。ステップ605において一致すると判定された場合には、ステップ606においてスクロール量の決定を行った後に、ステップ607でスクロールを実行する。そして、ステップ608においてカーソルを非表示状態にした後に、再びステップ601においてメッセージ受信待ちを行う。
ステップ605において識別情報がスクロール用のデバイスの識別情報と一致しないと判定された場合には、通常のマウスカーソルの移動指示であったと判定する。そして、ステップ609においてカーソルを表示状態にした後に、再びステップ601においてメッセージ受信待ちを行う。
一方、ステップ604においてメッセージの内容がカーソルの移動を示す内容ではなかった場合、処理はステップ610に移行し、メッセージの内容がホイールの回転を示す内容であるか否かを判定する。ステップ610において、メッセージの内容がホイールの回転を示す内容であった場合処理はステップ611に移行し、ホイールの回転量、および、回転方向に基づいて表示倍率の決定を行う。そして、ステップ612で表示倍率の変更を行った後、再びステップ601においてメッセージ受信待ちを行う。
ステップ610においてメッセージの内容がホイールの回転を示す内容ではなかった場合、処理はステップ613に移行し、メッセージの内容がファイルを開く内容であるか否かを判定する。ステップ613において、メッセージの内容がファイルを開く内容であった場合、処理はステップ614に移行し、指定された画像ファイルの読み込み、すなわち画像入力を行う。そして、ステップ615において読み込んだ画像の表示を行った後、再びステップ601においてメッセージ受信待ちを行う。
ステップ613においてメッセージの内容がファイルを開く内容ではなかった場合、処理はステップ616に移行し、メッセージの内容がアプリケーションプログラムの終了を示す内容であるか否かを判定する。ステップ616において、メッセージの内容がアプリケーションプログラムの終了を示す内容であった場合には、アプリケーションプログラムを終了させる。一方、メッセージの内容がアプリケーションプログラムの終了を示す内容でなかった場合には、再びステップ601においてメッセージ受信待ちを行う。
なお、図6に示したフローにおいて、ステップ603のデバイスの検出処理は、メッセージ内容の判定処理であるステップ604、605、610、613等の後に必要な場合のみ行うようにしても良い。
また、図6のフローにおいては、ステップ610でメッセージの内容がホイールの回転を示す内容であった場合、あるいはステップ613でメッセージの内容がファイルを開く内容であった場合にはカーソル状態の変更を行っていない。これは現在のカーソル表示状態を維持することを意味しているが、現在の状態を維持することも、カーソル表示状態制御部509が行うカーソル表示制御の内容に含まれる。なお、本発明は図6のフローに限定されるものではなく、動作内容とカーソル表示状態の制御の処理順が入れ替わっても構わない。また、ステップ610でメッセージの内容がホイールの回転を示す内容であった場合、あるいはメッセージの内容がファイルを開く内容であった場合にカーソルの表示状態を特定の状態にするようにしても良い。
図7はステップ606のスクロール方法、および、スクロール移動量の決定方法の例を示す図である。
図7(a)において、符号700はアプリケーションウィンドウを示している。701はアプリケーションウィンドウ700内の所定位置(例えばウィンドウ中心などのカーソルの移動が全方向に可能な位置)を指すように移動されたカーソルであり、スクロール移動量を決定する際の基準位置を示している。符号702はスクロール用のデバイスからの
マウス移動指示によって移動したカーソルである。そして、マウス移動指示を示すメッセージを受信すると、カーソル位置701と702、および、方向の比較により移動量(X、Y方向)を決定する。さらに、移動量決定後にカーソル702を強制的に701のカーソル位置に移動させることにより、カーソルが画面端部に移動して、それ以上同じ方向に移動できなくなることを防止する。
なお、スクロール用デバイスではないマウス移動指示からスクロール用デバイスのマウス移動指示に切れ変わった際に、カーソル位置を記憶しておき、カーソルを非表示にする。逆に、スクロール用デバイスのマウス移動指示からスクロール用デバイスではないマウス移動指示に切れ変わった際に、記憶していたカーソル位置にカーソルを移動させ、且つ、カーソルを表示状態にすると良い。このようにすることで、画面上に無意味な移動を繰り返すカーソルが表示されなくなるため、画像の閲覧を妨げることなく画面表示が可能となる。
図7(b)は、ステップ606のスクロール量の決定方法の他の例を示す図である。図7(b)においては、画像表示領域703以外に、スクロール制御用領域704を有している。符号705は基準位置であり、カーソル位置706との位置、および、方向の相対的な関係により、移動量(X、Y方向)を決定する。ここで、スクロール用デバイスではないマウス移動指示に切れ変わった場合には、カーソル位置を記憶した後に、カーソル位置を画像表示領域703中のカーソル位置707に強制的に移動させる。一方、スクロール用デバイスのマウス移動指示に切れ変わった際には、カーソル位置を記憶した後に、カーソル位置を強制的に706に移動させる。
なお、スクロール用デバイスではないマウス移動指示に切れ変わった場合には、スクロール操作が停止したとみなしてカーソル位置706を705の位置に移動させても良い。また、スクロール制御領域には705を中心とする不感領域708を設けておくのも良い。そして、領域708中にカーソルが存在する場合には移動させないようにすることで、スクロールの停止を行いやすくなる。
なお、移動量は基準位置とカーソル位置の相対的な距離に比例するようにしても良いが、細かい手の動きによってカーソルが意図しない変動をする可能性がある。このような場合、単純に距離に比例する移動量とすると、移動速度や移動方向にムラが発生してしまい、観察が行いにくくなる恐れがある。
そのため、予め定められた固定的な移動量を設定するようにしても良い。例えば、移動速度が一つの固定値で、移動方向が縦横のみに限定するなどが挙げられる。また、固定値を複数持たせておき、基準位置とカーソル位置の相対的な距離が所定の閾値を超えた場合に切り替えて適用するなどを行っても良い。例えば、相対的なカーソル位置が所定以上離れていた場合には、高速な手の動きによりスクロールの動きにムラが発生しやすくなるため、固定的な速度で縦横斜めの8方向に限定する。逆に、相対的なカーソル位置が所定以上離れていなかった場合には、低速な手の動きにより細かい操作を感覚的に行わせるために、移動量は基準位置とカーソル位置の相対的な距離に比例するようにする等が挙げられる。
上述の実施例においては、スクロール動作を行うにあたりカーソルの移動を示すメッセージを判定するようにしたが、これに限るものではない。例えば、トラックボールを使用する場合にはボールの回転量を検出する必要がある。そこで、周期タイマーを使用して所定時間間隔でカーソルの位置を取得し、前回周期において取得した位置との差分を移動量と判定する。そして、該移動量に基づいてスクロール方向とスクロール量を決定するようにするなどの方法でも良い。
この場合には、図7(a)で説明したように、ディスプレイ端部においてスクロールできなくなるのを防止するために、移動量の検出後には強制的に701のカーソル位置に移動させると良い。また、上述のようにカーソルを強制的に701に移動させる場合にはカーソルが701の近傍で激しく移動を繰り返し、表示内容を観察する際に邪魔になる可能性がある。そこで、このような場合にはカーソルを非表示にすると良い。
このように本発明は、カーソルの移動を示すメッセージに限らず、カーソルの移動を検出することが可能な他のトリガに基づいてカーソル位置取得を行い、スクロールに反映させるようにする構成であっても構わない。
なお、本発明は上述の実施例に限定されるものではなく、デバイスの判定はメッセージがカーソルの移動であった場合以外に行っても構わない。例えば、2つのポインティングデバイスが両方とも一般的なホイール操作に対応していた場合において、メッセージがホイールの回転であった場合にデバイスを判定するようにしても良い。この場合の好適な例としては、前述の病理診断用画像において奥行き方向に複数枚撮像を行ったZスタック画像を表示する例が挙げられる。この場合、一方のポインティングデバイスでは表示倍率の変更を行い、他方のポインティングデバイスでは奥行き方向の位置を切り替えるようにすると良い。
また、本発明はファイルを開く等のメニュー操作に対して行うようにしても良い。例えば、前述の病理診断用画像においては、複数の画像を並列に表示して比較しながら観察する場合と、一枚だけを表示する場合が挙げられる。既に一枚の画像が表示された状態にあるときにファイルを開く操作を行った場合の動作として、一方のポインティングデバイスが用いられた場合には表示済みの画像を閉じて、新たに指定された画像を一枚だけ表示するようにする。そして、他方のポインティングデバイスが用いられた場合には表示領域を分割して、表示済みの画像と新たに指定された画像を並列に表示するようにする等が、好適な例として挙げられる。
なお、本発明の適用対象としてはメニュー操作に限らず、ボタンやリスト表示などアプリケーション400に固有の様々な対象に対して適用可能である。例えば、使用したポインティングデバイスごとにボタンに対応する動作内容を切り替える、あるいは、使用したポインティングデバイスごとにコンボボックスで選択可能な項目のリストを切り替える、等が好適な例として挙げられる。このように、メニュー操作やボタン等のようなアプリケーション固有の対象に対する操作指示をポインティングデバイスごとに切り替えることは、OS401やドライバ402では実行することが困難である。また、アプリケーション400とOS401の間に変換ソフトウェアを入れるようなことを行った場合も同様に、アプリケーション固有の対象に対する操作指示をポインティングデバイスごとに切り替えることは困難である。つまり、本発明はアプリケーション固有の対象に対する操作指示をポインティングデバイスごとに切り替えることを可能にするものである。
さらに、特殊な動作はトラックボール106の場合に限る物ではなく、例えば使用されたデバイスがマウス102の場合にのみ画像中へのマークやコメントの付加を行う等でも良い。この場合、マウス102を移動させることによりマウスカーソル302を画面内で移動させ、マークやコメントを挿入したい位置に移動させる。そして、左ボタン103、あるいは、右ボタン105、あるいは、キーボード110を使用してコメントや文字列を挿入する等を行う等、機能に応じて適したデバイスを割り当てるようにすると良い。
また、上述の説明では、ポインティングデバイスとしてマウスとトラックボールを挙げたが、これに限るものではない。図8は、本発明が適用可能な他のポインティングデバイ
スの一例を示している。800はノート型のPCを示している。801はタッチパッドであり、持ち運びを想定したノートPCにおいてマウスのような外部デバイスが無くてもカーソル移動やクリック指示を行えるようにするためのポインティングデバイスであり、本発明の適用対象である。
また、ノートPC800のディスプレイにはタッチパネル802が搭載されており、指などで画面上に触れることにより直接的に画面上の位置を指定することが可能である。タッチパネル802もマウスなどと同様に位置を指定することが可能であり、指定した画面上の位置を現在のカーソル位置とみなせることから本発明の適用対象であるポインティングデバイスの一つである。
そして、上述の説明と同様に、例えばトラックボール106をスクロール用、タッチパッド801、あるいは、タッチパネル802を他の作業用に割り振る等を行う例が考えられる。なお、図8においてはノートPCを想定したが、本発明はこれに限定されるものでは無く、デスクトップPC用のディスプレイ101に搭載されたタッチパネルであっても構わない。また、キーボードが無く画面上のタッチパネルで通常の操作を行うタブレット型の端末が近年普及している。このようなタブレット型の端末にポインティングデバイスを接続し、該ポインティングデバイスとタブレット型端末に搭載されているタッチパネルの組み合わせに対して本発明を適用しても良い。
図7(a)を用いた上述の例においては、スクロールか否かに応じてカーソルの表示状態を、非表示、あるいは表示に切り換える例を示した。このような制御はスクロールに限るものではなく、選択された機能におけるカーソル表示の必要性を考慮して決定すると良い。例えば、上述の例においては、表示画像をスクロールさせる際にはカーソルが表示されている必要はなく、むしろ表示させたカーソルが画像の観察の邪魔になる。このような機能の場合には、カーソルを非表示状態にすると良い。また、画像中へのコメントやマークの付加などのように位置を指し示す必要がある機能の場合にはカーソルが表示されている必要があるため、カーソルを表示状態にすると良い。また、カーソルが不要な場合には、完全に非表示にする以外にも半透明にする、大きさを小さくする、あるいは色を変更して背景色に近づける等により見えにくくするようにしても良い。
また、図7(a)において、カーソルが不要な場合には701をウィンドウの中心位置近傍以外の位置に設定してカーソル表示を行うようにするなど、画像の観察の邪魔になりにくいようにしても良い。図7(a)、(b)に示すように、本発明におけるカーソル表示状態とは、カーソルの色、透明度、大きさ、位置など様々な表示状態を含むものである。つまり、表示画像上でのカーソルの視認性が変更可能なものであればいかなるものであっても良い。
本発明の好適な例としては汎用的なポインティングデバイスやドライバのみを使用する例を挙げた。しかし、特殊なポインティングデバイスやドライバと、汎用的なポインティングデバイスを組み合わせて使用する場合において、特定の汎用ポインティングデバイスに対して上述した方法を適用するようにしても良い。組み合わせる特殊なデバイスの例としては、ゲームコントローラのように数多くのボタンを有しておりドライバ設定で対応する操作指示内容を割り振るようなデバイスが挙げられる。
使用されたデバイスごとに切り替える処理は上述した内容に限定されるものではなく、他の様々な操作指示入力に対して行うようにしても良い。また、実行する動作内容も同様に上述の内容に限定されるものではない。また、複数のデバイスを接続する方法は、上述したUSBでの接続やコンピュータに備え付ける以外にも、任意の方式を採用できる。
以上説明したように本実施例によると、汎用的な複数のポインティングデバイスを用いて、アプリケーションプログラムの機能ごとに最適なデバイスを割り当てることが可能となる。例えば、カーソルの長距離移動が必要な広範囲のスクロール処理と、正確なポインティングを行う処理を両立させるような、広い範囲の画面表示を簡易に実現できる。また、本発明はアプリケーションプログラムの機能と一般的なメッセージにより実現可能であるため、オペレーティングシステム、ドライバまたはミドルウェア等の制約を低減させ、任意のデバイスを使用可能となる。
100:コンピュータ,102:マウス,106:トラックボール,200:CPU

Claims (9)

  1. 複数のポインティングデバイスを使用した操作指示を入力する操作指示入力工程と、
    前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
    前記複数のポインティングデバイスの少なくとも一つからの操作指示に基づいて動作内容を決定する動作内容決定工程と、
    前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
    を情報処理装置に実行させるアプリケーションプログラムにおいて、
    前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程で記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
    ことを特徴とするアプリケーションプログラム。
  2. 前記アプリケーションプログラムは、
    画像を入力する画像入力工程と、
    前記画像の少なくとも一部を表示する表示工程と、
    をさらに前記情報処理装置に実行させるものであり、
    前記動作内容決定工程が決定する前記動作内容は、少なくとも画像表示に関する動作内容を含む
    ことを特徴とする請求項1に記載のアプリケーションプログラム。
  3. 前記アプリケーションプログラムは、前記画像の表示位置を変更するスクロール工程をさらに前記情報処理装置に実行させるものであり、
    前記動作内容決定工程が決定する前記動作内容は、スクロールである
    ことを特徴とする請求項2に記載のアプリケーションプログラム。
  4. 前記表示工程は、ディスプレイにおいて、前記アプリケーションプログラムに対応するアプリケーションウィンドウの中に、少なくとも所定の表示倍率では当該アプリケーションウィンドウよりも大きい前記画像の一部を表示するものであり、
    前記スクロール工程は、前記アプリケーションウィンドウに表示される前記画像の中の表示位置を変更する
    ことを特徴とする請求項3に記載のアプリケーションプログラム。
  5. 前記操作指示はカーソルの移動に関する操作指示であり、
    前記スクロール工程は、前記カーソルの移動に関する操作指示に基づいて、スクロール方法およびスクロール量の少なくともいずれかを決定する
    ことを特徴とする請求項3または4に記載のアプリケーションプログラム。
  6. 前記カーソルの移動に関する操作指示は、前記情報処理装置のオペレーティングシステムから前記アプリケーションプログラムに対して送信されるメッセージである
    ことを特徴とする請求項5に記載のアプリケーションプログラム。
  7. 前記アプリケーションプログラムは、所定の時間間隔で現在のカーソル位置を取得するカーソル位置取得工程をさらに前記情報処理装置に実行させるものであり、
    前記操作指示は、複数の時間間隔で取得された前記カーソル位置に基づいて決定されることを特徴とする請求項5に記載のアプリケーションプログラム。
  8. 前記アプリケーションプログラムは、
    カーソルの表示状態を制御するカーソル表示制御工程をさらに前記情報処理装置に実行させるものであり、
    前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程に記憶されたポインティングデバイスの情報に基づいて、動作内容およびカーソルの表示状態を決定する
    ことを特徴とする請求項1記載のアプリケーションプログラム。
  9. ポインティングデバイスから送信される操作指示として、オペレーティングシステムの汎用的な操作指示を入力する操作指示入力工程と、
    前記操作指示に基づいて、使用されたポインティングデバイスの情報を検出するデバイス検出工程と、
    前記操作指示に基づいて動作内容を決定する動作内容決定工程と、
    前記動作内容に対応するポインティングデバイスの情報を記憶するデバイス記憶工程と、
    を情報処理装置に実行させるアプリケーションプログラムにおいて、
    前記動作内容決定工程は、前記操作指示、前記デバイス検出工程で検出されたポインティングデバイスの情報、および、前記デバイス記憶工程に記憶されたポインティングデバイスの情報に基づいて動作内容を決定する
    ことを特徴とするアプリケーションプログラム。
JP2014041766A 2014-03-04 2014-03-04 アプリケーションプログラム、ならびに、情報処理装置およびその制御方法 Expired - Fee Related JP6335553B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014041766A JP6335553B2 (ja) 2014-03-04 2014-03-04 アプリケーションプログラム、ならびに、情報処理装置およびその制御方法
US14/633,989 US20150253948A1 (en) 2014-03-04 2015-02-27 Non-transitory computer readable medium storing an application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014041766A JP6335553B2 (ja) 2014-03-04 2014-03-04 アプリケーションプログラム、ならびに、情報処理装置およびその制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018088203A Division JP6490278B2 (ja) 2018-05-01 2018-05-01 アプリケーションプログラム

Publications (3)

Publication Number Publication Date
JP2015166995A true JP2015166995A (ja) 2015-09-24
JP2015166995A5 JP2015166995A5 (ja) 2017-05-25
JP6335553B2 JP6335553B2 (ja) 2018-05-30

Family

ID=54257826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014041766A Expired - Fee Related JP6335553B2 (ja) 2014-03-04 2014-03-04 アプリケーションプログラム、ならびに、情報処理装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP6335553B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0242485A (ja) * 1989-07-19 1990-02-13 Hitachi Ltd カーソル制御装置
JPH07271501A (ja) * 1994-03-31 1995-10-20 Wacom Co Ltd 表示画面における表示物の表示方法
JPH0822370A (ja) * 1994-07-06 1996-01-23 Minolta Co Ltd 情報処理装置
JPH0844496A (ja) * 1994-07-28 1996-02-16 Hitachi Ltd 情報処理装置
JPH08147077A (ja) * 1994-11-18 1996-06-07 Wacom Co Ltd 複数の位置入力装置の制御方法及び装置
JP2000259316A (ja) * 1999-03-11 2000-09-22 Internatl Business Mach Corp <Ibm> マウスポインタの表示方法
JP2001265532A (ja) * 2000-03-23 2001-09-28 Sharp Corp 情報機器への情報入力装置および情報入力装置による情報機器への情報入力方法ならびに情報入力処理プログラムを記憶した記憶媒体
JP2012089092A (ja) * 2010-10-22 2012-05-10 Nippon Telegr & Teleph Corp <Ntt> 携帯端末会議システム及び方法
JP2012099137A (ja) * 2012-01-11 2012-05-24 Casio Comput Co Ltd 情報処理装置及びプログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0242485A (ja) * 1989-07-19 1990-02-13 Hitachi Ltd カーソル制御装置
JPH07271501A (ja) * 1994-03-31 1995-10-20 Wacom Co Ltd 表示画面における表示物の表示方法
JPH0822370A (ja) * 1994-07-06 1996-01-23 Minolta Co Ltd 情報処理装置
JPH0844496A (ja) * 1994-07-28 1996-02-16 Hitachi Ltd 情報処理装置
JPH08147077A (ja) * 1994-11-18 1996-06-07 Wacom Co Ltd 複数の位置入力装置の制御方法及び装置
JP2000259316A (ja) * 1999-03-11 2000-09-22 Internatl Business Mach Corp <Ibm> マウスポインタの表示方法
JP2001265532A (ja) * 2000-03-23 2001-09-28 Sharp Corp 情報機器への情報入力装置および情報入力装置による情報機器への情報入力方法ならびに情報入力処理プログラムを記憶した記憶媒体
JP2012089092A (ja) * 2010-10-22 2012-05-10 Nippon Telegr & Teleph Corp <Ntt> 携帯端末会議システム及び方法
JP2012099137A (ja) * 2012-01-11 2012-05-24 Casio Comput Co Ltd 情報処理装置及びプログラム

Also Published As

Publication number Publication date
JP6335553B2 (ja) 2018-05-30

Similar Documents

Publication Publication Date Title
JP6564493B2 (ja) ユーザインターフェースオブジェクトを操作するユーザインターフェース
US9423938B1 (en) Methods, systems, and computer program products for navigating between visual components
US10627990B2 (en) Map information display device, map information display method, and map information display program
US9098942B2 (en) Legend indicator for selecting an active graph series
KR101304461B1 (ko) 제스처 기반 사용자 인터페이스 방법 및 장치
JP4093823B2 (ja) 視野移動操作方法
US8661361B2 (en) Methods, systems, and computer program products for navigating between visual components
US20090138800A1 (en) Apparatus, method and computer-readable storage medium for directing operation of a software application via a touch-sensitive surface
EP2664986A2 (en) Method and electronic device thereof for processing function corresponding to multi-touch
EP2699986B1 (en) Touch screen selection
US20090019385A1 (en) Management of Icons in a Display Interface
EP2270641A1 (en) Operation Control Apparatus, Operation Control Method, and Computer Program
US20120174020A1 (en) Indication of active window when switching tasks in a multi-monitor environment
US20130063384A1 (en) Electronic apparatus, display method, and program
US20140082559A1 (en) Control area for facilitating user input
US8631317B2 (en) Manipulating display of document pages on a touchscreen computing device
JP4106058B2 (ja) ウィンドウ内におけるフレーム再配置を行うための情報処理装置、フレームの再配置方法、およびプログラム
JP2009223494A (ja) 情報処理装置
WO2016081280A1 (en) Method and system for mouse pointer to automatically follow cursor
JP6490278B2 (ja) アプリケーションプログラム
JP2019106204A (ja) アプリケーションプログラム
JP6335553B2 (ja) アプリケーションプログラム、ならびに、情報処理装置およびその制御方法
US20150253948A1 (en) Non-transitory computer readable medium storing an application program
JP2015166994A (ja) アプリケーションプログラム
US20190087077A1 (en) Information processing apparatus, screen control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180501

R151 Written notification of patent or utility model registration

Ref document number: 6335553

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees