JP3814333B2 - 情報処理方法とその装置 - Google Patents
情報処理方法とその装置 Download PDFInfo
- Publication number
- JP3814333B2 JP3814333B2 JP9561696A JP9561696A JP3814333B2 JP 3814333 B2 JP3814333 B2 JP 3814333B2 JP 9561696 A JP9561696 A JP 9561696A JP 9561696 A JP9561696 A JP 9561696A JP 3814333 B2 JP3814333 B2 JP 3814333B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- pen
- mouse
- input device
- event
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理方法とその装置、特に、ペン入力デバイスを用いる情報処理方法とその装置に関する。
【0002】
【従来の技術】
GUIの発達により、コンピュータ等の情報機器ではマウスを使って入力を行うシステム、あるいはアプリケーションが数多く開発されている。一方、携帯型の情報機器を中心にペン入力システムが開発され利用されている。これは、マウスを用いるにはマウスを動かすための場所が必要になるといった問題(省スペース)に対処するため、或はペン入力では画面に表示されているオブジェクトを直接操作できる、といった優れた操作性を持つという利点があるためである。ペン入力システムの中には、従来のマウスの替わりにペンを使うことの出来るものもある。このようなシステムにおいては、従来マウスを使って行っていた操作をペンで行えるようになっている。
【0003】
【発明が解決しようとする課題】
マウスを使うシステムではキーボードが付属していることが前提となっており、マウスだけでなくキーボードも併用して入力を行うことがある。例えば、XWindowシステムで、ターミナルアプリケーションソフトとして利用されるxtermでは、“control”キーとマウスボタンダウンにより、フォントサイズの変更等の端末属性の設定を行えるようになっている。
【0004】
しかしながら、ペン入力機器では前記したように省スペースを考慮しているため、キーボードが付属しない場合が多い。この場合、マウスを使うシステムにおいて、マウスとキーボードを併用する操作をもつアプリケーションをペン入力システムではそのまま実行できないという問題が起こる。
これを解決するために、ペン入力システムではジェスチャーにより同様の操作ができるようになっているが、このジェスチャーの形状認識の際の誤認識、あるいは認識処理に時間がかかるといった点が問題となっている。
【0005】
また、マウスとは違った操作を使用者は覚えなくてはならず、ユーザに負担をかけるという問題も起こる。
また、マウスシステムでのドラッグ操作(マウスのボタンを押しながら、マウスを移動する)に関していうと、マウスでは、使用中のマウスに装備されているボタンの数だけ違った操作を行うことができるが、ペン入力システムでは1種類しかできないといった問題が発生する。
【0006】
また、ワークステーションの様に、複数のマウスボタンを備えている場合には、そのなかで最もよく使われるボタンが押されたときの操作をペンダウンに割り当てているため、2つ以上のボタンを備えたマウスを使うシステム、または、アプリケーションをサポートすることはできない。
また、ペンにスイッチが装備されている場合には、そのスイッチを押したままペンダウンした時に、その次によく使われるボタンが押されたときの操作を割り当てることにより、マウス利用時と同様の操作ができるものもある。
【0007】
しかしながら、この場合でも3つ以上のボタンを備えたマウスに対応することはできない。
本発明は、上記従来例に鑑みてなされたもので、ペン入力デバイスを用いて、そのペン入力デバイスの簡単な動作に基づいて、対応する各コマンド処理を実行できる情報処理方法とその装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。すなわち、
入力面から所定距離内にペン入力デバイスが入っている状態と、その状態において前記ペン入力デバイスの第1位置座標を検知する第1検知手段と、
前記ペン入力デバイスが前記入力面に接触した入力状態と、その入力状態における前記ペン入力デバイスの第2位置座標を検知する第2検知手段と、
前記第1検知手段で検知された第1位置座標と、前記第1検知手段での検知後に前記第2検知手段で検知された第2位置座標との関係に基づいて、どの方向から前記入力状態になったかを判定する判定手段と、
前記判定手段の判定結果に対応するイベントの処理を実行させる実行手段とを備える。
【0012】
また、上記の目的を達成するための本発明による情報処理方法は、
入力面から所定距離内にペン入力デバイスが入っている状態と、その状態において前記ペン入力デバイスの第1位置座標を検知する第1検知工程と、
前記ペン入力デバイスが前記入力面に接触した入力状態と、その入力状態における前記ペン入力デバイスの第2位置座標を検知する第2検知工程と、
前記第1検知工程で検知された第1位置座標と、前記第1検知工程での検知後に前記第2検知工程で検知された第2位置座標との関係に基づいて、どの方向から前記入力状態になったかを判定する判定工程と、
前記判定工程の判定結果に対応するイベントの処理を実行させる実行工程とを備える。
【0019】
【発明の実施の形態】
はじめに、本発明の実施の形態の情報処理方法とその装置のポイントを要約した後に、その詳細な説明に入るものとする。
本発明の実施の形態の情報処理方法とその装置によれば、マウスなどのポインティング入力デバイスをサポートするアプリケーションやシステム側のプログラムをそのまま使用でき、マウスがサポートする操作入力をペン入力デバイスで置き換えることができる。
【0020】
例えば、3つのボタンを有するマウスをサポートするワークステーションなどで、マウスの代わりにペン入力デバイスを用いる場合、ペン入力デバイスのペン先の動作方向を検出し、左側から入力された場合には、3つボタンマウスの左ボタンダウンに対応する操作を行えるようにし、真上からであれば真ん中のボタンダウン、右側からであれば右ボタンダウンに対応する処理を行う。こうすることにより、マウス操作環境で使われているアプリケーションを変更することなく、ペン操作環境で利用することができる。
【0021】
以下、本発明の実施の形態の情報処理方法とその装置の詳細な説明を行う。
[第1の実施例]
図1に本実施の形態の情報処理装置の概要構成を示す。
CPU200は、本情報処理装置全体の制御を、メモリ202に格納された各種制御プログラムを読み出し、解釈し、実行することで行う。
【0022】
ペン入力デバイス206は、ペンの座標とペンの状態(ステータス)を入力する。
キーボード203とポインティングデバイス204は、コマンドやデータの入力を行う。
ディスプレイモニタ201は、CPU200での処理結果や、キーボード203とポインティングデバイス204から入力したコマンドやデータを表示する。
【0023】
タイマー205は、現在時刻をカウントし、CPU200の要請に基づいて、現在時刻を通知する。
図2に、図1の情報処理装置で処理される概要処理構成を示す。
図2を参照して、1は、ペンにより入力されたデータ(座標データとステータス)を受取るためのペン入力部である。2は、入力されたデータから入力属性を検出するための入力属性検出部である。入力属性は、ペン先の移動方向である。即ち、後述するが、ステータスが"プロキシミティー内"の座標値と"ペンダウン"の座標値によって、ペン先の移動方向を検出する。
【0024】
3は、入力属性検出部2で検出された属性を基に、各マウスボタンに対応するイベントを発生させる、言い替えると、ペンイベントをマウスイベントに変換するイベント変換部である。
4は、イベント変換部から送られてきたイベントに対応する操作を実行するためのイベント実行部である。
【0025】
これらの各部での処理は、プログラムとして、メモリ202に格納されており、CPU200によって実行される。
図2で処理の概要を述べたが、次に図3と図4を参照してより詳細な処理手順を説明する。
ここでは、ペン入力デバイスとして、電磁誘導型タブレットのように、ペン先がタブレット表面に付かない状態であっても座標を検出できるものを利用した場合について述べる。
【0026】
このとき、入力デバイスからは座標値と共にその座標が検知されたとき、ペン先がタブレット面に付いているのか、それともペン先がタブレット面からある一定距離以内にあるのか、あるいは、ペン先がタブレット面からある一定距離以上離れているのかを示すデータが送られてくる。
以下では、ペン先がタブレット面からある一定距離以内にある場合には、
”ペン先がプロキシミティー内にある”
と呼び、ペン先がタブレット面からある一定距離以上離れている場合には、
”ペン先がプロキシミティー外にある”と呼ぶことにする。
【0027】
一方、ペン先がタブレット面に付いている状態を、
”ペンダウン”
と呼ぶことにする。
以下では、マウスでは、マウスボタンを押しているときだけ、マウスボタン押下イベントが発生するとする。また、初期状態では、ペン先がプロキシミティー外にあるとする。ペン入力デバイスからは、ペン先がプロキシミティー外にある場合は、データは送られてこない。即ち、ペン先がプロキシミティー内にある場合とペンダウンの時に座標データをステータスが送られてくる。
【0028】
尚、以下の説明では、処理で必要な各種変数名が、予告なしに現れるが、これらは、メモリ202にアサインされているものとする。
ステップS201では、ペン入力デバイスから座標値とステータス(上述の状態のうちの1つ)を取得する。
ステップS202では、ステータスのチェックを行い、ペン先がプロキシミティー内かどうかを判定する。プロキシミティー内であれば、ステップS203に進み、そうでなければ、ステップS201に戻る。
【0029】
ステップS203では、ステップS201で入力した座標値とステータスをメモリ202に格納する。そして、ペン入力デバイスから次の座標値とステータスを入力する。
ステップS204では、ステップS203で入力したステータスをチェックし、ペンダウンかどうかの判定を行う。ペンダウンでなければ、ステップS205へ進み、入力したの入力座標データをメモリ202に格納する。そして、次の入力を得るためにステップS201に戻る。
【0030】
また、ステップS204において、ペンダウンであると判定された場合には、ステップS208に進む。
ステップS208では、ペン先がどちらの方向から入力されたかを計算する。すなわち、ステップS203で格納されたペンダウンする前のプロキシミティー内での座標データと、ペンダウン時の座標データのX方向(横方向)の値を比較することにより、ペン先が左側からペンダウンしたのか、右側からペンダウンしたのかを判定する。
【0031】
なお、この2点間のX方向の差が所定の閾値以下であれば、概上から入力したと判定する。従って、入力が3方向のいづれであるかを検知できる。
ステップS208で、左側から入力されたと判定された場合には、方向ステータスdsに"0"を設定する。また、概上ならば方向ステータスdsに"1"を設定する。また、右側からであれば、方向ステータスdsに"2"を設定する。
【0032】
ステップS209では、ステップS208で得られた方向ステータスdsを、メモリ2020に保持する。
ステップS301では、方向ステータスdsをチェックして、"0"の場合にはステップS302に進む。また"1"の場合には、ステップS303に進む。また、"2"の場合には、ステップS304に進む。
【0033】
ステップS302、ステップS303、ステップS304ではそれぞれ、左、中、右の各マウスボタン押下イベントを生成する。即ち、ステップS301、ステップS302、ステップS303、ステップS304の各処理により、ペン入力データがマウスイベントに変換される。
ステップS305では、入力したそれぞれのイベントに対応する所定の処理が実行される。ステップS305での処理は、アプリケーション側、または、オペレーティングシステム側で適応的に設定するものである。 ステップS305での処理が終了すると、次の入力を得るため、再びステップS201からの処理に戻り、同様の処理を繰り返す。
【0034】
以上説明したように、本実施の形態のペン入力方式を用いることにより、電磁誘導型のような入力面にペンダウンしなくてもペン先の座標値が得られるペン入力デバイスを使った場合、ペンダウンする前の座標値とペンダウンした際の座標値を利用することにより、複数ボタンを備えたマウス利用時と同様の操作を、ペンでできるようになる。
[第2の実施の形態]
第2実施の形態では、入力面にペン先が触れたときに座標値が得られるペン入力デバイスを使った場合について、図5および図6を参照して説明する。
【0035】
尚、このペン入力デバイスは、ペンダウンしたときと、ペンダウンした後は前回出力した座標からある一定距離以上離れたときに次の座標データを出力し、ペンアップしたときにその位置の座標データとステータスを出力する。
ここで、ステータスは、例えば、ペンダウン時には"1"、ペンアップ時には"0"となる。
【0036】
また、以下の説明では、第1実施の形態と同様に、マウス側ではマウスボタンを押しているときだけ、マウスボタン押下イベントが発生するようなシステムに対応させる際の説明を行う。
以下、図5と図6を参照して、その構成に対応する詳細な処理を説明する。
ここで、処理のスタート時にはペンアップ状態にあるものとする。
【0037】
ステップS401では、ペン入力デバイスからペンダウン入力があるかどうかを判定する。そして、入力がなければ、入力があるまで待つ。入力があった場合には、ステップS402に進む。
ステップS402では、現在の時刻をタイマー205から入力して、ステップS401で入力したペンダウン時の座標値とそのステータスと共に、メモリ202に格納する。
【0038】
ステップS403では、ペン入力デバイスから次の入力を待つ。そして、入力があれば、ステップS404に進む。
ステップS404では、入力がペンアップかどうかを判断する。ペンアップであれば、ステップS401に戻る。そうでなければ、ステップS405に進む。
ステップS405では、現在の時刻をタイマー205から入力して、ステップS403で入力した座標値、ステータスと共に、メモリ202に格納する。
【0039】
ステップS406では、ステップS402で保持した時刻とステップS405で保持した時刻の差を計算し、ステップS406において、その差が所定の閾値より大きかどうかを判定する。所定の閾値より小さい場合には、ステップS403に戻り、次の入力を得る。逆に、その閾値より大きい場合には、ステップS407に進む。
【0040】
ステップS407では、ぺン先が左側に動いたのか右側に動いたのかの方向を判定する。ここでは、ステップS402で保持した座標値のX方向(横方向)の値とステップS405で保持したX方向の値を比較することで、ペン先が左側に動いたのか右側に動いたのかを判定する。また、この2点間のX方向の差が所定の閾値以下であればペン先が動いていないものとして判定する。
【0041】
そして、ペン先が左側に動いた場合には方向ステータスdsに"0"、動いていないときは"1"、右側に動いたときは"2"を設定する。
ステップS408では、この判定結果の方向ステータスdsをメモリ202に格納する。
ステップS501では、方向ステータスdsをチェックして、"0"の場合にはステップS502に、"1"の場合にはステップS503に、また、"2"の場合にはステップS504にそれぞれ分岐させる。
【0042】
ステップS502、ステップS503、ステップS504ではそれぞれ、左、中、右の各マウスボタン押下イベントを生成する。即ち、ステップS501、ステップS502、ステップS503、ステップS504の各処理により、ペン入力データがマウスイベントに変換される。
ステップS505では、入力したそれぞれのイベントに対応する所定の処理が実行される。ステップS505での処理は、アプリケーション側、または、オペレーティングシステム側で適応的に設定するものである。
【0043】
ステップS505での処理が終了すると、再び、ペン入力部1での処理となり、ステップS506からステップS508の処理を実行する。
ステップS506では、次の入力をペン入力デバイスから得るまで待つ。そして、入力があった場合、ステップS507に進む。
ステップS507では、入力したステータスがペンアップかどうかを判定する。そして、ペンアップであれば、再びステップS401から処理を開始する。そうでなければ、ステップS508に進む。
【0044】
ステップS508では、現在の方向ステータスdsとステップS506で得られた座標値とをイベント実行部に送り、ステップS501に再び戻る。
以上説明したように、本実施の形態のペン入力方式を用いることにより、入力面にペン先が触れたときにのみ座標値が得られるペン入力デバイスを使った場合にも、ペンダウン時の座標値と、ペンダウン後ある一定微小時間内に移動した座標値を利用することにより、複数ボタンを備えたマウス利用時と同様の操作をペンでできるようになる。
[第3の実施の形態]
第3の実施の形態は、上述の実施の形態とは別の方法を説明する。
本実施の形態のポイントは、ペン入力デバイスがペンダウンした位置を含む所定サイズの近傍領域を、ペンが何回通過するかをカウントして、マウスの各ボタンに対応させる処理を行うことである。
【0045】
ここで、読者の理解を容易にするために、例えば、描画アプリケーションがマウス、キーボードを用いる場合、マウスのドラッグだけの場合にはマウスの動きに対応した自由曲線を描くモード、シフト(shift)キーを押しながら、所定の描画オブジェクト上からドラッグした場合には、描画オブジェクトのコピーとコピーしたオブジェクトの移動モードであるとする。
【0046】
これらのモードを、ペン入力デバイスを用いて行うために、本実施の形態では、
ペンダウン後に入力するストロークがあらかじめ設定した大きさの入力開始点の近傍から出て、もう一度入力開始点の近傍を通過せずにペンアップされた場合にはそのストロークをそのまま表示するモードを備える。また、任意の描画オブジェクト上でペンダウンし、その後、ストロークが入力開始点の近傍から出てもう一度入力した開始点の近傍を通過し、その後、入力開始点の近傍を通過することなくウィンドウ中の任意の位置でペンアップした場合には、入力開始位置にある描画オブジェクトをペンアップした位置へ移動するモードを備える。
【0047】
さらに、任意の描画オブジェクト上でペンダウンし、その後のストロークが入力開始点の近傍を2回通過し、ウィンドウ中の任意の位置でペンアップした場合には、入力開始位置にある描画オブジェクトをコピーし、ペンアップした位置へコピーされたオブジェクトを移動するモードを備える。
以上の処理モードを備えることで、マウス・キーボード環境で使われているアプリケーションを、ソースコード等の変更をすることなくペン操作環境で利用することができる。
【0048】
また、入力開始点の近傍を通過した回数によって、イベントの区別を行うために、従来のペン入力デバイスのジェスチャーを入力して、その形状認識を行う処理に比べ、極めて処理が簡単なものとなる。
第3の実施の形態での処理を、図7、図8のフローチャートに基づいて説明する。
【0049】
ステップS601では、各種変数名の初期化を行う。初期化項目としては、ストロークが入力開始点の近傍を通過した回数(以下、近傍通過数cntと呼ぶ)と、前回の入力データが入力開始点の近傍領域内にあったかどうかを示すフラグ(以下、近傍内フラグflgと呼ぶ)の2項目であり、それぞれ"0"に設定する。
【0050】
尚、上述の入力開始点の近傍とは、入力開始を中心とする正方形の領域であり、あらかじめその大きさは決められているが、ユーザによるメニュー操作によりその大きさを再設定することも可能である。
ステップS602では、ペン入力デバイスからのペンダウン入力を待つ。そして、入力のあった位置に、表示中のオブジェクトが存在する場合には、ステップS603に進む。また、存在しない場合は、さらに、ペン入力デバイスからのペンダウン入力を待つ。
【0051】
ステップS603では、その点を入力開始点として、その近傍領域の設定を行い、近傍内フラグをセットする。
ステップS604では、ユーザからの次のペンダウン移動入力(ペンダウンしたままでのペンの移動)あるいはペンアップ入力を待つ。そして、ペンダウン移動入力があった場合には、ステップS605に進む。また、ペンアップ入力があった場合には、ステップS601に戻る。
【0052】
ステップS605では、ステップS604で得られた点の座標が、ステップS603で設定された近傍領域であるかどうかをチェックする。そして、その領域内であれば、ステップS606に進み、そうでなければ、ステップS702に進む。
ステップS606では、ステップS604で得られた点の座標が入力開始点の近傍内にあるかどうかチェックする。そして、近傍内にない場合には、ステップS607に進み、近傍内フラグをリセットし、ステップS604に戻り、次の入力を待つ。
【0053】
一方、ステップS606で、近傍内にあると判断された場合には、ステップS608に進む。
ステップS608では、近傍内フラグがセットされているかどうかを調べ、セットされていなければ、ステップS609に進む。また、セットされていれば、ステップS604に戻る。
【0054】
ステップS609では、近傍通過数cntを1カウントアップする。
ステップS610では、近傍内フラグをセットする。そして、ステップS604に戻り、次の入力を待つ。
ステップS701では、
ステップS702では、近傍通過数cntをチェックして、"0"の場合にはステップS703に進む。また、"1"の場合には、ステップS704に進む。また、"2"の場合には、ステップS705に進む。
【0055】
ステップS703では、ボタン押下イベントを生成する。
ステップS704では、コントロール(control)キー押下イベント+マウスボタン押下イベントを生成する。
ステップS705では、シフト(shift)キー押下イベント+マウスボタン押下イベントを生成する。
【0056】
このように、ステップS702からS705の各処理により、ペン入力データがマウス+キーボードイベントに変換される。
こうして変換されたイベントは、ステップS706で、そのイベントに対応する各処理が実行される。
ステップS707では、新たにペン入力があるかどうかをチェックする。ペンアップを入力すると、ステップS601に戻る。また、そうでない場合には、ステップS702にもどり、得られた入力点の座標値と保持している近傍通過数をもとに処理を続ける。
【0057】
なお、ステップS703、ステップS704、ステップS705のいずれかで生成される各種イベントは、例えば、図9に示すように予め用意された各デバイス間のイベント対応テーブル(メモリ202に格納されている)を、近傍通過数cntで引くことにより、変換先のイベントを得ることができる。
尚、イベント対応テーブルは、ユーザによるメニュー操作により変更、追加、削除することができる。
【0058】
次に、図10に、本実施の形態のペン入力方法での画面操作例を示す。
これは、マウスとキーボードを備える情報処理装置側で、shiftキーを押下したままマウスドラッグすることで、操作対象オブジェクトのコピーと移動を行う場合での操作例を示す。この例では、近傍通過数が1のときシフト(shift)キー押下イベントとマウスボタン押下イベントに変換される。
【0059】
以上、説明したように、本実施の形態のペン入力方法をもちいると、入力したストロークが入力開始点を中心とした、あらかじめ設定された多きさの領域内からでるまでに入力開始点の近傍を通過した回数により識別されるイベントを生成することができる。そして、このイベントをマウスとキーボードを併用する操作に割り当てることで、従来のマウス、キーボードを使うことを前提に作られたアプリケーションあるいはシステムを、ソースコード等の変更をすることなくペン入力に基づいてできるようになる。
【0060】
(第4の実施例)
第4実施例では、入力されたストロークに関する時間情報をさらに用いて、各イベントを生成する処理方法を図11を用いて説明する。
本実施の形態での処理のポイントは、ペン入力デバイスからの入力ストロークが、一旦入力開始点の近傍を離れ、次に、ストロークが入力開始点の近傍に入るまでの時間が所定時間以内ならば通過と判定し、そうでなければ、それまでの通過した回数を入力属性として検出することにある。
【0061】
図11を参照して、ステップS801では、以下の変数名の初期化を行う。即ち、ストロークが入力開始点の近傍を通過した回数(以下、"近傍通過数pcnt"と呼ぶ)と、前回の入力データが入力開始点の近傍領域内にあったかどうかを示すフラグ(以下、"近傍内フラグnflg"と呼ぶ)をそれぞれ"0"に初期化する。 なお、入力開始点の近傍とは、入力開始点を中心とする所定のサイズを有する正方形の領域である。このサイズは、ユーザによるメニュー操作により再設定することができる。
【0062】
また、近傍通過数pcntのカウントアップは、本実施の形態では、現在の時刻と前回入力開始点の近傍にあった時刻との時間差が所定の閾値以内であるかどうかに基づいて行う。この所定の閾値は、ユーザによるメニュー操作により再設定することができる。
ステップS802では、ペンダウン入力を待ち、ペンダウン入力があった位置にオブジェクトが存在する場合には、ステップS803に進む。ここで、オブジェクトとは、表示されている画像上でのオブジェクトであり、このオブジェクトに関するディスプレイ201上での位置情報を含む各情報は、メモリ202に格納されている。そして、この位置情報とペンダウン入力の位置を比較することで、ペンダウン入力があった位置にオブジェクトが存在するかどうかを判断できる。
【0063】
ステップS803では、そのペンダウン位置を入力開始点として、その近傍領域の設定を行い、また、近傍内フラグnflgをセットする。
ステップS604では、タイマー205から現在の時刻を取得し、メモリ202に保持する(以下、この時刻を基準時刻と呼ぶ)。
ステップS805では、次のペンダウン移動入力(ペンダウンしたままの移動)を待ち、この入力があった場合には、ステップS806に進む。
なお、ステップS805においてペンアップされた場合にはステップS801に戻る。 ステップS806では、現在の時刻を取得する。
【0064】
ステップS807では、ステップS804とステップS806で取得した時刻を比較し、その差が所定の閾値より大きいかどうかを判断する。大きい場合は、第3の実施の形態でのイベント変換処理と同じ処理を行う。即ち、図8のステップS702からの処理と同様の処理を行うので、ここでは、説明の重複を避けるため説明を省略する。また、大きくないならば、ステップS808に進む。
【0065】
ステップS808では、現在の入力点が入力開始点の近傍かどうか調べる。近傍内でなければ、ステップS809に進む。近傍内であれば、ステップS812に進む。
ステップS809では、近傍内フラグnflgがセットされているかどうかを調べる。そして、セットされていなければ、ステップS805に戻る。逆に、セットされていれば、ステップS810に進む。
【0066】
ステップS810では、タイマー205から現在の時刻を入力し、基準時刻としてメモリ202に保持する。
ステップS811では、近傍内フラグnflgをリセットする。そして、ステップS805に戻る。
ステップS808で近傍内であると判断された場合には、ステップS812で近傍内フラグnflgがセットされているかどうかを調べる。そして、セットされていれば、ステップS805に戻り、そうでなければ、ステップS813に進み、近傍通過数pcntを"1"カウントアップする。
【0067】
ステップS814では、近傍内フラグnflgをセットする。そして、ステップS805に戻り、次の入力を待つ。
以上説明したように、本実施の形態のペン入力方法を用いると、ストロークが一旦、入力開始点の近傍を離れ、次に、ストロークが入力開始点の近傍に入るまでの時間が一定時間以内ならば通過と判定し、そうでなければ、それまでの通過した回数を入力属性として確定する。そして、その確定回数に基づいて、対応するイベント、例えば、マウスとキーボードを併用する所定の操作を割り当てる。このことで、従来のマウス、キーボードの代わりに、ペンだけでできるようになる。
【0068】
なお、本実施の形態では、ストロークが一旦入力開始点の近傍を離れ、次に、ストロークが入力開始点の近傍に入るまでの時間が所定時間以内ならば通過とし、そうでなければ、それまでの通過回数を入力属性として検出したが、図11のステップS811での処理を行わなければ、入力開始時点からの一定時間内に入力開始点近傍を通過した回数を入力属性として利用することが可能である。
【0069】
また、第3実施の形態、第4実施の形態において説明した入力属性検出方式を組み合わせたものを入力属性検出方式とすることでも、同様の効果が得られる。
(第5実施の形態)
本発明の第5の実施の形態の処理構成の概要を図12に示す。
図12の71はペンにより入力されたデータを受取るためのペン入力部である。また、72は入力されたストロークから入力属性を検出するための入力属性検出部である。なお、本実施の形態では、入力属性として、入力したストロークが入力開始点を中心とした所定の大きさの領域内から出るまでに入力開始点の近傍を通過した回数を用いる。
【0070】
73は、入力属性検出部72で検出された属性に基づいて、対応するイベントを実行するためのイベント実行部である。
図13は、イベント実行部73(図12)での処理のフローチャート示す。
また、図14は、イベント実行部73で保持される近傍通過数とコマンドの対応をそれぞれ示す。
【0071】
以下、図13を参照して、イベント実行処理を説明する。なお、ペン入力、入力属性検出処理の流れは、第3実施の形態と同様である。即ち、図7の各ステップを実行して、ステップS605での分岐条件が成立すると、ステップS902(図13)にエントリする。
ステップS902では、入力属性検出部2で生成された近傍通過数をチェックして、その数に基づいて、ステップS803、ステップS904、ステップS905の各ステップに分岐する。これらのステップでは、図9の示す近傍通過数とコマンドの対応に従い、近傍通過数に対応したコマンドを生成する。
【0072】
ステップS902では、近傍通過数が"0"の場合にはステップS803に、"1"の場合にはステップS804に、また"2"の場合にはステップS805にそれぞれ分岐する。
ステップS803では、削除コマンドを生成する。
そして、ステップS806では、次の入力を待つ。そして、入力が無くなった時点で削除コマンドを実行し(ステップS807)、図7のステップS601へ進む。
【0073】
一方、ステップS804では、移動コマンドを生成する。
次に、ステッップS908では、移動コマンドと現在の座標値を基に、その移動コマンドを実行する。
ステップS809では、入力を待ち、ペンアップされるまで移動コマンドを繰り返す。そして、図7のステップS601へ進む。
【0074】
他方、ステップS805では、コピーコマンドを生成する。
次に、ステップS810では、近傍通過数を"1"に設定する。そして、ステップS808に進み、コピーコマンドを実行する。そして、ステップS809で次の入力を待ち、ペンムーブ(Pen move)であれば、ペンアップされるまで移動コマンドを実行する。
【0075】
尚、ステップS807、ステップS808でのコマンドの実行に関しては、本方法をインプリメントするシステム側で通常用意されるものであるので、ここでは詳しい説明は省略する。
以上説明したように、本実施の形態のペン入力方式を用いると、入力したストロークが入力開始点を中心とした、あらかじめ設定された大きさの領域内から出るまでに入力開始点の近傍を通過した回数により、システムあるいはアプリケーションで用意されるコマンドを割り当てることで、従来のシステムあるいはアプリケーションを、ソースコード等の変更をすることなくペンだけで操作できるようになるだけでなく、ジュエスチャ入力に基づく形状認識のため起こっていた誤認識、認識時間が長いという問題を解決することができる。
【0076】
なお、本発明は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0077】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0078】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0080】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図15のメモリマップ例に示す上述の各フローチャートの処理に対応する各モジュールを記憶媒体に格納することになる。
すなわち、少なくとも、ペンの状態と座標を入力する「ペン入力処理モジュール」、上述したように動的なペンの移動に伴う座標値の移動とその時刻等に基づいて、イベントを識別する「入力属性検出モジュール」、識別されたイベントをマウスなどのイベントに変換する「イベント変換モジュール」、変換されたイベントに対応するコマンドを実行する「コマンド実行モジュール」の各モジュールのプログラムコードを記憶媒体に格納すればよい。
【0081】
以上説明したように、本実施の形態によれば、マウスとキーボードを使うシステムにおいて、マウスとキーボードを同時に使うような操作を持つアプリケーションでも、ソースコードを変更することなく、そのままペン操作環境で利用することができる。
また、ペンだけで操作できる環境を提供できるだけでなく、従来、ジェスチャーの形状認識の際に起こっていた誤認識、認識時間にかかる時間等の問題を解決することができる。
【0082】
また、使用者も新しい操作を覚える必要はなく、従来のマウス操作と同じ間隔感覚で使用できる。
【0083】
【発明の効果】
以上説明したように本発明によれば、ペン入力デバイスを用いて、そのペン入力デバイスの簡単な動作に基づいて、対応する各コマンド処理を実行できる。
【図面の簡単な説明】
【図1】本発明に係る実施の形態の情報処理装置の基本構成例を示す図である。
【図2】第1の実施の形態の処理構成の概要を説明するための図である。
【図3】第1の実施の形態における処理の流れを示すフローチャートである。
【図4】 第1の実施の形態における処理の流れを示すフローチャートである。
【図5】第2の実施の形態における処理の流れを示すフローチャートである。
【図6】 第2の実施の形態における処理の流れを示すフローチャートである。
【図7】第3の実施の形態における処理の流れを示すフローチャートである。
【図8】 第3の実施の形態における処理の流れを示すフローチャートである。
【図9】イベント変換処理で参照されるイベント変換対応表である。
【図10】表示画面でペン入力を行った軌跡の例を示す図である。
【図11】第4の実施の形態の処理の流れを示すフローチャートである。
【図12】第5の実施の形態の処理概要を説明するための図である。
【図13】第5の実施の形態の処理のフローチャートである。
【図14】近傍通過数とコマンドの対応を示す図である。
【図15】コンピューター読み取り可能な所定の記録媒体に格納された各プログラムモジュールのレイアウトを示す図である。
Claims (3)
- 入力面から所定距離内にペン入力デバイスが入っている状態と、その状態において前記ペン入力デバイスの第1位置座標を検知する第1検知手段と、
前記ペン入力デバイスが前記入力面に接触した入力状態と、その入力状態における前記ペン入力デバイスの第2位置座標を検知する第2検知手段と、
前記第1検知手段で検知された第1位置座標と、前記第1検知手段での検知後に前記第2検知手段で検知された第2位置座標との関係に基づいて、どの方向から前記入力状態になったかを判定する判定手段と、
前記判定手段の判定結果に対応するイベントの処理を実行させる実行手段とを備えることを特徴とする情報処理装置。 - 前記入力面は、電磁誘導型タブレットによって構成されることを特徴とする請求項1に記載の情報処理装置。
- 入力面から所定距離内にペン入力デバイスが入っている状態と、その状態において前記ペン入力デバイスの第1位置座標を検知する第1検知工程と、
前記ペン入力デバイスが前記入力面に接触した入力状態と、その入力状態における前記ペン入力デバイスの第2位置座標を検知する第2検知工程と、
前記第1検知工程で検知された第1位置座標と、前記第1検知工程での検知後に前記第2検知工程で検知された第2位置座標との関係に基づいて、どの方向から前記入力状態になったかを判定する判定工程と、
前記判定工程の判定結果に対応するイベントの処理を実行させる実行工程とを備えることを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9561696A JP3814333B2 (ja) | 1996-04-17 | 1996-04-17 | 情報処理方法とその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9561696A JP3814333B2 (ja) | 1996-04-17 | 1996-04-17 | 情報処理方法とその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09282079A JPH09282079A (ja) | 1997-10-31 |
JP3814333B2 true JP3814333B2 (ja) | 2006-08-30 |
Family
ID=14142490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9561696A Expired - Fee Related JP3814333B2 (ja) | 1996-04-17 | 1996-04-17 | 情報処理方法とその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3814333B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7392315B2 (ja) * | 2019-08-05 | 2023-12-06 | 株式会社リコー | 表示装置、表示方法、プログラム |
-
1996
- 1996-04-17 JP JP9561696A patent/JP3814333B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09282079A (ja) | 1997-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6697100B2 (ja) | インタラクティブ電子ホワイトボードに基づくタッチ操作方法及びそのシステム | |
TWI514229B (zh) | 圖形編輯方法以及電子裝置 | |
US7441202B2 (en) | Spatial multiplexing to mediate direct-touch input on large displays | |
KR101042099B1 (ko) | 공중 지점을 이용한 포커스 관리방법, 시스템 및 컴퓨터 판독 가능 매체 | |
EP0992877B1 (en) | Information processing apparatus | |
JP4602166B2 (ja) | 手書き情報入力装置。 | |
CN102576268B (zh) | 利用多种输入检测技术的交互表面 | |
JP5915143B2 (ja) | 電子情報ボード装置 | |
CN109753179B (zh) | 用户操作指令的处理方法及手写阅读设备 | |
JP2006164238A (ja) | タッチパッド入力情報の処理方法及びタッチパッド入力情報の処理装置 | |
JP2000222130A (ja) | 入力装置および方法および記憶媒体 | |
JP6041989B2 (ja) | 静電容量方式と電磁誘導方式のデュアルモードタッチスクリーンのタッチ制御方法及びハンドヘルド電子装置 | |
CN103218044B (zh) | 一种基于物理回馈的触摸装置及其触摸处理方法 | |
JP2007156634A (ja) | 入力装置 | |
JP5241272B2 (ja) | 座標入力装置、座標入力制御方法、座標入力制御プログラム | |
JPH09231393A (ja) | 命令入力装置 | |
JP2002055781A (ja) | 情報処理装置及びその制御方法、コンピュータ可読メモリ | |
US6184864B1 (en) | Digitizer tablet apparatus with edge area as a macro cell | |
JP3814333B2 (ja) | 情報処理方法とその装置 | |
JP2015035045A (ja) | 情報処理装置、表示制御プログラム | |
JP3357760B2 (ja) | 文字図形入力編集装置 | |
CN105867685A (zh) | 终端设备的控制方法和装置 | |
JPH1049700A (ja) | ペン入力装置、ペン入力方法、入力装置及び入力方法 | |
CN113031817B (zh) | 一种多点触控的手势识别方法及防误触方法 | |
JP4925989B2 (ja) | 入力装置及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050819 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060427 |
|
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: 20060526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060605 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090609 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130609 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |