JP3872322B2 - タッチパネルに対応した入力方法、入力システムおよびプログラム - Google Patents

タッチパネルに対応した入力方法、入力システムおよびプログラム Download PDF

Info

Publication number
JP3872322B2
JP3872322B2 JP2001281172A JP2001281172A JP3872322B2 JP 3872322 B2 JP3872322 B2 JP 3872322B2 JP 2001281172 A JP2001281172 A JP 2001281172A JP 2001281172 A JP2001281172 A JP 2001281172A JP 3872322 B2 JP3872322 B2 JP 3872322B2
Authority
JP
Japan
Prior art keywords
mouse
event
input
key
button
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
Application number
JP2001281172A
Other languages
English (en)
Other versions
JP2003108310A (ja
Inventor
明 坂口
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2001281172A priority Critical patent/JP3872322B2/ja
Priority to US10/244,656 priority patent/US6850220B2/en
Publication of JP2003108310A publication Critical patent/JP2003108310A/ja
Application granted granted Critical
Publication of JP3872322B2 publication Critical patent/JP3872322B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Position Input By Displaying (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、タッチパネルに対応した入力方法、入力システムおよびプログラムに関し、特にタッチパネル入力におけるマウス位置の位置決めを高精細に行うことを可能にした入力手段に関する。
【0002】
【従来の技術】
銀行のATM(automatic teller machine)やACM(automatic consulting machine)等不特定多数のユーザが利用する情報機器では、コンピュータの操作に熟練していない一般ユーザの利用を想定する。このため、多くの場合これら自動機器では、ユーザの利便性を考慮して入力デバイスにタッチパネルが採用される。
【0003】
たとえば特開2000−89887号公報には、タッチパネルに対応した文字入力システムが記載されている。当該文字入力システムでは、タッチパネルに文字その他の機能ボタンを表示し、文字が表示されている領域に接触(タッチ)することにより入力フィールドに当該文字が入力される。また、実行ボタンが表示されている領域に触れることにより入力フィールドに入力されている文字列を引数として実行プログラムに渡すよう構成している。このような入力システムにより、コンピュータに不慣れなユーザであっても、タッチパネルに触れるだけでコンピュータ等の情報処理システム(あるいは端末)を操作することが可能になる。
【0004】
当該文字入力システムでは、タッチパネルに接触するという一つの動作で、その接触位置を検知し、当該接触位置を含む領域に割り当てられた機能(入力フィールドへの文字入力やプログラムの実行等)を特定し、さらにその機能を実現する手順を実行する。つまりタッチパネルへの接触によりマウス入力イベントが発行され、このマウス入力イベントにより、接触位置にマウス位置を移動するマウス移動イベントが発行される。同時にマウス位置においてマウス左クリックイベントが発行される。マウス左クリックイベントによって当該マウス位置で特定されるアプリケーションプログラム等が起動される。
【0005】
なお、前記文字入力システムやその他のタッチパネル入力を持つ自動機器では、現在のマウス位置を表示する必要性が乏しいので、マウスカーソルの表示は非表示に設定される。
【0006】
【発明が解決しようとする課題】
上記したようなタッチパネル入力は、コンピュータに不慣れな一般ユーザにとって使い易い優れたユーザインタフェイスを提供する。しかし、アプリケーションプログラムを開発する場合やメンテナンス時には、必ずしも使い易いユーザインタフェイスであるとはいえない。
【0007】
つまり、プログラムの開発時あるいはメンテナンス時には、たとえばマイクロソフト社製のOS「Windows」(Windowsはマイクロソフト社の商標。以下単に「Windows」と称する。)に付属するエクスプローラ等のファイル管理用のアプリケーションプログラムを用いてファイル操作等の処理を行う。これらアプリケーションプログラムでは、比較的狭い領域にファイル名称やメニューバー等のオブジェクトが表示され、これらオブジェクト上にマウス位置を位置決めする必要がある。ところが、タッチパネルを指で触れることによっては、このような詳細な位置決めは困難である。勿論、システムにマウス入力等ポインティングデバイスによる入力インタフェイスを備える場合には、これらポインティングデバイスによって詳細な位置特定を伴う入力を行うことは可能である。しかし、システムのコストダウンのため、多くのシステムではマウス等の入力インタフェイスが備えられていない場合が多い。このため、プログラムの開発効率やメンテナンス時の作業効率が低くなる問題がある。
【0008】
また、前記したように多くの自動機器ではマウスカーソルが非表示に設定されている。このため、本番環境でのプログラム開発やメンテナンスの際にマウスの現在位置が把握できず開発効率、作業効率を低下させている問題がある。
【0009】
また、前記したとおり従来のタッチパネル入力においては、マウス移動イベントとマウス左クリックイベントがほぼ同時に発行される。プログラム開発やメンテナンス時にはマウス移動とともにマウス右クリックやドラッグアンドドロップ等マウス右クリック以外のクリックイベントを発行したい場合がある。従来のタッチパネル入力ではこのような要求を満足できない問題がある。
【0010】
なお、上記した問題点のうち、マウスカーソルの非表示や、マウス右クリック以外のクリックイベントが発行されない問題は、アプリケーションソフトウェアやタッチパネルのデバイスドライバの改良によって対処することも可能である。しかし、本番処理を行うアプリケーションソフトウェアはでき得る限り小型であることが好ましく、プログラム開発あるいはメンテナンス時に利用するユーティリティソフトウェアは付属されないことが望ましい。また、デバイスドライバの変更は、メーカやタッチパネルの種類に応じて逐一対処しなければならず、デバイスドライバの変更を伴わない対処が望ましい。
【0011】
本発明の目的は、タッチパネルに対応した入力システムにおいて、本番処理に用いられるアプリケーションソフトウェアに付加機能を加えることなく現在のマウス位置を表示する手段を提供することにある。
【0012】
また、本発明の目的は、マウス等詳細な位置特定が可能なポインティングデバイスを備えないタッチパネル入力システムにおいて、詳細なマウス位置の位置決めが可能な入力手段を提供することにある。
【0013】
また、本発明の目的は、マウス左クリックイベントだけでなく、その他のクリックイベントも発行できるタッチパネルに対応した入力手段を提供することにある。
【0014】
さらに、本発明の目的は、タッチパネルのデバイスドライバに依存せず、複数のメーカあるいは種類のタッチパネルに汎用的に適用できる手法によって前記各目的を達成する入力手段を提供することにある。
【0015】
【課題を解決するための手段】
本願の発明の概略を説明すれば、以下の通りである。すなわち、本願発明の入力方法は、タッチパネルの接触またはキーボードの押下を入力イベントとして検知する情報処理システムの入力方法であって、入力モードの切り替えに応じてマウスカーソルを生成するステップと、入力イベントを受取り、フックするステップと、入力イベントがマウスイベントである場合に、マウス移動イベントに続くマウスイベントを無効化するステップと、入力イベントにおけるタッチパネルの接触位置(マウス位置)にマウスカーソルを表示するステップと、を含む。すなわち、本願発明では、入力イベントがあった場合に、直ちには実行せず、これをフックする。そして、フックされたイベントがマウス入力イベントである場合にはその後の処理を無効化し、タッチパネルへの接触位置にマウスカーソルを表示する。一般にATM等の自動機器では、マウスカーソルは表示されないように設定されている。よって現在のマウス位置は不明であるが、本発明ではマウスカーソルを生成して現在のマウス位置に表示する。このため、マウス位置を正確に把握できる。また、マウスイベントが生じても、この段階ではマウス位置を移動し表示するだけであり、従来のようにマウス移動およびクリックイベントを同時に発生させない。このため、マウス移動と、その後に続く処理を分離できる。
【0016】
マウス移動に続く処理として、以下のような処理が例示できる。たとえば、本発明の入力方法では、タッチパネルにツールウィンドウを表示させ、このツールウィンドウ内の所定の機能ボタンに触れると、そのボタン領域に定義された所定の手順を実行できる。すなわち、本発明の入力方法は、マウスイベントを制御するためのツールウィンドウを生成し、タッチパネルにツールウィンドウを表示するステップをさらに有し、フックした入力イベントがマウスイベントである場合に、マウス位置がツールウィンドウの領域内にあるかを判断する第1判断ステップと、第1判断ステップの判断が偽の場合に、マウスイベントの無効化ステップおよびマウスカーソルの表示ステップを実行するステップと、第1判断ステップの判断が真の場合に、マウス位置が、ツールウィンドウ内のマウス移動ボタンの領域内にあるかを判断する第2判断ステップと、第2判断ステップの判断が真の場合に、マウス移動ボタンの割り当てる方向にマウスカーソルを移動して表示するステップと、をさらに含むことができる。すなわち、ツールウィンドウ内のマウス移動ボタンに触れるとその方向にマウス位置を移動し、マウスカーソルを移動する。あるいは、本発明の入力方法は、第2判断ステップの判断が偽の場合に、マウス位置が、ツールウィンドウ内のマウスカーソルの移動速度を変更する速度変更ボタンの領域内にあるかを判断する第3判断ステップと、第3判断ステップの判断が真の場合に、マウスカーソル移動速度の設定を変更するステップと、をさらに含むことができる。すなわち、マウス移動速度を変更するボタンに触れると、マウス移動速度の設定を変更する。このように、本発明の入力方法によれば、ツールボタンを用いてマウス移動を微細に調整できる。なお、マウス移動速度は3段階程度に設定し、マウス移動ボタンを選択するとマウス移動間隔がサイクリックに変更されるように構成できる。また、これら各判断ステップの順序は、本発明の趣旨に合致する限り適宜入れ替えることが可能である。すなたち、マウス位置の表示・移動のイベントとその後のマウスイベントをと分離することができれば、当該後続するマウスイベントの判断・処理の順序は任意のものとすることができる。
【0017】
また、本発明のツールボタンには、マウスクリックイベントを発行させる機能を含めることができる。すなわち、本発明の入力方法は、第2判断ステップの判断が偽の場合に、マウス位置が、ツールウィンドウ内のマウスイベント発行ボタンの領域内にあるかを判断する第4判断ステップと、第4判断ステップの判断が真の場合に、マウスイベント発行ボタンに割り当てられているマウスイベントを発行するステップと、をさらに含むことができる。このような入力方法によれば、ボタン領域に定義されたマウスイベントを発行できる。マウスイベントには、左ボタンクリック、左ボタンダブルクリック、左ボタンドラッグアンドドロップ、右ボタンクリック、右ボタンドラッグアンドドロップを例示できる。
【0018】
また、ツールウィンドウが邪魔な場合は、これをマウスイベントによって移動するように構成できる。すなわち、本発明の入力方法は、第2判断ステップの判断が偽の場合であって、かつ、マウス位置がツールウィンドウ内の各ボタンの領域内にない場合に、次回のマウスイベントにおけるマウス位置にツールウィンドウを移動して表示するステップ、をさらに含むことができる。つまり、ツールウィンドウ内の機能ボタン以外の領域に触れた場合には、ツールウィンドウを移動する意志であると把握する。
【0019】
また、前記したツールウィンドウの機能は、キーボード入力によっても実現できる。すなわち、本発明の入力方法は、フックした入力イベントがキーボードイベントである場合に、さらに、キーボードイベントにおいて押下されたキーが、マウス移動キーであるかを判断する第5判断ステップと、第5判断ステップの判断が真の場合に、マウス移動キーに割り当てられた方向にマウスカーソルを移動して表示するステップと、をさらに含むことができる。あるいは、フックした入力イベントがキーボードイベントである場合に、さらに、キーボードイベントにおいて押下されたキーが、マウスカーソルの移動速度を変更する速度変更キーであるかを判断する第6判断ステップと、第6判断ステップの判断が真の場合に、マウスカーソル移動速度の設定を変更するステップと、をさらに含むことができる。あるいは、本発明の入力方法は、フックした入力イベントがキーボードイベントである場合に、さらに、キーボードイベントにおいて押下されたキーが、マウスイベント発行キーであるかを判断する第7判断ステップと、第7判断ステップの判断が真の場合に、マウスイベント発行キーに割り当てられているマウスイベントを発行するステップと、をさらに含むことができる。キーボードによっても前記ツールウィンドウの機能と同様の機能を実現できる。
【0020】
なお、本発明は、前記した方法の発明の他に、システムあるいはプログラムの発明としても把握することが可能である。
【0021】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【0022】
以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかなとおり、本発明はコンピュータで使用可能なプログラムとしても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。プログラムは、ハードディスク、CD−ROM、光記憶装置または磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。
【0023】
図1は、本発明の一実施の形態であるタッチパネルに対応した入力システムの一例をその機能について示したブロック図である。本実施の形態の入力システムは、入力部1、イベントフック部2、マウスイベント処理部3、キーボードイベント処理部4、マウスイベント消去部5、ツールウィンドウ処理部6、マウスイベント組立・送信部7、キーボードイベント転送部8、マウスカーソル処理部9、ツールウィンドウ10、マウスカーソル11、起動部12を含む。
【0024】
本実施の形態の入力システムを実施できる情報処理装置として、銀行等で利用されるATMが例示できる。よく知られているようにATMには、現金を受払いするための機能、ホストコンピュータとの通信機能、カードあるいは預金通帳に磁気記録された情報を読み取る機能、預金通帳あるいは取引明細票に印刷する機能を有し、さらに、タッチパネルあるいはテンキーボードによる入力機能を有する。ATMのハードウェアには、前記したとおり一般的なコンピュータシステムにはない機能を担う機器が備えられる。しかし、情報処理を司る機能に関しては一般的なコンピュータシステムと基本的には相違するところはない。すなわち、中央演算処理装置(CPU)、主記憶装置(メインメモリ:RAM)、不揮発性記憶装置(ROM)、キャッシュメモリ、入出力制御装置(I/O)等、一般的にコンピュータシステムに備えられるハードウェア資源を備える。ただし、コスト削減のため、マウス等ポインティングデバイスおよびその入力インタフェイスは備えていない。なお、本発明はATMにおける入力方法に限られず、その他のタッチパネルを有する情報処理システムの入力方法に適用できることは勿論である。
【0025】
なお、図1に示す各処理部の機能は、主にソフトウェア(プログラムコンポーネント)によって実現される。各機能は単一のプログラムコンポーネントで実現されても良く、複数のプログラムコンポーネントの組合せによって実現されても良い。また、これら各機能の複数の機能が単一のプログラムコンポーネントで実現されても良い。
【0026】
入力部1は、タッチパネルあるいはキーボード等の入力デバイスおよびそのドライバであり、入力イベントを生成する。本実施の形態の入力システムを適用しない従来の入力システムにおいては、入力イベントはそのままアプリケーションソフトウェアに渡される。すなわち、タッチパネル入力の場合、入力イベントはマウスイベントとして生成され、マウス移動イベントに続いてマウス左クリックイベントが渡される。キーボード入力の場合には、押下されたキーボードに割り当てられた機能、たとえば文字入力やプログラム実行等がキーボードイベントとして渡される。しかし、本実施の形態では、実行モジュールが起動部12によって起動された後には、以下に説明するように入力イベントを横取りする。
【0027】
イベントフック部2は、入力部1で生成した入力イベントをフックする。すなわち、マウス入力あるいはキーボード入力のイベントが発生した時に、イベントフック部2がイベント発生の通知を受ける。イベントフック部2では、入力イベントがマウスイベントであるかキーボードイベントであるかを判断し、入力イベントの種類に応じてマウスイベント処理部3あるいはキーボードイベント処理部4に処理を渡す。
【0028】
マウスイベント処理部3は、入力イベントがマウスイベントである場合に処理を実行する。マウスイベント処理部3では、タッチパネルに触れられた位置(マウス位置)に応じて処理を分ける。すなわち、マウス位置がツールウィンドウの表示領域外である場合には、マウスイベント消去部5に処理を渡し、マウス位置がツールウィンドウの表示領域内である場合には、ツールウィンドウ処理部6に処理を渡す。
【0029】
キーボードイベント処理部4は、入力イベントがキーボードイベントである場合に処理を実行する。キーボードイベント処理部4では、押下されたキーによって処理を分ける。マウスクリックイベントを発行する機能が定義されているキーが押下された時にはマウスイベント組立・送信部7に処理を渡す。マウス移動の方向あるいは速度が定義されているキーが押下された時にはマウスカーソル処理部9に処理を渡す。何も定義されていないキーが押下された時にはキーボードイベント転送部8に処理を渡す。
【0030】
図2は、テンキーボードにマウス移動等の機能を割り当てた場合のキー配列を例示する図である。図示するように、マウス移動の方向を示すマウス移動キー70a〜70hを数字の1〜9(5をのぞく)のキーに定義できる。また、マウス移動の速度を変更する速度変更キー71を数字の5のキーに定義できる。さらに、マウスイベントとして、クリック、ダブルクリック、ドラッグアンドドロップ等のクリック操作を定義する左クリックキー72、左ダブルクリックキー73、左ドラッグアンドドロップキー74、右クリックキー75、右ドラッグアンドドロップキー76を定義できる。
【0031】
マウスイベント消去部5は、マウス移動イベントに続くマウスクリックイベントを消去する。従来技術では、タッチパネルへの接触(マウスイベント)により、マウス位置をタッチパネルの接触位置に移動し(マウス移動イベント)、その後マウス位置での左クリックイベントが発行される。しかし、本実施の形態の場合、左クリックイベントはマウスイベント消去部5によって消去され、マウス移動後のクリックイベントが発行されず、処理が中断される。
【0032】
ツールウィンドウ処理部6は、ツールウィンドウ10をタッチパネルに表示する。ツールウィンドウ10は、マウス移動処理、マウス移動速度変更処理、マウスイベント発行処理等の機能を割り当てたボタンを表示するウィンドウである。ツールウィンドウ10はその属性として、ウィンドウが最前面に表示される属性であるTOPMOST属性を持つように生成し、タッチパネルの最前面に表示するようにする。ツールウィンドウ10はツールウィンドウ処理部6で生成されても良く、また、ツールウィンドウ生成のためのプログラムコンポーネントを備えてもよい。
【0033】
図3は、ツールウィンドウ10の一例を示した画面図である。ツールウィンドウ10には、マウス移動の方向を示すマウス移動ボタン60a〜60hを有する。また、マウス移動の速度を変更する速度変更ボタン61を有する。さらに、マウスイベントとして、クリック、ダブルクリック、ドラッグアンドドロップ等のクリック操作を定義する左クリックボタン62、左ダブルクリックボタン63、左ドラッグアンドドロップボタン64、右クリックボタン65、右ドラッグアンドドロップボタン66を有する。これら各ボタンには、各々前記したような処理を実現する機能が割り当てられる。
【0034】
また、ツールウィンドウ処理部6は、ツールウィンドウ10の表示領域内にマウスイベントが発生した時に処理を行う。ツールウィンドウ処理部6では、マウスイベントのマウス位置に応じて処理を分ける。マウス位置がマウス移動方向を割り当てるマウス移動ボタン60a〜60hまたはマウス移動速度を割り当てる速度変更ボタン61の領域内にある場合には、ツールウィンドウ処理部6はマウスカーソル処理部9に処理を渡す。あるいは、マウス位置がクリックイベントを発行する機能を割り当てるボタン(62〜66)の領域内にある場合には、ツールウィンドウ処理部6はマウスイベント組立・送信部7に処理を渡す。また、マウス位置がこれらボタンの何れの領域でもないツールウィンドウ内にある場合は、ツールウィンドウ処理部6は、当該入力イベント(マウスイベント)がツールウィンドウ10を移動する意思であるとみなし、次回のマウスイベントにおけるマウス位置にツールウィンドウ10を移動する処理を実行する。
【0035】
マウスイベント組立・送信部7は、マウスイベント処理部3またはキーボードイベント処理部4からの処理を受けて、クリック動作、ダブルクリック動作、あるいはドラッグアンドドロップ動作を実現するイベントを組み立て、Windows等のオペレーティングシステムに発行する。たとえば、左クリック動作を実現するために、現在マウス位置(キーボードイベント処理部4からの処理の場合)あるいは一つ前のマウス位置(マウスイベント処理部3からの処理の場合)で左クリックボタンを押すイベントおよび左クリックボタンを離すイベントを発行する。ここで発行するイベントは、たとえばWindowsの場合、Win32 API(Win32 APIは、Windowsが提供するAPI( Application Programming Interface )であり、特に32ビット環境で提供されるAPIをいう。以下単に「Win32 API」と言う。)により発行できる。なお、その他の動作の実現は方法の説明において詳述する。
【0036】
キーボードイベント転送部8は、キーボードイベント処理部4からの処理を受けて、何ら定義されていないキーが押下された時のキーボードイベントをそのままオペレーティングシステムに送信する。
【0037】
マウスカーソル処理部9は、マウスカーソル11を現在のマウス位置に表示する。マウスカーソル11は、現在のマウス位置を示すウィンドウであり、たとえば矢印の型に切り抜いたウィンドウである。マウスカーソル11は、TOPMOST属性を持つように生成する。マウスカーソル11はマウスカーソル処理部9で生成されても良く、また、マウス カーソルを生成するためのプログラムコンポーネントを備えても良い。図6に示す矢印52は、マウスカーソル11の一例を示したものである。マウスカーソル11の形状は矢印である必要は無く、十字、丸印(点)その他の形状であってもよい。また、マウスカーソル11は現在のマウス位置に表示されるが、マウス位置は矢印52の先端部分にすることができる。マウスカーソル11は、それがマウス位置に判りやすく表示できる限り、その形状、表示位置等に関するあらゆる変更が可能である。
【0038】
また、マウスカーソル処理部9は、マウスイベント処理部3またはキーボードイベント処理部4からの処理を受けて、マウス位置を更新する処理を行う。たとえば、マウスイベントにおいてそのマウス位置がマウス移動ボタン60a〜60hの領域にある場合、マウスイベント処理部3からの処理を受けて、当該ボタンの定義する移動方向に、一つ前のマウス位置を現在指定されているマウス移動間隔で移動し、現在マウス位置とする。すなわちこの場合、一つ前のマウス位置から、選択された移動方向に所定の間隔だけ移動させた位置に現在マウス位置を更新する。その他のマウス移動処理は、後に方法の説明において詳述する。
【0039】
また、マウスカーソル処理部9は、マウスイベント処理部3またはキーボードイベント処理部4からの処理を受けて、マウス位置の移動速度を変更する。マウスイベント処理部3からのマウス移動速度の変更処理を受けた場合は、マウス位置を一つ前のマウス位置に更新し、現在指定されているマウス移動間隔を次のマウス移動間隔に更新する。マウス移動間隔はたとえば3段階とし、マウス移動間隔の更新を受ける毎にサイクリックに変更する。なお、マウス移動間隔は3段階である必要は無く、2段階以上の任意の段階を採用できる。キーボードイベント処理部4からマウス移動速度の変更処理を受けた場合、マウス移動間隔をサイクリックに変更する処理は同様である。しかし、キーボードイベントによる場合、現在マウス位置を更新する必要はない。
【0040】
起動部12は、前記した各機能を実現する実行モジュールを起動する。また、実行モジュールが起動されることによってキーボードに図2に示したような機能が割り当てられる。すなわち、この実行モジュールを起動することにより、本発明を実現できる入力モードに切り替わる。実行モジュールの起動方法には、たとえば特定キーの長押し、特定キーの組合せを同時に押下する方法や、特定キーを押しながらシステムを再起動あるいは起動する方法等が例示できる。あるいは、起動部12はオペレーティングシステムの起動時に自動的に起動されても良く、デスクトップ、タスクバーまたはスタートメニュー等に登録し、キーボード等によって必要な時に起動されても良い。さらに、アプリケーションプログラムによって起動部12が起動されても良い。なお、起動部12によって実行モジュールが起動されていない時には、従来技術で説明した通りにタッチパネル入力が実現され、また、キーボードには本来の機能(たとえば数字入力等)が割り当てられている。
【0041】
図4は、本実施の形態の入力方法の一例を示したフローチャートである。本実施の形態の入力方法は、まず、前記した起動部12によって実行モジュールを起動することにより開始する(ステップ20)。
【0042】
実行モジュールが起動すると、マウスイベントおよびキーボードイベントのフック登録が行われる(ステップ21)。これにより、入力部1に入力される全てのマウスイベントおよびキーボードイベントがイベントフック部2に通知されるようになる。
【0043】
次に、マウスカーソル11が作成される(ステップ22)。さらにツールウィンドウ10を使用するかを判断し(ステップ23)、ツールウィンドウ10を使用する場合にはツールウィンドウ10の作成を行う(ステップ24)。ツールウィンドウ10を使用しない場合はステップ24のツールウィンドウ作成をスキップしてステップ25に進む。
【0044】
ステップ25では、イベントフック部2にフックされた入力イベントの処理を行う(ステップ25)。イベント処理の詳細は後に説明する。イベント処理が終了すると本実施の形態の入力方法(実行モジュールの実行)を終了するかを判断し(ステップ26)、終了する場合は実行モジュールの処理を終了して従来技術のとおりの入力状態に戻る(ステップ27)。処理を終了しない場合はステップ25に戻ってイベント入力を待ち、イベントがフックされるとイベント処理(ステップ25)の実行を繰り返す。
【0045】
図5は、図4のイベント処理(ステップ25)の手順の一例を示したフローチャートである。入力部1からの入力イベントがイベントフック部2にフックされるのを受けて処理が開始する(ステップ30)。
【0046】
まず、入力イベントがキーボードイベントであるかを判断する(ステップ31)。キーボードイベントでない場合(ステップ31の判断がNOの場合)、マウスイベント処理部3でマウスイベント処理を行う(ステップ32)。
【0047】
すなわち、入力イベント(マウスイベント)のマウス位置がツールウィンドウ10の表示領域外であるかを判断する(ステップ33)。表示領域外である場合(ステップ33の判断がYESの場合)、マウスイベント消去部5で、クリックイベントを無効にする(ステップ34)。これにより、当該入力イベントによって、マウス移動の後に続く左クリックイベント等のクリックイベントが発行されなくなる。
【0048】
次に、マウスカーソル処理部9で、マウスカーソルの移動処理を行う(ステップ35)。すなわち、当該入力イベント(マウスイベント)のマウス位置にマウスカーソル11(矢印52)を表示する。その後、イベント処理を終了する(ステップ47)。図6は、タッチパネルの表示状態の一例を示した画面図である。タッチパネルのデスクトップ50に、ウィンドウ画面51が表示され、マウスカーソルである矢印52が表示されている。また、図3のツールウィンドウ10が表示されている。本ステップが終了した段階で矢印52が表示され、以後実行プログラムが終了するまで矢印52は表示され続ける。図3は、入力イベント(クリックイベント)として矢印52の先端部分に触れた直後の表示状態を示している。
【0049】
ステップ33でマウス位置がツールウィンドウ10の領域内であると判断された場合(ステップ33の判断がNOのとき)、さらにマウス位置がツールボタン(マウス移動ボタン60a〜60h、速度変更ボタン61、左クリックボタン62、左ダブルクリックボタン63、左ドラッグアンドドロップボタン64、右クリックボタン65、右ドラッグアンドドロップボタン66)の領域外であるかを判断する(ステップ36)。ツールボタンの領域外である場合(ステップ33の判断がYESのとき)、ツールウィンドウ処理部6でツールウィンドウ10を移動する処理を行う(ステップ37)。すなわち、当該入力イベント(クリックイベント)はツールウィンドウ10を移動する意志であるとみなし、ツールウィンドウ移動状態に入ってイベント処理を終了し(ステップ47)、次回のイベント入力を待ってそのマウス位置にツールウィンドウ10を表示する処理を行う。このような処理を行うことにより、ツールウィンドウ10が邪魔になる場合はそれを移動することが可能になる。
【0050】
ステップ36の判断がNOの場合(マウス位置が何れかのツールボタンの領域内である場合)、さらに、マウス位置がマウス移動ボタン60a〜60hあるいは速度変更ボタン61の領域内にあるかを判断する(ステップ38)。この判断がYESの場合(マウス位置がマウス移動ボタン60a〜60h、速度変更ボタン61の何れかのボタン領域内にあるとき)、マウスカーソル処理部9でマウスカーソル11の移動に関する処理を行う(ステップ39)。その後、イベント処理を終了する(ステップ47)。
【0051】
すなわち、マウス位置がマウス移動ボタン60a〜60hの何れかの領域内にあるとき(つまり図6において白抜き矢印で示しているタッチパネル上のマウス移動ボタンに触れることにより)、一つ前のマウス位置(すなわち、現在マウスカーソルが表示されている位置)から当該マウス移動ボタンの定義する方向に所定の距離だけ離れた位置を現在マウス位置として更新する。そして現在マウス位置にマウスカーソル11を表示する。その結果、マウス移動ボタンに示す方向にマウスカーソル11が所定の間隔だけ移動する。所定の間隔は、現在定義されているマウス移動速度に対応する間隔である。マウス移動速度は、速度変更ボタン61に触れることにより変更できる。なお、現在定義されている移動速度を、たとえば「High」、「Medium」、「Low」等の文字として速度変更ボタン61に表示しても良い。あるいは速度変更ボタン61の色を移動速度に応じて変更してもよい。速度変更ボタン61に触れられた場合(すなわちマウス位置が速度変更ボタン61の領域内にあるとき)、マウス移動速度を変更したのち、現在マウス位置を一つ前のマウス位置(すなわち、現在マウスカーソルが表示されている位置)に更新する。
【0052】
ステップ38の判断がNOの場合(マウス位置が左クリックボタン62、左ダブルクリックボタン63、左ドラッグアンドドロップボタン64、右クリックボタン65、右ドラッグアンドドロップボタン66の何れかの領域にある場合)、マウスイベント組立・送信部7で、マウスイベントの発行処理を行う(ステップ40)。その後イベント処理を終了する(ステップ47)。
【0053】
すなわち、マウス位置が左クリックボタン62の領域内にあるとき、一つ前のマウス位置(すなわち、現在マウスカーソルが表示されている位置)で左クリックボタンを押すイベントおよび左クリックボタンを離すイベントを組み立て、発行する。イベントの発行は、たとえばWindowsの場合Win32 APIにより発行する。
【0054】
マウス位置が左ダブルクリックボタン63の領域内にあるとき、一つ前のマウス位置で左クリックボタンを押すイベントおよび左クリックボタンを離すイベントを、たとえばWindowsのWin32 APIにより2回発行する。
【0055】
マウス位置が左ドラッグアンドドロップボタン64の領域内にあるとき、一つ前のマウス位置で左クリックボタンを押すイベントを、たとえばWindowsのWin32 APIにより発行し、その後、次のマウスイベントにおいて、そのマウスイベントにおけるマウス位置で左クリックボタンを離すイベントをたとえばWindowsのWin32 APIにより発行する。このようにして左クリックボタンのドラッグアンドドロップが実現できる。
【0056】
マウス位置が右クリックボタン65の領域内にあるとき、一つ前のマウス位置で右クリックボタンを押すイベントおよび右クリックボタンを離すイベントを、たとえばWindowsのWin32 APIにより発行する。
【0057】
マウス位置が右ドラッグアンドドロップボタン66の領域内にあるとき、一つ前のマウス位置で右クリックボタンを押すイベントを、たとえばWindowsのWin32 APIにより発行し、その後、次のマウスイベントにおいて、そのマウスイベントにおけるマウス位置で右クリックボタンを離すイベントをたとえばWindowsのWin32 APIにより発行する。このようにして右クリックボタンのドラッグアンドドロップが実現できる。
【0058】
なお、ドラッグアンドドロップ動作の実現においては、前記した手順のほかに、以下のような手順を採用できる。すなわち、一つ前のマウス位置で左または右クリックボタンを押すイベントをたとえばWindowsのWin32 APIにより発行したのち、ドラッグモードに入る。その後任意の操作を繰り返し、再度マウス位置が左または右ドラッグアンドドロップボタン64,66の領域内にあると判断された時、一つ前のマウス位置で左または右クリックボタンを離すイベントをたとえばWindowsのWin32 APIにより発行する。このような手順を採用すれば、オブジェクトをドラッグした後、ツールウィンドウ10内のマウス移動ボタン60a〜60hを利用して任意の位置にオブジェクトを移動し、再度ドラッグアンドドロップボタンに触れることによってオブジェクトをその位置にドロップできる。
【0059】
以上マウスイベントの場合のイベント処理を説明した。次にキーボードイベントの場合のイベント処理を説明する。ステップ31の判断がYESの場合(キーボードイベントである場合)、キーボードイベント処理部4でキーボードイベント処理を行う(ステップ41)。
【0060】
すなわち、押下されたキーが定義されたキーでないかを判断する(ステップ42)。この判断がYESのとき(未定義キーが押下された時)、キーボードイベント転送部8によりイベント転送の処理を行う(ステップ43)。その後イベント処理を終了する(ステップ47)。すなわち、本入力方法において未定義のキーである場合、本来定義された処理を行うため、イベントをそのままオペレーティングシステムに送信する。
【0061】
ステップ42の判断がNOの場合(定義されたキーが押下された時)、さらにマウス移動キー70a〜70hあるいは速度変更キー71が押下されたかを判断する(ステップ44)。この判断がYESのとき、マウスカーソル処理部9でマウスカーソル11の移動に関する処理を行う(ステップ45)。その後、イベント処理を終了する(ステップ47)。
【0062】
すなわち、何れかのマウス移動キー70a〜70hが押下されたとき、現在のマウス位置から当該マウス移動キーの定義する方向に現在定義されている移動速度に対応する隔だけ離れた位置を現在マウス位置として更新する。そして現在マウス位置にマウスカーソル11を表示する。すなわち、マウス移動キーを押すことによりその方向にマウスカーソル11が移動する。マウス移動速度およびその変更方法は前記したと同様である。マウス移動速度は、速度変更キー71を押すことにより変更できる。
【0063】
ステップ44の判断がNOの場合(左クリックキー72、左ダブルクリックキー73、左ドラッグアンドドロップキー74、右クリックキー75、右ドラッグアンドドロップキー76の何れかのキーが押下されたとき)、マウスイベント組立・送信部7で、マウスイベントの発行処理を行う(ステップ46)。その後イベント処理を終了する(ステップ47)。
【0064】
すなわち、左クリックキー72が押下されたとき、現在マウス位置で左クリックボタンを押すイベントおよび左クリックボタンを離すイベントを発行する。イベントの発行は、たとえばWindowsの場合Win32 APIにより発行する。
【0065】
左ダブルクリックキー73が押下されたとき、現在マウス位置で左クリックボタンを押すイベントおよび左クリックボタンを離すイベントを、たとえばWindowsのWin32 APIにより2回発行する。
【0066】
左ドラッグアンドドロップキー74が押下されたとき、現在マウス位置で左クリックボタンを押すイベントをたとえばWindowsのWin32 APIにより発行し、その後、次のマウスイベントにおいて、そのマウスイベントにおけるマウス位置で左クリックボタンを離すイベントをたとえばWindowsのWin32 APIにより発行する。このようにして左クリックボタンのドラッグアンドドロップが実現できる。
【0067】
右クリックキー75が押下されたとき、現在マウス位置で右クリックボタンを押すイベントおよび右クリックボタンを離すイベントを、たとえばWindowsのWin32 APIにより発行する。
【0068】
右ドラッグアンドドロップキー76が押下されたとき、現在マウス位置で右クリックボタンを押すイベントをたとえばWindowsのWin32 APIにより発行し、その後、次のマウスイベントにおいて、そのマウスイベントにおけるマウス位置で右クリックボタンを離すイベントをたとえばWindowsのWin32 APIにより発行する。このようにして右クリックボタンのドラッグアンドドロップが実現できる。
【0069】
なお、ドラッグアンドドロップ動作の実現においては、前記した手順のほかに、以下のような手順を採用できることは前記マウスイベントの場合と同様である。すなわち、左または右ドラッグアンドドロップキー74,76が押下されたとき、現在マウス位置で左または右クリックボタンを押すイベントをたとえばWindowsのWin32 APIにより発行し、ドラッグモードに入る。その後任意の操作を繰り返し、再度左または右ドラッグアンドドロップキー74,76が押下されたとき、現在のマウス位置で左または右クリックボタンを離すイベントをたとえばWindowsのWin32 APIにより発行する。
【0070】
以上説明したような入力システムあるいは入力方法によれば、コスト削減等の理由によりマウス等ポインティングデバイスが備えられていないタッチパネル入力システムにおいても微細なマウス位置の位置決めが行える。このため本番環境でのプログラム開発効率あるいはメンテナンス効率を高くできる。
【0071】
また、本実施の形態の入力システム、入力方法によれば、マウスカーソル11により現在マウス位置が表示されるので、本番環境ではマウスカーソル表示を非表示に設定しているシステムにおいても本番環境でアプリケーション開発あるいはメンテナンスを行うことができる。
【0072】
また、本実施の形態の入力システム、入力方法によれば、左クリックイベントだけでなく、ダブルクリック、ドラッグアンドドロップ等他のクリックイベントを発行できる。
【0073】
また、本実施の形態の入力システム、入力方法では、入力部1からの入力イベントをフックし、必要に応じてクリックイベントを無効化しているので、タッチパネルのデバイスドライバに依存しない。よって、複数メーカや異なる種類のタッチパネルを用いた入力システムに適用が可能となる。
【0074】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更することが可能である。
【0075】
たとえば、本発明は、前記実施の形態で説明したツールウィンドウ10と各種機能を定義したキーボードの両方を必須の構成要件とするものではない。ツールウィンドウ10または図2に示すキーボードの何れか一方を備えていれば良い。
【0076】
また、ツールウィンドウ10あるいは図2のキーボードの各ボタンあるいはキーに割り当てた機能は、あくまでも例示である。例示した全ての機能を備える必要は無く、また、他の機能を付加しても良い。
【0077】
【発明の効果】
本願で開示される発明のうち、代表的なものによって得られる効果は、以下の通りである。すなわち、タッチパネルに対応した入力システムにおいて本番処理に用いられるアプリケーションソフトウェアに付加機能を加えることなく現在のマウス位置を表示することができる。また、マウスのように詳細な位置特定が可能なポインティングデバイスを備えないタッチパネル入力システムにおいて、詳細なマウス位置の位置決めが可能になる。また、マウス左クリックイベントだけでなく、その他のクリックイベントも発行できるタッチパネルに対応した入力手段を提供できる。さらに、タッチパネルのデバイスドライバに依存せず、複数のメーカあるいは種類のタッチパネルに汎用的に適用できる入力手段を提供できる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態であるタッチパネルに対応した入力システムの一例をその機能について示したブロック図である。
【図2】 テンキーボードにマウス移動等の機能を割り当てた場合のキー配列を例示する図である。
【図3】 ツールウィンドウ10の一例を示した画面図である。
【図4】 本発明の一実施の形態である入力方法の一例を示したフローチャートである。
【図5】 図4のイベント処理(ステップ25)の手順の一例を示したフローチャートである。
【図6】 タッチパネルの表示状態の一例を示した画面図である。
【符号の説明】
1...入力部、2...イベントフック部、3...マウスイベント処理部、4...キーボードイベント処理部、5...マウスイベント消去部、6...ツールウィンドウ処理部、7...マウスイベント組立・送信部、8...キーボードイベント転送部、9...マウスカーソル処理部、10...ツールウィンドウ、11...マウスカーソル、12...起動部、50...デスクトップ、51...ウィンドウ画面、52...矢印、60a〜60h...マウス移動ボタン、61...速度変更ボタン、62...左クリックボタン、63...左ダブルクリックボタン、64...左ドラッグアンドドロップボタン、65...右クリックボタン、66...右ドラッグアンドドロップボタン、70a〜70h...マウス移動キー、71...速度変更キー、72...左クリックキー、73...左ダブルクリックキー、74...左ドラッグアンドドロップキー、75...右クリックキー、76...右ドラッグアンドドロップキー。

Claims (14)

  1. タッチパネルへの接触によるマウスイベントを入力イベントとして検知し、通常使用の入力モードにおいて前記マウスイベントを検知した場合には、前記タッチパネルの接触位置にマウス位置を移動するマウス移動イベントを発行し、さらに続けてマウス左クリックイベントを発行する情報処理システムの入力方法であって、
    実行モジュールの起動により前記通常使用の入力モードとは相違する他の入力モードに移行するステップと、
    前記他の入力モードへの移行に応じてマウスカーソルを生成するステップと、
    前記入力イベントをデバイスドライバから受取り、フックするステップと、
    前記入力イベントが前記マウスイベントである場合に、前記マウス移動イベントに続く前記マウス左クリックイベントを無効化するステップと、
    前記入力イベントにおける前記タッチパネルの前記接触位置に前記マウスカーソルを表示するステップと、
    を含むタッチパネルに対応した入力方法。
  2. マウスイベントを制御するためのツールウィンドウを生成し、前記タッチパネルに前記ツールウィンドウを表示するステップをさらに有し、
    前記フックした入力イベントがマウスイベントである場合に、前記マウス位置が前記ツールウィンドウの領域内にあるかを判断する第1判断ステップと、
    前記第1判断ステップの判断で前記マウス位置が前記ツールウィンドウの領域内にないと判断された場合に、前記マウスイベントの無効化ステップおよび前記マウスカーソルの表示ステップを実行するステップと、
    前記第1判断ステップの判断で前記マウス位置が前記ツールウィンドウの領域内にあると判断された場合に、前記マウス位置が、前記ツールウィンドウ内のマウス移動ボタンの領域内にあるかを判断する第2判断ステップと、
    前記第2判断ステップの判断で前記マウス位置が前記ツールウィンドウ内のマウス移動ボタンの領域内にあると判断された場合に、前記マウス移動ボタンの割り当てる方向に前記マウスカーソルを移動して表示するステップと、
    をさらに含む請求項1記載の入力方法。
  3. 前記第2判断ステップの判断で前記マウス位置が前記ツールウィンドウ内のマウス移動ボタンの領域内にないと判断された場合に、前記マウス位置が、前記ツールウィンドウ内の前記マウスカーソルの移動速度を変更する速度変更ボタンの領域内にあるかを判断する第3判断ステップと、
    前記第3判断ステップの判断で前記マウス位置が前記ツールウィンドウ内の前記マウスカーソルの移動速度を変更する速度変更ボタンの領域内にあると判断された場合に、前記マウスカーソル移動速度の設定を変更するステップと、
    をさらに含む請求項2記載の入力方法。
  4. 前記第2判断ステップの判断で前記マウス位置が前記ツールウィンドウ内のマウス移動ボタンの領域内にないと判断された場合に、前記マウス位置が、前記ツールウィンドウ内のマウスイベント発行ボタンの領域内にあるかを判断する第4判断ステップと、
    前記第4判断ステップの判断で前記マウス位置が前記ツールウィンドウ内のマウスイベント発行ボタンの領域内にあると判断された場合に、前記マウスイベント発行ボタンに割り当てられているマウスイベントを発行するステップと、
    をさらに含む請求項2記載の入力方法。
  5. 前記第2判断ステップの判断で前記マウス位置が前記ツールウィンドウ内のマウス移動ボタンの領域内にないと判断された場合であって、かつ、前記マウス位置が前記ツールウィンドウ内の各ボタンの領域内にない場合に、次回のマウスイベントにおけるマウス位置に前記ツールウィンドウを移動して表示するステップ、
    をさらに含む請求項2記載の入力方法。
  6. 前記フックした入力イベントがキーボードイベントである場合に、さらに、前記キーボードイベントにおいて押下されたキーが、マウス移動キーであるかを判断する第5判断ステップと、
    前記第5判断ステップの判断で前記キーボードイベントにおいて押下されたキーがマウス移動キーであると判断された場合に、前記マウス移動キーに割り当てられた方向に前記マウスカーソルを移動して表示するステップと、
    をさらに含む請求項1記載の入力方法。
  7. 前記フックした入力イベントがキーボードイベントである場合に、さらに、前記キーボードイベントにおいて押下されたキーが、前記マウスカーソルの移動速度を変更する速度変更キーであるかを判断する第6判断ステップと、
    前記第6判断ステップの判断で前記キーボードイベントにおいて押下されたキーが前記マウスカーソルの移動速度を変更する速度変更キーであると判断された場合に、前記マウスカーソル移動速度の設定を変更するステップと、
    をさらに含む請求項1記載の入力方法。
  8. 前記フックした入力イベントがキーボードイベントである場合に、さらに、前記キーボードイベントにおいて押下されたキーが、マウスイベント発行キーであるかを判断する第7判断ステップと、
    前記第7判断ステップの判断で前記キーボードイベントにおいて押下されたキーがマウスイベント発行キーであると判断された場合に、前記マウスイベント発行キーに割り当てられているマウスイベントを発行するステップと、
    をさらに含む請求項1記載の入力方法。
  9. タッチパネルへの接触によるマウスイベントを入力イベントとして検知し、通常使用の入力モードにおいて前記マウスイベントを検知した場合には、前記タッチパネルの接触位置にマウス位置を移動するマウス移動イベントを発行し、さらに続けてマウス左クリックイベントを発行する情報処理システムにおける入力システムであって、
    実行モジュールの起動により前記通常使用の入力モードとは相違する他の入力モードに移行する手段と、
    前記他の入力モードへの移行に応じてマウスカーソルを生成する手段と、
    前記入力イベントをデバイスドライバから受取り、フックする手段と、
    前記入力イベントが前記マウスイベントである場合に、前記マウス移動イベントに続く前記マウス左クリックイベントを無効化する手段と、
    前記入力イベントにおける前記タッチパネルの前記接触位置に前記マウスカーソルを表示する手段と、
    を含むタッチパネルに対応した入力システム。
  10. マウスイベントを制御するためのツールウィンドウを生成し、前記タッチパネルに前記ツールウィンドウを表示する手段をさらに有し、
    前記マウス位置が前記ツールウィンドウの領域内にある場合に、さらに、前記マウス位置が、前記ツールウィンドウ内のマウス移動ボタンの領域内にあるか、前記マウスカーソルの移動速度を変更する速度変更ボタンの領域内にあるか、マウスイベント発行ボタンの領域内にあるか、または、前記各ボタンの何れの領域にも無いか、の何れかの判断を実行する手段と、
    前記マウス位置が前記マウス移動ボタンの領域内にある時、前記マウス移動ボタンの割り当てる方向に前記マウスカーソルを移動して表示し、前記マウス位置が前記速度変更ボタンの領域内にある時、前記マウスカーソル移動速度の設定を変更し、前記マウス位置が前記マウスイベント発行ボタンの領域内にある時、前記マウスイベント発行ボタンに割り当てられているマウスイベントを発行し、または、前記マウス位置が前記各ボタンの何れの領域にも無い時、次回のマウスイベントにおけるマウス位置に前記ツールウィンドウを移動して表示する、何れかの処理を実行する手段と、
    をさらに有する請求項9記載の入力システム。
  11. 前記フック手段によりフックされた入力イベントが、キーボードイベントである場合に、さらに、前記キーボードイベントにおいて押下されたキーが、マウス移動キーであるか、マウス移動の速度を変更する速度変更キーであるか、または、マウスイベント発行キーであるか、の何れかの判断を実行する手段と、
    前記押下されたキーが前記マウス移動キーである時、前記マウス移動キーに割り当てられた方向に前記マウスカーソルを移動し、前記速度変更キーである時、前記マウスカーソル移動速度を変更し、または、前記マウスイベント発行キーである時、前記マウスイベント発行キーに割り当てられているマウスイベントを発行する、何れかの処理を実行する手段と、
    をさらに有する請求項9記載の入力システム。
  12. タッチパネルへの接触によるマウスイベントを入力イベントとして検知し、通常使用の入力モードにおいて前記マウスイベントを検知した場合には、前記タッチパネルの接触位置にマウス位置を移動するマウス移動イベントを発行し、さらに続けてマウス左クリックイベントを発行するコンピュータシステムにおいて、コンピュータに、
    実行モジュールの起動により前記通常使用の入力モードとは相違する他の入力モードに移行する手順と、
    前記他の入力モードへの移行に応じてマウスカーソルを生成する手順と、
    前記入力イベントをデバイスドライバから受取り、フックする手順と、
    前記入力イベントが前記マウスイベントである場合に、前記マウス移動イベントに続く前記マウス左クリックイベントを無効化する手順と、
    前記入力イベントにおける前記タッチパネルの前記接触位置に前記マウスカーソルを表示する手順と、
    を実行させるプログラム。
  13. マウスイベントを制御するためのツールウィンドウを生成し、前記タッチパネルに前記ツールウィンドウを表示する手順と、
    前記フックした入力イベントがマウスイベントである場合に、前記マウス位置が、前記ツールウィンドウの領域内にあるかを判断する第1判断手順と、
    前記第1判断手順の判断で前記マウス位置が前記ツールウィンドウの領域内にないと判断された場合に、前記マウスイベントの無効化手順および前記マウスカーソルの表示手順を実行する手順と、
    前記第1判断手順の判断で前記マウス位置が前記ツールウィンドウの領域内にあると判断された場合に、前記マウス位置が、前記ツールウィンドウ内のマウス移動ボタンの領域内にあるかを判断する第2判断手順と、
    前記第2判断手順の判断で前記マウス位置が前記ツールウィンドウ内のマウス移動ボタンの領域内にあると判断された場合に、前記マウス移動ボタンの割り当てる方向に前記マウスカーソルを移動して表示する手順と、
    前記第2判断手順の判断で前記マウス位置が前記ツールウィンドウ内のマウス移動ボタンの領域内にないと判断された場合に、前記マウス位置が、前記ツールウィンドウ内のマウスイベント発行ボタンの領域内にあるかを判断する第3判断手順と、
    前記第3判断手順の判断で前記マウス位置が前記ツールウィンドウ内のマウスイベント発行ボタンの領域内にあると判断された場合に、前記マウスイベント発行ボタンに割り当てられているマウスイベントを発行する手順と、
    をさらにコンピュータに実行させる請求項12記載のプログラム。
  14. 前記フックした入力イベントがキーボードイベントである場合に、さらに、前記キーボードイベントにおいて押下されたキーが、マウス移動キーであるかを判断する第4判断手順と、
    前記第4判断手順の判断で前記キーボードイベントにおいて押下されたキーがマウス移動キーであると判断された場合に、前記マウス移動キーに割り当てられた方向に前記マウスカーソルを移動して表示する手順と、
    前記第4判断手順の判断で前記キーボードイベントにおいて押下されたキーがマウス移動キーでないと判断された場合に、さらに、前記キーボードイベントにおいて押下されたキーが、マウスイベント発行キーであるかを判断する第5判断手順と、
    前記第5判断手順の判断で前記キーボードイベントにおいて押下されたキーがマウスイベント発行キーであると判断された場合に、前記マウスイベント発行キーに割り当てられているマウスイベントを発行する手順と、
    をさらにコンピュータに実行させる請求項12記載のプログラム。
JP2001281172A 2001-09-17 2001-09-17 タッチパネルに対応した入力方法、入力システムおよびプログラム Expired - Fee Related JP3872322B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001281172A JP3872322B2 (ja) 2001-09-17 2001-09-17 タッチパネルに対応した入力方法、入力システムおよびプログラム
US10/244,656 US6850220B2 (en) 2001-09-17 2002-09-16 Input method, input system, and program for touch panel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001281172A JP3872322B2 (ja) 2001-09-17 2001-09-17 タッチパネルに対応した入力方法、入力システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2003108310A JP2003108310A (ja) 2003-04-11
JP3872322B2 true JP3872322B2 (ja) 2007-01-24

Family

ID=19105047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001281172A Expired - Fee Related JP3872322B2 (ja) 2001-09-17 2001-09-17 タッチパネルに対応した入力方法、入力システムおよびプログラム

Country Status (2)

Country Link
US (1) US6850220B2 (ja)
JP (1) JP3872322B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US8416266B2 (en) * 2001-05-03 2013-04-09 Noregin Assetts N.V., L.L.C. Interacting with detail-in-context presentations
US7355586B2 (en) * 2003-03-28 2008-04-08 General Electric Co. Method for associating multiple functionalities with mouse buttons
JP4767499B2 (ja) * 2003-06-23 2011-09-07 シャープ株式会社 情報通信端末および端末制御プログラム
JP4319077B2 (ja) * 2004-03-25 2009-08-26 富士通株式会社 図形オブジェクト指定装置、図形オブジェクト指定方法、図形オブジェクト指定プログラム
US7721197B2 (en) * 2004-08-12 2010-05-18 Microsoft Corporation System and method of displaying content on small screen computing devices
US8643595B2 (en) * 2004-10-25 2014-02-04 Sipix Imaging, Inc. Electrophoretic display driving approaches
US8487910B2 (en) * 2005-05-02 2013-07-16 Smart Technologies Ulc Large scale touch system and methods for interacting with same
KR101307716B1 (ko) * 2005-05-04 2013-09-11 힐크레스트 래보래토리스, 인크. 사용자 인터페이스에서의 스크롤링 및 포인팅을 위한 방법및 시스템
JP4786257B2 (ja) * 2005-08-31 2011-10-05 ニスカ株式会社 画像編集用グラフィカルユーザインターフェース、画像編集用プログラム及び画像編集方法、並びに、カード発行システム
JP4922625B2 (ja) * 2006-02-23 2012-04-25 京セラミタ株式会社 タッチパネル入力による電子機器装置、タッチパネルの入力操作を行うプログラム
KR100686165B1 (ko) * 2006-04-18 2007-02-26 엘지전자 주식회사 오에스디 기능 아이콘을 갖는 휴대용 단말기 및 이를이용한 오에스디 기능 아이콘의 디스플레이 방법
US7856605B2 (en) * 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
US8570278B2 (en) 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
JP4711992B2 (ja) * 2007-03-30 2011-06-29 京セラ株式会社 携帯情報機器
US8610671B2 (en) 2007-12-27 2013-12-17 Apple Inc. Insertion marker placement on touch sensitive display
US20090193357A1 (en) * 2008-01-26 2009-07-30 Panico Michael W Method and System to Prevent Unintended Graphical Cursor Input
US8201109B2 (en) 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8650507B2 (en) * 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
KR20100083641A (ko) * 2009-01-14 2010-07-22 삼성전자주식회사 단말장치, 방송수신장치 및 그 제어 방법
JP5236536B2 (ja) * 2009-03-09 2013-07-17 シャープ株式会社 画像表示/像検知装置、制御方法、制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US20100235734A1 (en) * 2009-03-16 2010-09-16 Bas Ording Methods and Graphical User Interfaces for Editing on a Multifunction Device with a Touch Screen Display
US8355007B2 (en) * 2009-05-11 2013-01-15 Adobe Systems Incorporated Methods for use with multi-touch displays for determining when a touch is processed as a mouse event
WO2011094006A2 (en) * 2010-01-27 2011-08-04 Klickfu, Inc. Providing sensory information based on intercepted events
JP5379250B2 (ja) * 2011-02-10 2013-12-25 株式会社ソニー・コンピュータエンタテインメント 入力装置、情報処理装置および入力値取得方法
US9092130B2 (en) 2011-05-31 2015-07-28 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
KR101961786B1 (ko) * 2012-07-12 2019-03-25 삼성전자 주식회사 터치스크린을 포함하는 단말을 이용한 마우스 기능의 제공 방법 및 장치
US11669243B2 (en) 2018-06-03 2023-06-06 Apple Inc. Systems and methods for activating and using a trackpad at an electronic device with a touch-sensitive display and no force sensors
US10776006B2 (en) 2018-06-03 2020-09-15 Apple Inc. Systems and methods for activating and using a trackpad at an electronic device with a touch-sensitive display and no force sensors

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5808604A (en) * 1994-03-10 1998-09-15 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
US5835079A (en) * 1996-06-13 1998-11-10 International Business Machines Corporation Virtual pointing device for touchscreens
US6278443B1 (en) * 1998-04-30 2001-08-21 International Business Machines Corporation Touch screen with random finger placement and rolling on screen to control the movement of information on-screen
US20020084991A1 (en) * 2001-01-04 2002-07-04 Harrison Edward R. Simulating mouse events with touch screen displays

Also Published As

Publication number Publication date
JP2003108310A (ja) 2003-04-11
US20030052866A1 (en) 2003-03-20
US6850220B2 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
JP3872322B2 (ja) タッチパネルに対応した入力方法、入力システムおよびプログラム
KR100504476B1 (ko) 아이콘 제어를 위한 방법 및 디스플레이 시스템
US8717323B2 (en) Determining when a touch is processed as a mouse event
US8140971B2 (en) Dynamic and intelligent hover assistance
USRE38883E1 (en) Method and system for the direct manipulation of information, including non-default drag and drop operation
US6331840B1 (en) Object-drag continuity between discontinuous touch screens of a single virtual desktop
US6903730B2 (en) In-air gestures for electromagnetic coordinate digitizers
US6930672B1 (en) Input processing method and input control apparatus
KR20000057706A (ko) 오조작 방지 방법 및 장치, 오조작 방지를 위한소프트웨어 프로덕트를 저장한 기억 매체
JPH0320812A (ja) コンピュータ・システム
JPH1165769A (ja) タッチパネル表示制御方法及びそれを記録した記録媒体
EP1025489B1 (en) System to associate control with applications using drag and drop interface
TW476903B (en) Method, system, and program for processing data from an input device
JP3578389B2 (ja) 表示制御方法及び装置、表示制御のためのソフトウエア・プロダクトを格納した記憶媒体
JPH11126135A (ja) 入力装置
JP4213633B2 (ja) タッチパネル型情報システムおよびプログラム
JP2001344051A (ja) 情報処理装置及びコンピュータ可読媒体
JP4904239B2 (ja) 入力処理方法及び入力制御装置
JP7277423B2 (ja) アプリケーション実行装置及びその制御方法、並びにプログラム
JP3943383B2 (ja) ウィンドウ・システムを備えたコンピュータ・システム、ウィンドウを操作をするための方法、コンピュータ・プログラム。
JP7477773B2 (ja) 情報処理装置、制御方法、プログラム
JP5211111B2 (ja) 情報処理装置および情報処理プログラム
KR100692771B1 (ko) 계정계 프로그램의 외부 프로그램 관리방법
JP3480017B2 (ja) ポインティングデバイス制御装置
JPH1195928A (ja) ペン入力装置およびペン入力装置のポインティング処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060301

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060601

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: 20061010

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061019

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3872322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20061027

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091027

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131027

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees