説明

タッチパネル装置およびそのタッチ検出方法

【課題】マトリクス型タッチパネルにおいて、3個以上のタッチ箇所をより確実且つ簡素な構成で確定する。
【解決手段】垂直駆動検出部3から水平方向に配置された全透明電極に駆動電圧を印加して、それに交差する垂直方向に配置された透明電極のうち、タッチ箇所の透明電極に現れる電圧の検出パターンの検出部分(シャドー)をメモリ51のシャドー記憶領域511に記憶する。また、水平駆動検出部4から垂直方向の全透明電極に駆動電圧を印加して、水平方向の透明電極のうち、タッチ箇所の透明電極に現れる電圧の検出パターンの検出部分(シャドー)をシャドー記憶領域511に記憶する。駆動検出制御部524により、記憶された両検出パターンの各検出部分を個別に駆動パターンとして用いて駆動および検出を繰り返していくことにより、各タッチ箇所を確定していく。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マトリクス型タッチパネルにおける複数のタッチ箇所を検出するタッチパネル装置およびそのタッチ検出方法に関するものである。
【背景技術】
【0002】
マトリクス型のタッチパネルは、複数点の同時のタッチ操作を検出できることから、複数点でのタッチ入力により規定されるコマンドの入力などに好適に利用できる。このようなマトリクス型タッチパネルは、互いに交差する2軸の方向に並ぶ複数の透明電極を有しており、一方の方向の各透明電極に駆動部から駆動電圧を印加して、他方の方向の各透明電極に現れる出力電圧を検出部で検出することにより、タッチ入力の座標を特定する。
【0003】
マトリクス型タッチパネルにおけるタッチ入力位置の特定については、例えば、特許文献1(実施形態2)に開示されている方法がある。この方法では、まず、Y軸方向の全電極に駆動電圧を一斉に印加し、X軸方向の電極における各電圧を検出することで、入力座標のX軸成分を特定する。次に、特定した座標位置のX軸方向の電極に駆動電圧を印加して、Y軸方向の電極における各電圧を検出することで、入力座標のY軸成分を特定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−274538号公報(1997年10月21日公開)
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されているタッチ入力位置の特定方法では、3箇所以上で同時にタッチ入力が行われ、これらのタッチ入力によるタッチ箇所の検出パターンが重なっている場合、タッチ入力位置を特定することができない。
【0006】
ここで、図9に示すように、タッチパネル101における電極を垂直駆動検出部102および水平駆動検出部103によって駆動し、タッチ入力された箇所を検出する例について説明する。
【0007】
なお、以降の説明では、タッチパネル101におけるタッチ入力箇所をキー(KEY)と称する。また、垂直駆動検出部102によって検出されたy軸方向の検出パターンにおいて、キーを表す部分のパターンをシャドーと称する。同様に、水平駆動検出部103によって検出されたx軸方向の検出パターンにおいて、キーを表す部分のパターンもシャドーと称する。
【0008】
図9に示す例では、タッチパネル101において、3個のキーKa,Kb,Kcが同時にタッチ入力されている。キーKa,Kcは、垂直方向(y軸方向)に重なっていないが、水平方向(x軸方向)に範囲dx1で一部重なっている。また、キーKb,Kcは、垂直方向に重なっていないが、水平方向に範囲dx2で一部重なっている。一方、キーKa,Kbは、水平方向に重なっていないが、垂直方向に範囲dy1で一部重なっている。
【0009】
タッチパネル101において水平方向に配置される全電極に、垂直駆動検出部102から駆動電圧を印加することにより、垂直方向に配置される電極にタッチの有無に応じたx軸方向の検出パターンが水平駆動検出部103によって検出される。この検出パターンにおいて、キーKa,Kb,Kcのタッチ箇所に対応するシャドーUがx座標x1〜x2の範囲で連続して現れている。このシャドーUからでは、キーKa,Kb,Kcのx軸方向の位置を個別に特定することができない。
【0010】
一方、タッチパネル101において垂直方向に配置される全電極に、水平駆動検出部103から駆動電圧を印加することにより、水平方向に配置される電極にタッチの有無に応じたy軸方向の検出パターンが垂直駆動検出部102によって検出される。この検出パターンにおいて、キーKcのみのタッチ箇所に対応するシャドーVがy座標y1〜y2の範囲で連続して現れ、キーKa,Kbのタッチ箇所に対応するシャドーWがy座標y3〜y4の範囲で現れている。シャドーVにより、キーKcのy軸方向の位置のみを特定することができるが、シャドーWにより、キーKa,Kbのy軸方向の位置を個別に特定することができない。
【0011】
このように、図9に示す例では、垂直駆動検出部102および水平駆動検出部103のいずれから電極を駆動しても、キーKa,Kb,Kcを個別に特定することができない。
【0012】
本発明は、上記の問題点に鑑みてなされたものであり、マトリクス型タッチパネルにおいて、3個以上のタッチ箇所を確実且つ簡素な構成で確定することを目的としている。
【課題を解決するための手段】
【0013】
本発明に係るタッチパネル駆動装置は、水平方向に配置される複数の水平電極と、当該水平電極と交差するように垂直方向に配置される複数の垂直電極とを有するマトリクス型タッチパネルと、各水平電極へ駆動データに基づいて駆動電圧を印加することにより各水平電極を駆動するとともに、各水平電極からの検出電圧の有無を垂直方向に並ぶ垂直検出データとして出力する垂直駆動検出手段と、各垂直電極へ駆動データに基づいて駆動電圧を印加することにより各垂直電極を駆動するとともに、各垂直電極からの検出電圧の有無を水平方向に並ぶ水平検出データとして出力する水平駆動検出手段とを備えたタッチパネル装置であって、上記の課題を解決するために、前記垂直駆動検出手段から得られた前記垂直検出データおよび前記水平駆動検出手段から得られた前記水平検出データに基づいたタッチ部分を表すタッチ範囲を特定するタッチ範囲検出手段と、前記タッチ範囲を前記垂直駆動検出手段および前記水平駆動検出手段について個別に記憶するタッチ範囲記憶手段と、前記タッチ範囲記憶手段に記憶されている1つの前記タッチ範囲を含む前記駆動データを生成する駆動データ生成手段と、前記水平電極および前記垂直電極の駆動を制御する駆動制御手段とを備え、前記駆動制御手段が(a)〜(c)の各工程を実行することを特徴としている。
(a)垂直部分タッチ範囲特定工程
前記水平駆動検出手段から全ての前記垂直電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記垂直駆動検出手段から出力された前記垂直検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として垂直部分タッチ範囲を特定する工程
(b)水平部分タッチ範囲特定工程
前記垂直駆動検出手段から全ての前記水平電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記水平駆動検出手段から出力された前記水平検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として水平部分タッチ範囲を特定する工程
(c)タッチ箇所確定工程
1つの前記垂直部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記垂直駆動検出手段による前記水平電極の駆動で前記水平駆動検出手段から前記タッチ範囲として得られた水平検出タッチ範囲が、前記水平検出データにおける全てがタッチ範囲であることを表す水平全タッチ範囲または1つの前記水平部分タッチ範囲において1つのみ含まれているときに、当該水平検出タッチ範囲と前記垂直部分タッチ範囲とで1つのタッチ箇所を確定する確定処理を行い、前記水平検出タッチ範囲が前記水平全タッチ範囲または1つの前記水平部分タッチ範囲において2つ以上含まれているときに、1つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記垂直部分タッチ範囲の全てについて行う第1タッチ箇所確定工程、または
1つの前記水平部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記水平駆動検出手段による前記垂直電極の駆動で前記垂直駆動検出手段から前記タッチ範囲として得られた垂直検出タッチ範囲が、前記垂直検出データにおける全てがタッチ範囲であることを表す垂直全タッチ範囲または1つの前記垂直部分タッチ範囲において1つのみ含まれているときに、当該垂直検出タッチ範囲と前記水平部分タッチ範囲とで1つのタッチ箇所を確定する確定処理を行い、前記垂直検出タッチ範囲が前記垂直全タッチ範囲または1つの前記垂直部分タッチ範囲において2つ以上含まれているときに、1つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記水平部分タッチ範囲の全てについて行う第2タッチ箇所確定工程のいずれかを行う工程
また、本発明に係るタッチパネル装置のタッチ検出方法は、上記の課題を解決するために、前記垂直駆動検出手段および前記水平駆動検出手段を除く各手段をステップとして備えていることを特徴としている。
【0014】
上記の構成では、マトリクス型タッチパネルにおいて、複数箇所でタッチ入力がされる場合、複数のタッチ箇所が水平方向や垂直方向に重なっている場合、複数のタッチ箇所についてタッチ範囲も同方向に重なるので、そのタッチ範囲からタッチ箇所を確定できない。
【0015】
そこで、まず、駆動制御手段(駆動制御ステップ)の垂直部分タッチ範囲工程により、水平駆動検出手段から全ての垂直電極が駆動されると、マトリクス型タッチパネルにおけるタッチ箇所に応じて垂直駆動検出手段から出力された垂直検出データに基づいてタッチ範囲特定手段(タッチ範囲特定ステップ)によりタッチ範囲として垂直部分タッチ範囲が特定される。この垂直部分タッチ範囲は、タッチ範囲記憶手段に記憶される。
【0016】
また、駆動制御手段(駆動制御ステップ)の水平部分タッチ範囲工程により、垂直駆動検出手段から全ての水平電極が駆動されると、マトリクス型タッチパネルにおけるタッチ箇所に応じて水平駆動検出手段から出力された水平検出データに基づいてタッチ範囲特定手段(例えばタッチ範囲特定ステップ)によりタッチ範囲として水平部分タッチ範囲が特定される。この水平部分タッチ範囲は、タッチ範囲記憶手段に記憶される。
【0017】
駆動制御手段(駆動制御ステップ)のタッチ箇所確定工程では、第1タッチ箇所確定工程または第2タッチ箇所確定工程のいずれかが行われる。
【0018】
第1タッチ箇所確定工程では、まず、1つの垂直部分タッチ範囲を含み、駆動データ生成手段により生成された駆動データに基づいて、垂直駆動検出手段によって水平電極が駆動されると、水平駆動検出手段から水平検出タッチ範囲が得られる。この水平検出タッチ範囲が、水平全タッチ範囲または1つの水平部分タッチ範囲において1つのみ含まれているときに、当該水平検出タッチ範囲と垂直部分タッチ範囲とで1つのタッチ箇所を確定する確定処理が行われる。そして、水平検出タッチ範囲が水平全タッチ範囲または1つの水平部分タッチ範囲において2つ以上含まれているときに、1つのタッチ箇所を確定するまで確定処理が繰り返して行われる。この処理は、垂直部分タッチ範囲の全てについて行われる。
【0019】
一方、第2タッチ箇所確定工程では、まず、1つの水平部分タッチ範囲を含み、駆動データ生成手段により生成された駆動データに基づいて、水平駆動検出手段によって垂直電極が駆動されると、垂直駆動検出手段から垂直検出タッチ範囲が得られる。この垂直検出タッチ範囲が、垂直全タッチ範囲または1つの垂直部分タッチ範囲において1つのみ含まれているときに、当該垂直検出タッチ範囲と水平部分タッチ範囲とで1つのタッチ箇所を確定する確定処理が行われる。そして、垂直検出タッチ範囲が垂直全タッチ範囲または1つの垂直部分タッチ範囲において2つ以上含まれているときに、1つのタッチ箇所を確定するまで確定処理が繰り返して行われる。この処理は、水平部分タッチ範囲の全てについて行われる。
【0020】
このように、確定処理が繰り返して行われることにより、1つのタッチ箇所が確定される。
【発明の効果】
【0021】
本発明に係るタッチパネル装置は、以上のように、タッチ範囲特定手段と、タッチ範囲記憶手段と、駆動データ生成手段と、駆動制御手段とを備えることにより、3個以上のタッチ箇所が垂直方向または水平方向に重なっていても、確実に確定することができるという効果を奏する。また、駆動制御手段(駆動制御ステップ)は、水平検出タッチ範囲と水平全タッチ範囲または1つの水平部分タッチ範囲との比較、および垂直検出タッチ範囲と垂直全タッチ範囲または1つの垂直部分タッチ範囲との比較を行うことから、簡素な構成でタッチ箇所を確定することができるという効果を奏する。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態に係るタッチパネル装置の要部の構成を示す図である。
【図2】上記タッチパネル装置におけるタッチパネルと当該タッチパネル周辺に接続される水平駆動検出部および垂直駆動検出部の構成を示す図である。
【図3】上記水平駆動検出部および上記垂直駆動検出部から出力される出力データ(検出パターン)の一例を示す図である。
【図4】(a)および(b)は上記タッチパネル装置における制御インターフェース部に設けられるメモリの構成を示す図である。
【図5】上記制御インターフェース部によるタッチ箇所を確定するための手順を示すフローチャートである。
【図6】(a)〜(f)は上記制御インターフェース部による3つのタッチ箇所を確定するための手順を示す図である。
【図7】(a)〜(f)は上記制御インターフェース部による7つのタッチ箇所を確定するための手順を示す図である。
【図8】(a)〜(e)は上記制御インターフェース部による7つのタッチ箇所を確定するための図7(f)に続く手順を示す図である。
【図9】従来のタッチパネル装置における3つのタッチ箇所の検出について示す図である。
【発明を実施するための形態】
【0023】
本発明の実施形態を図1〜図8に基づいて説明すると、以下の通りである。
〔1.タッチパネル装置の構成〕
図1に示すように、本実施の形態に係るタッチパネル装置1は、タッチパネル2と、垂直駆動検出部3と、水平駆動検出部4と、制御インターフェース部5とを備えている。垂直駆動検出部3、水平駆動検出部4および制御インターフェース部5は、タッチパネル装置1においてタッチパネル駆動装置を構成している。
〔1−1.タッチパネルの構成〕
図2に示すように、タッチパネル2は、高精細のマトリクス型タッチパネルである。このタッチパネル2は、所定間隔をおいて対向するように貼り合わされた透明基板を有しており、両透明基板の互いに対向する面が電極形成面となる。一方の透明基板における電極形成面には、水平方向に互いに平行に配された複数の透明電極Eh(水平電極)が形成されている。また、他方の透明基板における電極形成面には、垂直方向に互いに平行に配された複数の透明電極Ev(垂直電極)が形成されている。各透明電極Eh,Evは、ITO(インジウム錫酸化物)などからなる抵抗膜で構成される短冊状の電極であり、両透明基板間で互いに交差するように配置されている。
【0024】
透明電極Ehのうち最も上端に配置されるのが第1(電極番号1)の透明電極Ehであり、以降、その下側に、第2,第3,…の透明電極Ehが配置される。透明電極Evのうち最も左端に配置されるのが、第1(電極番号1)の透明電極Ehであり、以降、その右側に、第2,第3,…の透明電極Evが配置される。
〔1−2.タッチパネルの駆動検出動作〕
タッチパネル装置1においては、タッチパネル2がタッチされると、タッチ箇所で透明電極Eh,Evの交差部分が互いに接触する。この状態で、透明電極Ehまたは透明電極Evのいずれか一方に駆動電圧を印加すると、この駆動電圧がタッチ箇所を介して他方側に現れる。したがって、この電圧を検出電圧として取り出すことにより、タッチパネル2上でタッチされた位置が検出される。
【0025】
なお、以降の説明において、透明電極Eh,Evに共通して記述する場合には、透明電極Eとする。
〔1−3.垂直駆動検出部の構成〕
垂直駆動検出部3(垂直駆動検出手段)は透明電極Ehの一端側に接続され、複数のドライバIC6を備えている。また、垂直駆動検出部3において、各ドライバIC6は、タッチパネル2の垂直方向接続端縁に沿った垂直方向に並ぶように実装されている。
〔1−4.水平駆動検出部の構成〕
一方、水平駆動検出部4(水平駆動検出手段)は透明電極Evの一端側に接続され、複数のドライバIC6が設けられている。また、水平駆動検出部4において、各ドライバIC6は、タッチパネル2の水平方向の接続端縁に沿った水平方向に並ぶように実装されている。
〔1−5.ドライバICの構成〕
ドライバIC6は、制御インターフェース部5からドライバIC6へ与えられるシリアルのドライバ入力データDATAINに基づいた駆動電圧をタッチパネル2の複数の透明電極Eh,Evへ出力する。また、ドライバIC6は、透明電極Eh,Evから出力される検出電圧に基づく検出データを制御インターフェース部5に出力する。
【0026】
具体的には、ドライバIC6は、ドライバ入力データDATAINを透明電極Eh,Evの個々に対応するようにパラレルに変換して、このパラレルのデータに基づいて透明電極Eh,Evの個々に与える駆動電圧を発生する。また、具体的には、ドライバIC6は、複数の透明電極Eh,Evの個々から出力される検出電圧をパラレルのデータとして検出し、検出したデータをシリアルの検出データに変換してドライバ出力データDATAOUTとして出力する。
【0027】
このため、ドライバIC6は、例えば、特許文献1の実施形態2に記載された駆動部および検出部の機能を兼ね備えるように構成されている。具体的には、ドライバIC6は、上記のようなデータのシリアル/パラレル変換を行うために、シリアルイン−パラレルアウトシフトレジスタを有している。また、ドライバIC6は、上記のようなパラレル/シリアル変換を行うために、パラレルイン−シリアルアウトシフトレジスタを有している。
【0028】
なお、ドライバIC6は、シリアルイン−パラレルアウトシフトレジスタおよびパラレルイン−シリアルアウトシフトレジスタを有する代わりに、これらの機能を兼ね備えたシフトレジスタを有していてもよい。
【0029】
垂直駆動検出部3に設けられる各ドライバIC6は、複数の透明電極Ehに駆動電圧を出力するとともに、複数の透明電極Ehからの検出電圧が入力されるように、タッチパネル2側に入出力用の端子(ピン)を有している。
【0030】
垂直駆動検出部3において、各ドライバIC6間でデータ伝送線がデイジーチェーン接続されている。これにより、垂直駆動検出部3において、制御インターフェース部5からのドライバ入力データDATAINは、初段のドライバIC6(図1および図2において垂直駆動検出部3の上端に位置する)に入力されて、順次後段のドライバIC6に伝送されていく。また、垂直駆動検出部3において、各ドライバIC6から出力される検出データが、その後段のドライバIC6に入力され、当該後段のドライバIC6の検出データに続いてシフトされる。これにより、各ドライバIC6の検出データが連続した1つのドライバ出力データDATAOUT(垂直検出データ)となって、垂直駆動検出部3における最終段のドライバIC6(図1および図2において垂直駆動検出部3の下端に位置する)から出力される。
【0031】
一方、水平駆動検出部4に設けられる各ドライバIC6は、複数の透明電極Evに駆動電圧を出力するとともに、複数の透明電極Evからの検出電圧が入力されるように、タッチパネル2側に入出力用の端子(ピン)を有している。
【0032】
水平駆動検出部4において、各ドライバIC6間でデータ伝送線がデイジーチェーン接続されている。これにより、水平駆動検出部4において、制御インターフェース部5からのドライバ入力データDATAINは、初段のドライバIC6(図1および図2において水平駆動検出部4の左端に位置する)に入力されて、順次後段のドライバIC6に伝送されていく。また、水平駆動検出部4において、各ドライバIC6から出力される検出データが、その後段のドライバIC6に入力され、当該後段のドライバIC6の検出データに続いてシフトされる。これにより、各ドライバIC6の検出データが連続した1つのドライバ出力データDATAOUT(水平検出データ)となって、水平駆動検出部4における最終段のドライバIC6(図1および図2において水平駆動検出部4の右端に位置する)から出力される。
【0033】
垂直駆動検出部3および水平駆動検出部4における各ドライバIC6には、それぞれ直接リセット信号RESとクロックCLKとが入力される。
【0034】
なお、垂直駆動検出部3および水平駆動検出部4においては、各ドライバIC6が制御インターフェース部5とパラレルで直接データの送受を行うように構成されていてもよい。
〔1−6.ドライバ入力データおよびドライバ出力データの構成〕
ここで、ドライバ入力データDATAINの各ビットは、各透明電極Eに対応しており、“1”である場合に駆動電圧の印加を表し(アクティブハイ)、“0”である場合に駆動電圧の非印加を表している。一方、図3に示すように、ドライバ出力データDATAOUTの各ビットは、各透明電極E(前述の電極番号)に対応しており、“1”である場合に印加電圧の検出を表し(アクティブハイ)、“0”である場合に印加電圧の非検出を表している。このように、ドライバ出力データDATAOUTは、全ての透明電極Eh,Evによる検出および非検出(駆動電圧の有無)を表す検出パターンとなる。
【0035】
なお、以降の説明においても、図9を参照した例と同様にタッチ箇所をキー(KEY)と称する。水平駆動検出部4から出力されるドライバ出力データDATAOUT(検出パターン)におけるタッチ検出部分を、図9を参照した例と同様にシャドー(タッチ部分,水平部分タッチ範囲)と称する。同様に、垂直駆動検出部3から出力されるドライバ出力データDATAOUTにおけるタッチ検出部分もシャドー(タッチ部分,垂直部分タッチ範囲)と称する。
〔1−7.制御インターフェース部の構成〕
制御インターフェース部5は、外部のCPUからの指示を受けて、タッチパネル2へ与えるドライバ入力データDATAINを出力するとともに、タッチパネル2から出力されるドライバ出力データDATAOUTを取り込む動作を行うことにより、キーを特定してCPUにその特定したデータを与え、CPUとの間で制御のためのインターフェース機能を有する。より具体的には、制御インターフェース部5は、ドライバ出力データDATAOUTから特定される検出パターンに基づいて、タッチパネル2における複数のキーの個々を特定するために、タッチパネル2の駆動および検出を複数のステージで繰り返して行いながらドライバ入力データDATAINの出力およびドライバ出力データDATAOUTの取り込みを行う。
【0036】
制御インターフェース部5は、上記の機能を実現するために、メモリ51と、メモリ制御部52とを有している。また、下記のように構成される制御インターフェース部5は、ハードウェアロジック(デジタル回路)によって構成されるが、マイクロコンピュータによってソフトウェアで実現されるように構成されてもよい。
〔1−7−1.メモリの構成〕
RAMからなるメモリ51は、シャドー記憶領域511(タッチ範囲記憶手段)と、確定キー記憶領域512と、作業領域513とを有している。
〔1−7−1(a).シャドー記憶領域の構成〕
シャドー記憶領域511は、垂直駆動検出部3および水平駆動検出部4からのそれぞれのドライバ出力データDATAOUT(検出パターン)から特定されるシャドーを規定するデータを記憶する。ここで、以降の説明では、適宜、垂直駆動検出部3から得られるシャドーを垂直シャドーと称し、水平駆動検出部4から得られるシャドーを水平シャドーと称する。
【0037】
このシャドー記憶領域511は、図4(a)に示すように、ステージ毎に区分された複数のステージ領域からなる。ステージ領域は、図4(b)に示すように、アドレス“0”〜“15”に区分された領域を垂直シャドーと水平シャドーとで個別に含んでいる。アドレス“1”〜“13”は、メモリ51において後述するシャドーポインタSn−PTRを用いて間接アドレスとして指定される。図4(b)はステージ0のステージ領域を示している。
【0038】
アドレス“0”の領域(シャドー数領域)は、該当するステージで特定された4ビットのシャドー数Sn−NUM(nはステージ数を表す0以上の整数)を記憶する。図4(b)に示す例では、シャドー数領域にステージ0のシャドー数S0−NUMが記憶されている。シャドー数領域には、後述するシャドーポジション領域にシャドー情報特定部521によって特定されたシャドー数が書き込まれる。
【0039】
アドレス“1”〜“13”の各領域(シャドーポジション領域)は、シャドーの先頭位置および末尾位置を表すシャドーポジションについてのデータ(シャドーポジションデータ)を記憶する。シャドーポジションデータは、9ビットのボトム位置BO−iPおよびトップ位置TO−iP(iは1から13までの整数)で表される。シャドーポジション領域は、規定のシャドー数だけ設けられる。シャドーの規定数は、本実施の形態では13に定められているが、メモリ51の容量に応じて所望に規定することができるので、13には限定されない。
【0040】
上記のトップ位置TO−iPは、検出パターンにおける“0”から変化した“1”の部分、すなわちシャドーの先頭位置の電極番号を表している。また、上記のボトム位置BO−iPは、検出パターンにおける“0”に変化する直前の“1”の部分、すなわちシャドーの末尾位置の電極番号を表している。例えば、図3に示す検出パターンでは、電極番号20が第1のトップ位置TO−1Pであり、電極番号45が第1のボトム位置BO−1Pであり、第1のトップ位置TO−1Pおよび第1のボトム位置BO−1Pで第1のシャドーが規定される。また、電極番号70が第2のトップ位置TO−2Pであり、電極番号78が第2のボトム位置BO−2Pであり、第2のトップ位置TO−2Pおよび第2のボトム位置BO−2Pで第2のシャドーが規定される。
【0041】
アドレス“14”の領域(駆動シャドーポジション領域)は、後述するシャドーポインタSn−PTRで指定されたアドレスのシャドーポジション領域に記憶されているトップ位置TO−iPおよびボトム位置BO−iPを、トップ位置TO−TPおよびボトム位置BO−TPとして一時的に記憶する。
【0042】
アドレス“15”の領域(シャドーポインタ領域)は、4ビットのシャドーポインタSn−PTRを記憶する。シャドーポインタSn−PTRは、トップ位置TO−iPおよびボトム位置BO−iPが記憶されるシャドーポジション領域のアドレス“1”〜“13”のいずれかを指定するための間接アドレスである。このシャドーポインタSn−PTRは、シャドーポジション領域に記憶されたトップ位置TO−iPおよびボトム位置BO−iPのうち、どのシャドーまで駆動に用いられたかを示すために用いられる。図4(b)に示す例では、シャドーポインタ領域にステージ0のシャドーポインタS0−PTRが記憶されている。シャドーポインタSn−PTRとしては、シャドー数領域に規定される上記のアドレス“1”〜“13”が用いられる。
〔1−7−1(b).確定キー記憶領域の構成〕
確定キー記憶領域512は、最終的に確定されたキーについてのデータを記憶する。具体的には、確定キー記憶領域512は、キーが確定されたときのステージにおいて駆動に用いられたシャドーを規定するシャドーポジション、および確定キー数KeyNoをキーについてのデータとして記憶する。上記のシャドーポジションは、駆動検出制御部524によって確定キー記憶領域512に書き込まれる。確定キー数KeyNoは、キーが1つ確定される毎に駆動検出制御部524によって1つずつ加算されて確定キー記憶領域512に書き替えられる。
〔1−7−1(c).作業領域の構成〕
作業領域513は、キー検出のための処理に必要な各種の値を記憶するために設けられている。例えば、このような値としては、4ビットのステージ番号n(nは0以上の整数)、駆動ステージ番号m、比較ステージ番号x、検出シャドー数R、FIRSTHフラグ、KEEP−PTRフラグが挙げられる。
【0043】
駆動ステージ番号mは、駆動に用いるシャドーが得られたステージ番号である。比較ステージ番号xは、検出されたシャドーと比較する比較対象となるシャドーが得られたステージ番号である。
【0044】
検出シャドー数Rは、ステージmで検出されたシャドーがステージxで得られたシャドーに含まれる数である。
【0045】
FIRSTHフラグは、水平シャドー数Mが垂直シャドー数L以上であるときに“1”がセットされ、それ以外の場合に“0”にセットされるフラグである。ここで、垂直シャドー数Lは、駆動検出の第1段階であるステージ0で、水平駆動検出部4から全透明電極Evを駆動して垂直駆動検出部3において検出されたシャドーの数である。また、水平シャドー数Mは、ステージ0に続くステージ1で、垂直駆動検出部3から全透明電極Ehを駆動して水平駆動検出部4において検出されたシャドーの数である。ステージ2以降では、FIRSTHフラグが“0”であるときに垂直駆動検出部3から駆動が行われ、FIRSTHフラグが“1”であるときに水平駆動検出部4から駆動が行われる。
【0046】
KEEP−PTRフラグは、シャドーポインタSn−PTRの値を保持するときに“1”がセットされ、保持しない(クリアする)ときに“0”がセットされるフラグである。
【0047】
メモリ制御部52は、シャドー情報特定部521(タッチ範囲特定手段)と、書込制御部522と、ステージ変更部523と、駆動検出制御部524(駆動制御手段)と、入力データ生成部525(駆動データ生成手段)と、読出制御部526とを有している。
〔1−7−2.シャドー情報特定部の構成〕
シャドー情報特定部521は、垂直駆動検出部3および水平駆動検出部4から出力されるドライバ出力データDATAOUTから、“0”から変化する“1”のビットおよび“0”へ変化する“1”のビットを検出することにより、シャドーを特定する前述のシャドーポジションを特定する。また、シャドー情報特定部521は、シャドーポジションに基づいてドライバ出力データDATAOUTに含まれるシャドーの数(シャドー数)を特定する。
〔1−7−3.書込制御部の構成〕
書込制御部522は、シャドー情報特定部521で特定されたシャドーポジションを、メモリ51のシャドー記憶領域511に書き込む。具体的には、書込制御部522は、メモリ51の作業領域513に設定されているステージ番号を参照して、シャドー記憶領域511における当該ステージ番号に応じたステージ領域に、検出されたシャドーポジションを1組ずつアドレス“1”から順に書き込んでいく。
〔1−7−4.ステージ変更部の構成〕
ステージ変更部523は、透明電極Evを一括して駆動するステージ0のとき、駆動検出制御部524の指示を受けると、作業領域513のステージ番号nを0にセットする。また、ステージ変更部523は、透明電極Ehを一括して駆動するステージ1のとき、駆動検出制御部524の指示を受けると、作業領域513のステージ番号nを1にセットする。また、ステージ変更部523は、FIRSTHフラグが決定した後に駆動検出制御部524の指示を受けると、作業領域513のステージ番号nを2にセットする。さらに、ステージ変更部523は、ステージ2以降で、駆動検出制御部524からの加算命令により作業領域513のステージ番号nを1つ加算して書き替える一方、駆動検出制御部524からの減算命令によりステージ番号nを1つ減算して書き替える。
〔1−7−5.駆動検出制御部の構成〕
駆動検出制御部524は、読出制御部526を介して、シャドー記憶領域511のステージ0のステージ領域に記憶されている垂直シャドー数Lと、ステージ1のステージ領域に記憶されている水平シャドー数Mとを比較する。駆動検出制御部524は、この比較の結果、水平シャドー数Mが垂直シャドー数L以上であるときに、作業領域513におけるFIRSTHフラグを“1”にセットし、それ以外のときにFIRSTHフラグを“0”にセットする。
【0048】
駆動検出制御部524は、ステージ変更部523へのステージ番号nの変更指示や、作業領域513における駆動ステージ番号m、比較ステージ番号x、検出シャドー数R、FIRSTHフラグおよびKEEP−PTRフラグのセットを行う。また、駆動検出制御部524は、必要に応じて、シャドー記憶領域511における設定の変更やデータの読み出しを行う。
【0049】
さらに、駆動検出制御部524は、確定キー記憶領域513に記憶されている確定キー数KeyNoと、その後のキーの確定に使用されるシャドー数とから、確定可能な規定のキー数を越えるか否かを判定する。駆動検出制御部5は、確定可能な規定のキー数を越えると判定した場合、新たなタッチ入力があるまでキー確定動作を停止し、必要に応じてCPUにそのことを通知する。
【0050】
駆動検出制御部524は、キーを確定するために、次の(1)〜(4)の処理を行うが、詳細については図5のフローチャートを参照して後述するような処理を行う。
(1)シャドーの比較
駆動検出制御部524は、駆動ステージmで新たに検出されたシャドー(mシャドー)が、ステージxで得られたシャドー(xシャドー)に含まれるか否かを両シャドーの論理積(AND)をとって判定する。mシャドーおよびxシャドーは、いずれも同じ垂直駆動検出部3または水平駆動検出部4のいずれか一方により出力される。
(2)キーの確定
駆動検出制御部524は、上記のANDの結果により、mシャドーがxシャドーに1つのみ含まれていると判定すると、当該mシャドーで特定されるキーを確定キーとして確定キー記憶領域512に書き込む。
(3)駆動の続行−1(ステージの上昇)
駆動検出制御部524は、上記のANDの結果により、複数のmシャドーがxシャドーに含まれていると判定すると、ステージ番号nに1を加算して、当該mシャドーを用いた駆動を個別に実行するように、入力データ生成部525にドライバ入力データDATAINの生成を指示する。
(4)駆動の続行−2(ステージの下降)
駆動検出制御部524は、上記の複数のmシャドーを用いた駆動により、mシャドーについて全てキーが確定すると、ステージ番号nが3以上である場合に、ステージ番号nから1を減算して、キーの確定していないmシャドーを用いた駆動を続ける。
〔1−7−6.入力データ生成部の構成〕
入力データ生成部525は、ステージ番号nが0,1である場合、透明電極Evまたは透明電極Ehを一括して駆動するための駆動パターンをドライバ入力データDATAINとして出力する。この駆動パターンは、例えば、メモリ51の所定の領域に記憶されている。また、入力データ生成部525は、ステージ2以上である場合、作業領域513におけるFIRSTHフラグの値に応じて、シャドー記憶領域511の該当するステージ領域における駆動シャドーポジション領域に記憶されているシャドーポジションのデータを用いて、クロックCLKに同期した1つのシャドーを含むドライバ入力データDATAINを生成する。
〔2.タッチパネル装置におけるキー確定動作〕
ここで、上記のように構成されるタッチパネル装置1におけるキーの確定動作について説明する。
〔2−1.3個のキーを同時入力する例〕
図5は、上記のように構成されるタッチパネル装置1におけるキーの確定動作の手順を示している。図6は、3個のキーが同時に入力された場合に各キーを確定する具体例を示している。ここでは、図6に示す具体例について、タッチパネル装置1のキー確定動作を図5のフローチャートを参照しながら説明する。
【0051】
図6(a)に示すように、タッチパネル2において、キーK1,K2,K3が同時に入力されている。キーK1,K2は垂直方向に範囲d1で一部重なり、キーK2,K3は水平方向に範囲d2で一部重なり、キーK1,K3は垂直および水平のいずれの方向にも重なっていない。
〔2−1−1.確定キー数の初期化〕
まず、駆動検出制御部524は、メモリ51の作業領域513において、確定キー数KeyNoを0に設定する(ステップS1)。
〔2−1−2.ステージ0〕
水平駆動検出部4が全透明駆動電極Evに駆動電圧を印加することにより、垂直駆動検出部3から垂直方向のシャドー(垂直検出タッチ範囲)を検出する(ステップS2)。この処理はステージ0(垂直部分タッチ範囲特定工程)に相当する。
【0052】
ステージ0において、駆動検出制御部524は、全透明電極Evを駆動するように入力データ生成部525に指示を与える。これにより、入力データ生成部525は、全透明電極Evを駆動するための駆動パターンをドライバ入力データDATAINとして出力する。
【0053】
シリアルのドライバ入力データDATAINは、水平駆動検出部4に入力されると、各ドライバIC6内のシフトレジスタを順次シフトし、その後、該シフトレジスタから対応する各透明電極Ehにパラレルに駆動電圧が印加される。すると、垂直駆動検出部3において、各ドライバIC6で検出された検出パターンが出力されることにより、最終段のドライバIC6からドライバ出力データDATAOUTが検出パターンとして出力される。
【0054】
図6(a)に示すように、検出パターンが、キーK1,K2に対応する部分をシャドーA1として含み、キーK3に対応する部分をシャドーB1として含んでいる。この場合、シャドー情報特定部521によって、ドライバ出力データDATAOUTから、シャドーA1に対応するトップ位置TO−1Pおよびボトム位置BO−1Pと、シャドーB1に対応するトップ位置TO−2Pおよびボトム位置BO−2Pとが特定される。また、シャドー情報特定部521によって、これらの値からシャドー数S0−NUM(=L=2)が特定される。
【0055】
書込制御部522によって、トップ位置TO−1Pおよびボトム位置BO−1Pと、トップ位置TO−2Pおよびボトム位置BO−2Pと、シャドー数S0−NUMとが、シャドー記憶領域511のステージ領域(ステージ0)に書き込まれる。
〔2−1−3.ステージ1〕
ステージ0の処理が終了すると、垂直駆動検出部3が全透明駆動電極Ehに駆動電圧を印加することにより、水平駆動検出部4から水平方向のシャドー(水平検出タッチ範囲)を検出する(ステップS3)。この処理はステージ1(水平部分タッチ範囲特定工程,n=1)に相当する。
【0056】
ステージ1において、駆動検出制御部524は、メモリ51の作業領域513のステージ番号nを1にセットする。また、駆動検出制御部524は、全透明電極Ehを駆動するように入力データ生成部5に指示を与える。これにより、入力データ生成部525は、作業領域513のステージ番号nが1であることを認識すると、全透明電極Ehを駆動するための駆動パターンをドライバ入力データDATAINとして出力する。
【0057】
ドライバ入力データDATAINが、垂直駆動検出部3に入力されると、水平駆動検出部4における場合と同様に、全ドライバIC6内のシフトレジスタをシフトしていき、シフトレジスタから出力されるパルスに基づいて各透明電極Ehに駆動電圧が印加される。すると、水平駆動検出部4において、各ドライバIC6で検出された検出パターンが出力されることにより、最終段のドライバIC6からドライバ出力データDATAOUTが検出パターンとして出力される。
【0058】
図6(b)に示すように、検出パターンが、キーK2,K3に対応する部分をシャドーC1として含み、キーK1に対応する部分をシャドーD1として含んでいる。この場合、シャドー情報特定部521によって、シャドーC1に対応するトップ位置TO−1Pおよびボトム位置BO−1Pと、シャドーD1に対応するトップ位置TO−2Pおよびボトム位置BO−2Pとが特定される。また、シャドー情報特定部521によって、これらの値からシャドー数S1−NUM(=M=2)が特定される。
【0059】
書込制御部522によって、トップ位置TO−1Pおよびボトム位置BO−1Pと、トップ位置TO−2Pおよびボトム位置BO−2Pと、シャドー数S1−NUMとが、シャドー記憶領域511のステージ領域(ステージ1)に書き込まれる。そして、読出制御部526を介してシャドー記憶領域511からステージ0のシャドー数(垂直シャドー数L)とステージ1のシャドー数(水平シャドー数M)とが読み出されて駆動検出制御部524に入力される。
〔2−1−4.FIRSTHフラグのセット〕
駆動検出制御部524は、垂直シャドー数Lと水平シャドー数Mとを比較して、M<Lであるか否かを判定し(ステップS4)、M<Lでないと判定すると、M=0であるか否かを判定し(ステップS5)、ここでM=0でないと判定した場合には、さらにM=1であるか否かを判定する(ステップS6)。駆動検出制御部524は、ステップS6でM=1でないと判定すると、作業領域513におけるFIRSTHフラグを“1”にセットする(ステップ7)。
【0060】
図6(a)および(b)に示す例では、L=2,M=2であるので、ステップS4の判定ではNOとなり、FIRSTHフラグが“1”にセットされる。
〔2−1−5.ステージ2〕
FIRSTHフラグのセットを終えると、ステージ変更部523は、駆動検出制御部524の指示を受けて、作業領域513のステージ番号nを2にセットする(ステップS9)。次いで、駆動検出制御部524は、KEEP−PTRフラグを0にセットする(ステップS11)。これにより、ステージmのシャドーポインタSm−PTRのみがクリアされる。
【0061】
図6(c)に示すステージ2において、駆動検出制御部524は、ステップS12(n>3)でNOと判定し、ステップS13(n=2)でYESと判定し、さらにステップS14(FIRSTHフラグ=1)でYESと判定する。この場合、駆動検出制御部524は、ステップS15において、比較ステージ番号xを0に設定し、駆動ステージ番号mを1に設定する。
【0062】
また、ステップS11においてKEEP−PTRフラグが0にセットされているので、駆動検出制御部524は、ステップS17でYESと判定し、ステージ1のシャドーポインタS1−PTRを0にセットして(ステップS18)、KEEP−PTRフラグを1にセットする(ステップS19)。さらに、駆動検出制御部524は、ステージm(=1)のシャドー数2が上記のシャドーポインタS1−PTRと等しくないと判定し(ステップS25)、シャドー記憶領域511のシャドーポインタS1−PTRを1に更新する(ステップS26)。
【0063】
したがって、ステージ2においては、ステージ1で得られたシャドーC1,D1のうちシャドーC1を用いて駆動が行われる。上記のシャドーポインタS1−PTRで指定されるシャドーポジション領域には、シャドーC1のシャドーポジションが記憶されている。駆動検出制御部524は、上記のシャドーC1のシャドーポジションを、シャドー記憶領域511におけるステージ領域(ステージ1)の駆動シャドーポジション領域に、駆動に用いるシャドーとして書き込む。
【0064】
さらに、駆動検出制御部524は、ステージxの検出シャドーをステージnの検出シャドーとのANDの対象となるシャドーとして設定する(ステップS27)。ただし、駆動検出制御部524は、n=2のときのみ例外的に、ステージ0または1の検出シャドーをANDの対象として用いずに、全てが“1”のパターンをANDの対象となるシャドーとして設定する(ステップS27)。したがって、ステージ2では、全て“1”のパターン(水平全タッチ範囲,垂直全タッチ範囲)がANDの対象として用いられる。
【0065】
駆動検出制御部524の指示により、ステージ1の1番目の検出シャドーであるシャドーC1を用いて、水平駆動検出部4により透明電極Evを駆動すると(ステップS28)、垂直駆動検出部3において、2つのシャドーA1−1(キーK2に対応),B1−1(キーK3に対応)を含む検出パターンが得られる。この駆動により得られたシャドーA1−1,B1−1と全て“1”のパターン(n=2のみ)とのANDによる比較を行い、当該パターンに含まれる検出シャドー数を特定する(ステップS28)。
【0066】
この場合は、上記のANDの結果で得られた検出シャドー数Rが2(2以上)であるので、駆動検出制御部524は、ステップS29(R=1)においてNOと判定し、ステップS30においてステージ番号nに1を加算して3に変更する。これにより、ステージ3に移行する。
【0067】
このとき、シャドー情報特定部521は、シャドーA1−1,B1−1についてのシャドーポジションとシャドー数S2−NUM(=2)とを特定する。書込制御部522は、駆動検出制御部524の指示により、シャドーポジションをシャドー記憶領域511におけるステージ領域(ステージ2)のシャドーポジション領域に書き込み、シャドー数S2−NUMをシャドー数領域に書き込む。書込制御部522は、以降も同様にして、シャドーポジションとシャドー数Sn−NUMとを該当するステージ領域に書き込む。上記のような検出シャドーの書き込み動作は、ステップS28の処理においてシャドーが検出される毎に行われる。したがって、同じステージにおいては、シャドーが検出される毎に、シャドーポジションがシャドーポジション領域に上書きされていくので、前回検出されたシャドーは残らない。
【0068】
また、駆動検出制御部524が加算命令を出力すると、ステージ変更部523は、その加算命令を受けて、作業領域513のステージ番号nの2に1を加算して3に書き替える。
〔2−1−6.ステージ3〕
図6(d)に示すステージ3に対して、駆動検出制御部524は、ステップS11においてKEEP−PTRフラグを0にセットし、ステップS12,S13においてNOと判定し、さらにステップS20(FIRSTH=1)においてYESと判定する。これにより、駆動検出制御部524は、比較ステージ番号xを1に設定し(ステップS21)、駆動ステージ番号mを2(=n−1=3−1)に設定する(ステップS24)。
【0069】
また、駆動検出制御部524は、KEEP−PTRフラグが0であると判定すると(ステップS17)、ステージ2のシャドーポインタS2−PTRを0にセットした後(ステップS18)、KEEP−PTRフラグを1にセットする(ステップS19)。これにより、シャドーポインタS2−PTRの値が保持される。そして、駆動検出制御部524は、ステージ2のシャドー数とシャドーポインタS2−PTRとの不一致を判定し(ステップS25)、シャドーポインタS2−PTRに1を加算して1にセットする(ステップS26)。さらに、駆動検出制御部524は、シャドーポインタS1−PTR(=1)で指定されるシャドーポジションのシャドーC1をANDの対象として設定する(ステップS27)。
【0070】
ここで、ステップS15,S16,S21〜S24(S23については後述)において設定される駆動ステージ番号mおよび比較ステージ番号xの関係から、1つ前のステージで駆動に用いるシャドーを特定するためのシャドーポインタSm−PTRが、現在のステージ(ステージ3)でANDの対象として設定されるシャドーを特定するためのシャドーポインタSx−PTRとなる。
【0071】
これにより、図6(d)に示すように、ステージ2で検出された1番目(S2−PTR=1)のシャドーA1−1が駆動に用いられる。このとき、シャドー記憶領域511におけるステージ領域(ステージ2)の駆動シャドーポジション領域にシャドーA1−1のシャドーポジションが設定される。また、ステージ1で検出された1番目(S1−PTR=1)のシャドーC1が、ステージ3で検出されたシャドーとのANDの対象となる。
【0072】
駆動検出制御部524は、シャドーA1−1を用いた駆動によって得られたシャドーC1−1,D1−1(シャドー数S3−NUM=2)と、ステージ1で検出されたシャドーC1とのANDを求めると、シャドーC1に1つのシャドーC1−1が含まれることから、検出シャドー数Rが1であると特定する(ステップS28)。駆動検出制御部524は、検出シャドー数Rが1であると判定するので(ステップS29)、垂直方向のシャドーA1−1と水平方向のシャドーC1−1とによってキーK2を確定し、確定キー数KeyNoに1を加算して(ステップS31)、ステージ3を維持する(確定処理)。
【0073】
この時点では、シャドーポインタS2−PTRが1であるので、駆動検出制御部524は、まだ、ステージm(=2)のシャドー数2とシャドーポインタS2−PTRとの不一致を判定し(ステップS25)、シャドーポインタS2−PTRを2にセットする(ステップS26)。これにより、今回の駆動に使用するシャドーとして、シャドー記憶領域511におけるステージ領域(ステージ2)の駆動シャドーポジション領域に、ステージ2で2番目(S2−PTR=2)に検出されたシャドーB1−1のシャドーポジションが設定される。これにより、図6(e)に示すように、シャドーB1−1が駆動に用いられる。
【0074】
駆動検出制御部524は、シャドーB1−1を用いた駆動によって得られたシャドーC1−2(シャドー数S3−NUM=1)と、ステージ1で検出されたシャドーC1とのANDを求めた結果、シャドーC1に1つのシャドーC1−2が含まれることから、検出シャドー数Rが1であると特定する(ステップS28)。駆動検出制御部524は、検出シャドー数Rが1であることから(ステップS26)、垂直方向のシャドーB1−1と水平方向のシャドーC1−2とによってキーK3を確定する(ステップS31)。このとき、駆動検出制御部524は、確定したキーK2,K3についてのシャドーポジションを確定キー記憶領域512に書き込む。
【0075】
この時点では、シャドーポインタS2−PTRが2であるので、駆動検出制御部524は、ステージmのシャドー数2とシャドーポインタS2−PTRとの一致を判定し(ステップS25)、n=2でないことから(ステップS32)、ステージ番号nから1を減算して(ステップS33)、ステージ2に移行する。
〔2−1−7.ステージ2〕
ステージ2では、駆動検出制御部524は、ステップS12においてNOと判定し、ステップS13,S14においてYESと判定してから、比較ステージ番号xを0に設定するとともに、駆動ステージ番号mを1に設定する(ステップS15)。このとき、前回のステージ2と異なりKEEP−PTRフラグが1を維持しているので、駆動検出制御部524は、KEEP−PTRフラグが0でないと判定し(ステップS17)、改めてKEEP−PTRフラグを1にセットする(ステップS19)。KEEP−PTRフラグが1にセットされていることから、シャドーポインタS1−PTRは、図6(c)に示すステージ2の状態の値である1を維持している。
【0076】
この時点では、駆動検出制御部524は、まだ、ステージ1のシャドー数2とシャドーポインタS1−PTR(=1)との不一致を判定するので(ステップS25)、シャドーポインタS1−PTRを2にセットする(ステップS26)。これにより、今回の駆動に使用するシャドーとして、シャドー記憶領域511におけるステージ領域(ステージ1)の駆動シャドーポジション領域に、ステージ1で検出されたシャドーD1のシャドーポジションがセットされる。さらに、現ステージがステージ2であることから、駆動検出制御部524は、全て“1”のパターンがANDの対象として設定する(ステップS27)。
【0077】
これにより、図6(f)に示すように、シャドーD1を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーA1−2が得られる。駆動検出制御部524は、このシャドーA1−2(シャドー数S2−NUM=1)と、全てが“1”のパターンとのANDを求めると、1つのシャドーA1−2のみが得られることから、検出シャドー数Rが1であると特定する(ステップS25)。駆動検出制御部524は、検出シャドー数Rが1であることから(ステップS29)、垂直方向のシャドーA1−2と水平方向のシャドーD1とによってキーK1を確定する(ステップS31)。このとき、駆動検出制御部524は、確定したキーK1についてのシャドーポジションを確定キー記憶領域512に書き込む。
【0078】
この時点では、シャドーポインタS1−PTRが2であるので、駆動検出制御部524は、ステージ1のシャドー数2との一致を判定し(ステップS25)、n=2であることから、全てのキーK1〜K3が確定したと判断して(ステップS32)、処理を終える。
〔2−1−8.図6の例に該当しない動作〕
上記の例では、M<Lでない場合(ステップS4)、M=0でない場合(ステップS5)、M=1でない場合(ステップS6)についてそれぞれ説明した。また、上記の例では、FIRSTHフラグが1にセットされ、且つn≦3である場合について説明した。ここでは、上記の場合と異なる場合の駆動検出制御部524の動作について説明する。
【0079】
駆動検出制御部524は、ステップS4でM<Lであると判定した場合、FIRSTHフラグを“0”にセットする(ステップ8)。
【0080】
駆動検出制御部524は、ステップS5でM=0であると判定した場合、入力されたキーがないために処理を終える。
【0081】
駆動検出制御部524は、ステップS6でM=1であると判定した場合、L=1でもあるので、1つのキーを確定して、確定キー数KeyNoに1を加算し(ステップS10)、当該キーのデータと更新された確定キー数KeyNoとを確定キー記憶領域512に書き込んで処理を終える。
【0082】
駆動検出制御部524は、ステップS14でFIRSTHフラグが1でない(0である)と判定すると、駆動ステージ番号mを0に設定し、比較ステージ番号xを1に設定し(ステップS16)、処理をステップS17に移行する。また、駆動検出制御部524は、ステップS20でFIRSTHフラグが1でないと判定すると、比較ステージ番号xを0に設定し(ステップS22)、ステップS24に処理を移行する。
【0083】
駆動検出制御部524は、ステップS12でステージ番号nが3より大きいと判定すると、比較ステージ番号xをステージ番号nから2を減算した値に設定し(ステップS23)、処理をステップS24に移行する。
〔2−2.7個のキーを同時入力する例〕
図6に示す例では、キー確定のためにステージ3まで移行する、3個のキーが同時に入力された場合について説明した。ここでは、キー確定のためにステージ3以上に移行する、7個のキーが同時に入力された場合のタッチパネル装置1のキー確定動作について説明する。
【0084】
図7(a)に示すように、タッチパネル2において、キーK1〜K7が同時に入力されている。キーK1〜K3,K7が垂直方向に範囲d3で一部重なり、キーK1〜K5が水平方向に範囲d4で一部重なり、キーK4〜K6が垂直方向にほぼ完全に重なり、キーK6,K7が他のキーと水平方向に重なっていない。
〔2−2−1.ステージ0,1〕
まず、図7(a)に示すように、ステージ0において、水平駆動検出部4から全透明電極Evが駆動されることにより、垂直駆動検出部3にシャドーA1,B1が得られる(ステップS2)。また、ステージ1において、垂直駆動検出部3から全透明電極Ehが駆動されることにより、水平駆動検出部4にシャドーC1,D1,E1が得られる(ステップS3)。この場合、水平シャドー数M(=3)が垂直シャドー数L(=2)より大きく、且つMが0および1でもないことから(ステップS4〜S6)、FIRSTHフラグが“1”にセットされる(ステップS7)。
〔2−2−2.ステージ2〕
次いで、ステージ2では、KEEP−PTRフラグが0にセットされ(ステップS11)、ステップS12〜S14を経て、比較ステージ番号xが0に設定され、駆動ステージ番号mが1に設定される(ステップS15)。また、KEEP−PTRフラグが0であるので、ステージ1のシャドーポインタS1−PTRが0にセットされ、KEEP−PTRフラグが1にセットされる(ステップS17〜S19)。ステージ1のシャドー数3が上記のシャドーポインタS1−PTRと等しくないため(ステップS25)、シャドーポインタS1−PTRが1にセットされる(ステップS26)。さらに、現ステージがステージ2であることから、全て“1”のパターンがANDの対象として設定される(ステップS27)。
【0085】
これにより、図7(b)に示すように、図6(c)に示す場合と同様に、シャドーC1を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーA1,B1が得られる(ステップS28)。これらの2つのシャドーA1,B1のシャドーポジションが、シャドー記憶領域511のステージ領域(ステージ2)に書き込まれる。これらのシャドーA1,B1と全て“1”のパターンとのANDが求められると、検出シャドー数R=2となる(ステップS28)。この場合、キーが確定しないので、ステージ3に移行し(ステップS29,S30)、KEEP−PTRフラグが0にセットされる(ステップS11)。
〔2−2−3.ステージ3〕
ステージ3では、ステップS12,S13,S20を経て、比較ステージ番号xが1に設定され(ステップS21)、駆動ステージ番号mが2(=3−1)に設定される(ステップS24)。KEEP−PTRフラグが0であるので、ステージ2のシャドーポインタS2−PTRが0にセットされ、KEEP−PTRフラグが1にセットされる(ステップS17〜S19)。ステージ2のシャドー数2が上記のシャドーポインタS2−PTRに一致しないため(ステップS25)、シャドーポインタS2−PTRが1にセットされ(ステップS26)、シャドーA1が駆動パターンとして設定される。さらに、シャドーポインタS1−PTR(=1)で特定されるシャドーC1がANDの対象として設定される(ステップS27)。駆動検出制御部524は、ステージ3以上では、ANDの対象として設定されるシャドーについて全てのキーが確定すると、ステップS27において、シャドーポインタSx−PTRをキーが確定していないシャドーを指定する値に切り替える。
【0086】
これにより、図7(c)に示すように、シャドーA1を用いて垂直駆動検出部3により駆動されると、水平駆動検出部4においてシャドーC1−1,C1−2,D1が得られる(ステップS28)。これらの3つのシャドーC1−1,C1−2,D1のシャドーポジションが、シャドー記憶領域511のステージ領域(ステージ3)に書き込まれる。これらのシャドーC1−1,C1−2,D1とステップS27で設定されたシャドーC1とのANDがシャドーC1−1,C1−2として求められると、検出シャドー数R=2となる(ステップS28)。この場合も、キーが確定しないので、ステージ4に移行する(ステップS29,S30)。
〔2−2−4.ステージ4〕
ステージ4では、比較ステージ番号xが2(=4−2)に設定され(ステップS23)、駆動ステージ番号mが3(=4−1)に設定される(ステップS24)。また、KEEP−PTRフラグがステップS11で0にセットされているので、ステージ3のシャドーポインタS3−PTRが0にセットされ、KEEP−PTRフラグが1にセットされる(ステップS17〜S19)。また、ステージ3のシャドー数(検出シャドー数R=2)が上記のシャドーポインタS3−PTRに一致しないため(ステップS25)、シャドーポインタS3−PTRが1にセットされ(ステップS26)、シャドーC1−1が駆動パターンとして設定される。さらに、シャドーポインタS2−PTR(=1)で特定されるシャドーA1がANDの対象として設定される(ステップS27)。
【0087】
これにより、図7(d)に示すように、ステージ3で検出されたシャドーC1−1を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーA1−1,B1−1が得られる(ステップS28)。これらのシャドーA1−1,B1−1のシャドーポジションが、シャドー記憶領域511のステージ領域(ステージ4)に書き込まれる。これらのシャドーA1−1,B1−1とステップS27で設定されたシャドーA1とのANDがシャドーA1−1として求められることにより、検出シャドー数R=1となる(ステップS28)。この場合は、垂直方向のシャドーA1−1と水平方向のシャドーC1−1とで1つのキーK4が確定するので、さらにステージ4が維持される(ステップS29,S31)。
【0088】
この時点では、ステージ3のシャドー数2が同ステージのシャドーポインタS3−PTR(=1)に一致しないため(ステップS25)、シャドーポインタS3−PTRが2にセットされ(ステップS26)、シャドーC1−2が駆動パターンとして設定される。また、シャドーポインタS2−PTR(=1)で特定されるシャドーA1がANDの対象として設定される(ステップS27)。
【0089】
これにより、図7(e)に示すように、シャドーC1−2を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーA1−1,B1−2が得られる(ステップS28)。このシャドーA1−1,B1−2のシャドーポジションは同ステージ領域に書き込まれる。これらのシャドーA1−1,B1−2とステップS27で設定されたシャドーA1とのANDがシャドーA1−1として求められることにより、検出シャドー数R=1となる(ステップS28)。
【0090】
この場合は、垂直方向のシャドーA1と水平方向のシャドーC1−2とで1つのキーK5が確定するので(ステップS29,S30)、ステージ4が維持される。確定したキーK4,K5についてのシャドーポジションは、確定キー記憶領域512に書き込まれる。
【0091】
この時点では、ステージ3のシャドー数2が同ステージのシャドーポインタS3−PTR(=2)と等しくなるが(ステップS25)、n=2ではないので、ステージ3に移行する(ステップS32,S33)。
〔2−2−5.ステージ3〕
ステージ3では、ステップS12,S13,S20を経て、比較ステージ番号xが1に設定され(ステップS21)、駆動ステージ番号mが2(=3−1)に設定される(ステップS24)。KEEP−PTRフラグが1を維持しているが(ステップS17,S19)、ステージ2のシャドー数2が前回のステージ3で1にセットされたシャドーポインタS2−PTRに一致しないため(ステップS25)、シャドーポインタS2−PTRが2にセットされ(ステップS26)、駆動パターンとしてシャドーB1が設定される。さらに、シャドーポインタS1−PTR(=1)で特定されるシャドーC1がANDの対象として設定される(ステップS27)。
【0092】
これにより、図7(f)に示すように、シャドーB1を用いて垂直駆動検出部3により駆動されると、水平駆動検出部4においてシャドーC1−3,C1−4,C1−5が得られる(S28)。このシャドーC1−3,C1−4,C1−5のシャドーポジションは、シャドー記憶領域511のステージ領域(ステージ3)に書き込まれる。このシャドーC1−3,C1−4,C1−5とステップS27で設定されたシャドーC1とのANDがシャドーC1−3,C1−4,C1−5として求められることにより、検出シャドー数R=3となる(ステップS28)。この場合は、キーが確定しないので、ステージ4に移行する(ステップS29,S30)。
〔2−2−6.ステージ4〕
ステージ4では、比較ステージ番号xが2(=4−2)に設定され(ステップS23)、駆動ステージ番号mが3(=4−1)に設定される(ステップS24)。また、KEEP−PTRフラグがステップS11で0にセットされているので、ステージ3のシャドーポインタS3−PTRが0にセットされ、KEEP−PTRフラグが1にセットされる(ステップS17〜S19)。また、直前のステージ3のシャドー数(検出シャドー数R=3)が上記のシャドーポインタS3−PTRと異なることから(ステップS25)、シャドーポインタS3−PTRが1にセットされ(ステップS26)、シャドーC1−3が駆動パターンとして設定される。さらに、シャドーポインタS2−PTR(=2)で特定されるシャドーB1がANDの対象として設定される(ステップS27)。
【0093】
これにより、図8(a)に示すように、シャドーC1−3を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーA1−1,B1−3が得られる(ステップS28)。このシャドーA1−1,B1−3のシャドーポジションが、シャドー記憶領域511のステージ領域(ステージ4)に新たに書き込まれる。上記のシャドーA1−1,B1−3とステップS27で設定されたシャドーB1とのANDがシャドーB1−3として求められることにより、検出シャドー数R=1となる(S28)。この場合は、垂直方向のシャドーB1−3と水平方向のシャドーC1−3とで1つのキーK1が確定するので、ステージ4が維持される(ステップS29,S31)。
【0094】
続くステージ4でも、比較ステージ番号xが2を維持し、駆動ステージ番号mが3を維持している。また、ステージ3のシャドー数3が同ステージのシャドーポインタS3−PTR(=1)と異なることから、シャドーポインタS3−PTRが2にセットされ(ステップS25,S26)、シャドーC1−4が駆動パターンとして設定される。さらに、シャドーポインタS2−PTR(=2)で特定されるシャドーB1が引き続きANDの対象として設定される(ステップS27)。
【0095】
これにより、図8(b)に示すように、ステージ3で検出されたシャドーC1−4を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーA1−1,B1−4が得られる(ステップS28)。このシャドーA1−1のシャドーポジションは、前述のように、シャドー記憶領域511のステージ領域(ステージ4)にすでに書き込まれているが、それらはもはや不要であるので、シャドーB1−4のシャドーポジションが、シャドー記憶領域511のステージ領域(ステージ4)に、新たに先頭から書き込まれる。上記のシャドーB1−4とステップS27で設定されたシャドーB1とのANDがシャドーB1−4として求められることにより、検出シャドー数R=1となる(S28)。この場合は、垂直方向のシャドーB1−4と水平方向のシャドーC1−4とで1つのキーK2が確定するので、さらにステージ4が維持される(ステップS29,S31)。
【0096】
続くステージ4でも、比較ステージ番号xが2を維持し、駆動ステージ番号mが3を維持している。また、ステージ3のシャドー数3が同ステージのシャドーポインタS3−PTR(=2)と異なることから、シャドーポインタS3−PTRが3にセットされる(ステップS25,S26)。さらに、シャドーポインタS2−PTR(=2)で特定されるシャドーB1が引き続きANDの対象として設定される(ステップS27)。
【0097】
これにより、図8(c)に示すように、シャドーC1−5を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーA1−1,B1−5が得られる(ステップS28)。このシャドーA1−1のシャドーポジションは、前述のように、シャドー記憶領域511のステージ領域(ステージ4)にすでに書き込まれているが、それらはもはや不要であるので、シャドーB1−5のシャドーポジションが、シャドー記憶領域511のステージ領域(ステージ4)に、新たに先頭から書き込まれる。上記のシャドーB1−5とステップS27で設定されたシャドーB1とのANDがシャドーB1−5として求められることにより、検出シャドー数R=1となる(S28)。この場合は、垂直方向のシャドーB1−5と水平方向のシャドーC1−5とで1つのキーK3が確定するので、さらにステージ4が維持される。確定したキーK1,K2,K3についてのシャドーポジションが、確定キー記憶領域512に書き込まれる。
【0098】
この時点では、ステージ3のシャドー数3が同ステージのシャドーポインタS3−PTR(=3)と等しくなるが(ステップS25)、n=2ではないので、ステージ3に移行する(ステップS32,S33)。
〔2−2−7.ステージ3〕
ステージ3では、ステップS12,S13,S20を経て、比較ステージ番号xが1に設定され(ステップS21)、駆動ステージ番号mが2(=3−1)に設定される(ステップS24)。KEEP−PTRフラグが前回のステージ3で1にセットされたままであるが(ステップS17,S19)、ステージ2のシャドー数2が前回のステージ3で1にセットされたシャドーポインタS2−PTRに一致しないため(ステップS25)、シャドーポインタS2−PTRが2にセットされ(ステップS26)、駆動パターンとしてシャドーA1が設定される。さらに、シャドーポインタS1−PTR(=2)で特定されるシャドーD1がANDの対象として設定される(ステップS27)。
【0099】
これにより、図8(d)に示すように、シャドーA1を用いて垂直駆動検出部3により駆動されると、水平駆動検出部4においてシャドーD1−1が得られる(ステップS28)。シャドーD1−1のシャドーポジションは、シャドー記憶領域511のステージ領域(ステージ3)に書き込まれる。上記のシャドーD1−1とステップS27で設定されたシャドーD1とのANDがシャドーD1−1として求められることにより、検出シャドー数R=1となる(ステップS28)。これにより、垂直方向のシャドーA1−1と水平方向のシャドーD1−1とで1つのキーK6が確定する。確定したキーK6についてのシャドーポジションが、確定キー記憶領域512に書き込まれる。
【0100】
この時点では、ステージ2のシャドー数2がシャドーポインタS2−PTRと等しくなるが、n=2ではないので、ステージ2に移行する(ステップS25,S32,S33)。
〔2−2−8.ステージ2〕
ステージ2では、ステップS12〜S14を経て、比較ステージ番号xが0に設定され、駆動ステージ番号mが1に設定される(ステップS15)。また、KEEP−PTRフラグが1を維持しているが(ステップS17,S19)、ステージ1のシャドー数3が上記のシャドーポインタS1−PTR(=2)に一致しないため(ステップS25)、シャドーポインタS1−PTRが3にセットされ(ステップS26)、シャドーE1が駆動シャドーとして設定される。さらに、現ステージがステージ2であることから、全て“1”のパターンがANDの対象として設定される(ステップS27)。
【0101】
これにより、図8(e)に示すように、シャドーE1を用いて水平駆動検出部4により駆動されると、垂直駆動検出部3においてシャドーB1−6が得られる(ステップS28)。シャドーB1−6のシャドーポジションは、シャドー記憶領域511のステージ領域(ステージ3)に書き込まれる。上記のシャドーB1−6とステップS27で設定されたシャドーE1とのANDがシャドーB1−6として求められることにより、検出シャドー数R=1となる(ステップS28)。これにより、垂直方向のシャドーB1−6と水平方向のシャドーE1とで1つのキーK7が確定する(ステップS29,S31)。確定したキーK7についてのシャドーポジションが、確定キー記憶領域512に書き込まれる。
【0102】
この場合、ステージ1のシャドー数3が同ステージのシャドーポインタS1−PTR(=3)と等しくなるが、n=2であるので(ステップS32)、全てのキーK1〜K7が確定したことになり、処理を終える。
〔3.実施形態の総括〕
以上のように、本実施形態に係るタッチパネル装置1は、垂直駆動検出部3および水平駆動検出部4によって、マトリクス型のタッチパネル2における透明電極Eへ駆動電圧を印加するとともに、透明電極Eから検出電圧を得て検出データを得る機能を有している。また、タッチパネル装置1は、制御インターフェース部5に設けられたメモリ制御部52によって、得られた検出データから複数のシャドーを検出すると、各シャドーに基づいて生成したドライバ入力データDATAINを用いて個別に駆動を行い、そのときに検出されたシャドーがすでに検出されたシャドーに1つのみ含まれていることが水平方向および垂直方向の双方について確認されることでキーを確定する。これにより、複数のキーが垂直方向や水平方向に重なるような位置にあっても、各キーを確定することができる。
【0103】
なお、本実施の形態では、ステージ0で水平駆動検出部4により全透明電極Evを駆動し、ステージ1で垂直駆動検出部3により全透明電極Ehを駆動するようにしているが、この逆で駆動してもよい。この場合は、FIRSTHフラグの設定も前述と同様となる。
【0104】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0105】
本発明のタッチパネル装置は、3個以上のタッチ箇所(キー)を分離して確定することができるので、マトリクス型タッチパネルの多入力の検出に好適に用いることができる。
【符号の説明】
【0106】
1 タッチパネル装置
2 タッチパネル(マトリクス型タッチパネル)
3 垂直駆動検出部(垂直駆動検出手段)
4 水平駆動検出部(水平駆動検出手段)
5 制御インターフェース部
6 ドライバIC
51 メモリ
52 メモリ制御部
511 シャドー記憶領域(タッチ範囲記憶手段,タッチ範囲記憶ステップ)
521 シャドー情報特定部(タッチ範囲特定手段,タッチ範囲特定ステップ)
524 駆動検出制御部(駆動制御手段,駆動制御ステップ)
525 入力データ生成部(駆動データ生成手段,駆動データ生成ステップ)
A1,A1−1 シャドー(タッチ範囲)
B1,B1−1〜B1−6 シャドー(タッチ範囲)
C1,C1−1〜C1−5 シャドー(タッチ範囲)
D1,D1−1 シャドー(タッチ範囲)
E1 シャドー(タッチ範囲)
DATAIN 入力データ(駆動データ)
DATAINOUT 出力データ(検出データ)
Eh 透明電極(水平電極)
Ev 透明電極(垂直電極)
E 透明電極(水平電極,垂直電極)
K1〜K7 キー(タッチ箇所)

【特許請求の範囲】
【請求項1】
水平方向に配置される複数の水平電極と、当該水平電極と交差するように垂直方向に配置される複数の垂直電極とを有するマトリクス型タッチパネルと、各水平電極へ駆動データに基づいて駆動電圧を印加することにより各水平電極を駆動するとともに、各水平電極からの検出電圧の有無を垂直方向に並ぶ垂直検出データとして出力する垂直駆動検出手段と、各垂直電極へ駆動データに基づいて駆動電圧を印加することにより各垂直電極を駆動するとともに、各垂直電極からの検出電圧の有無を水平方向に並ぶ水平検出データとして出力する水平駆動検出手段とを備えたタッチパネル装置であって、
前記垂直駆動検出手段から得られた前記垂直検出データおよび前記水平駆動検出手段から得られた前記水平検出データにおけるタッチ部分を表すタッチ範囲を特定するタッチ範囲特定手段と、
前記タッチ範囲を前記垂直駆動検出手段および前記水平駆動検出手段について個別に記憶するタッチ範囲記憶手段と、
前記タッチ範囲記憶手段に記憶されている1つの前記タッチ範囲を含む前記駆動データを生成する駆動データ生成手段と、
前記水平電極および前記垂直電極の駆動を制御する駆動制御手段とを備え、
前記駆動制御手段は、
前記水平駆動検出手段から全ての前記垂直電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記垂直駆動検出手段から出力された前記垂直検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として垂直部分タッチ範囲を特定する垂直部分タッチ範囲特定工程と、
前記垂直駆動検出手段から全ての前記水平電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記水平駆動検出手段から出力された前記水平検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として水平部分タッチ範囲を特定する水平部分タッチ範囲特定工程と、
1つの前記垂直部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記垂直駆動検出手段による前記水平電極の駆動で前記水平駆動検出手段から前記タッチ範囲として得られた水平検出タッチ範囲が、前記水平検出データにおける全てがタッチ範囲であることを表す水平全タッチ範囲または1つの前記水平部分タッチ範囲において1つのみ含まれているときに、当該水平検出タッチ範囲と前記垂直部分タッチ範囲とで1つのタッチ箇所を確定する確定処理を行い、前記水平検出タッチ範囲が前記水平全タッチ範囲または1つの前記水平部分タッチ範囲において2つ以上含まれているときに、1つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記垂直部分タッチ範囲の全てについて行う第1タッチ箇所確定工程、または
1つの前記水平部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記水平駆動検出手段による前記垂直電極の駆動で前記垂直駆動検出手段から前記タッチ範囲として得られた垂直検出タッチ範囲が、前記垂直検出データにおける全てがタッチ範囲であることを表す垂直全タッチ範囲または1つの前記垂直部分タッチ範囲において1つのみ含まれているときに、当該垂直検出タッチ範囲と前記水平部分タッチ範囲とで1つのタッチ箇所を確定する確定処理を行い、前記垂直検出タッチ範囲が前記垂直全タッチ範囲または1つの前記垂直部分タッチ範囲において2つ以上含まれているときに、1つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記水平部分タッチ範囲の全てについて行う第2タッチ箇所確定工程のいずれかを行うタッチ箇所確定工程と
を実行することを特徴とするタッチパネル装置。
【請求項2】
水平方向に配置される複数の水平電極と、当該水平電極と交差するように垂直方向に配置される複数の垂直電極とを有するマトリクス型タッチパネルと、各水平電極へ駆動データに基づいて駆動電圧を印加することにより各水平電極を駆動するとともに、各水平電極からの検出電圧の有無を垂直方向に並ぶ垂直検出データとして出力する垂直駆動検出手段と、各垂直電極へ駆動データに基づいて駆動電圧を印加することにより各垂直電極を駆動するとともに、各垂直電極からの検出電圧の有無を水平方向に並ぶ水平検出データとして出力する水平駆動検出手段とを備えたタッチパネル装置のタッチ検出方法であって、
前記垂直駆動検出手段から得られた前記垂直検出データおよび前記水平駆動検出手段から得られた前記水平検出データにおけるタッチ部分を表すタッチ範囲を特定するタッチ範囲特定ステップと、
前記タッチ範囲を前記垂直駆動検出手段および前記水平駆動検出手段について個別に記憶するタッチ範囲記憶ステップと、
前記タッチ範囲記憶ステップに記憶されている1つの前記タッチ範囲を含む前記駆動データを生成する駆動データ生成ステップと、
前記水平電極および前記垂直電極の駆動を制御する駆動検出制御ステップとを備え、
前記駆動検出制御ステップは、
前記水平駆動検出手段から全ての前記垂直電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記垂直駆動検出手段から出力された前記垂直検出データに基づいて前記タッチ範囲特定ステップにより前記タッチ範囲として垂直部分タッチ範囲を特定する垂直部分タッチ範囲特定工程と、
前記垂直駆動検出手段から全ての前記水平電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記水平駆動検出手段から出力された前記水平検出データに基づいて前記タッチ範囲特定ステップにより前記タッチ範囲として水平部分タッチ範囲を特定する水平部分タッチ範囲特定工程と、
1つの前記垂直部分タッチ範囲を含み、前記駆動データ生成ステップにより生成された前記駆動データに基づいた、前記垂直駆動検出手段による前記水平電極の駆動で前記水平駆動検出手段から前記タッチ範囲として得られた水平検出タッチ範囲が、前記水平検出データにおける全てがタッチ範囲であることを表す水平全タッチ範囲または1つの前記水平部分タッチ範囲において1つのみ含まれているときに、当該水平検出タッチ範囲と前記垂直部分タッチ範囲とで1つのタッチ箇所を確定する確定処理を行い、前記水平検出タッチ範囲が前記水平全タッチ範囲または1つの前記水平部分タッチ範囲において2つ以上含まれているときに、1つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記垂直部分タッチ範囲の全てについて行う第1タッチ箇所確定工程、または
1つの前記水平部分タッチ範囲を含み、前記駆動データ生成ステップにより生成された前記駆動データに基づいた、前記水平駆動検出手段による前記垂直電極の駆動で前記垂直駆動検出手段から前記タッチ範囲として得られた垂直検出タッチ範囲が、前記垂直検出データにおける全てがタッチ範囲であることを表す垂直全タッチ範囲または1つの前記垂直部分タッチ範囲において1つのみ含まれているときに、当該垂直検出タッチ範囲と前記水平部分タッチ範囲とで1つのタッチ箇所を確定する確定処理を行い、前記垂直検出タッチ範囲が前記垂直全タッチ範囲または1つの前記垂直部分タッチ範囲において2つ以上含まれているときに、1つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記水平部分タッチ範囲の全てについて行う第2タッチ箇所確定工程のいずれかを行うタッチ箇所確定工程と
を実行することを特徴とするタッチパネル装置のタッチ検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−44019(P2011−44019A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2009−192083(P2009−192083)
【出願日】平成21年8月21日(2009.8.21)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】