(57)【要約】【課題】マトリクス型タッチパネルにおいて、３個以上のタッチ箇所をより確実且つ簡素な構成で確定する。【解決手段】垂直駆動検出部３から水平方向に配置された全透明電極に駆動電圧を印加して、それに交差する垂直方向に配置された透明電極のうち、タッチ箇所の透明電極に現れる電圧の検出パターンの検出部分（シャドー）をメモリ５１のシャドー記憶領域５１１に記憶する。また、水平駆動検出部４から垂直方向の全透明電極に駆動電圧を印加して、水平方向の透明電極のうち、タッチ箇所の透明電極に現れる電圧の検出パターンの検出部分（シャドー）をシャドー記憶領域５１１に記憶する。駆動検出制御部５２４により、記憶された両検出パターンの各検出部分を個別に駆動パターンとして用いて駆動および検出を繰り返していくことにより、各タッチ箇所を確定していく。【選択図】図１
2011044019.tif 000002
【特許請求の範囲】
【請求項１】
水平方向に配置される複数の水平電極と、当該水平電極と交差するように垂直方向に配置される複数の垂直電極とを有するマトリクス型タッチパネルと、各水平電極へ駆動データに基づいて駆動電圧を印加することにより各水平電極を駆動するとともに、各水平電極からの検出電圧の有無を垂直方向に並ぶ垂直検出データとして出力する垂直駆動検出手段と、各垂直電極へ駆動データに基づいて駆動電圧を印加することにより各垂直電極を駆動するとともに、各垂直電極からの検出電圧の有無を水平方向に並ぶ水平検出データとして出力する水平駆動検出手段とを備えたタッチパネル装置であって、
前記垂直駆動検出手段から得られた前記垂直検出データおよび前記水平駆動検出手段から得られた前記水平検出データにおけるタッチ部分を表すタッチ範囲を特定するタッチ範囲特定手段と、
前記タッチ範囲を前記垂直駆動検出手段および前記水平駆動検出手段について個別に記憶するタッチ範囲記憶手段と、
前記タッチ範囲記憶手段に記憶されている１つの前記タッチ範囲を含む前記駆動データを生成する駆動データ生成手段と、
前記水平電極および前記垂直電極の駆動を制御する駆動制御手段とを備え、
前記駆動制御手段は、
前記水平駆動検出手段から全ての前記垂直電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記垂直駆動検出手段から出力された前記垂直検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として垂直部分タッチ範囲を特定する垂直部分タッチ範囲特定工程と、
前記垂直駆動検出手段から全ての前記水平電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記水平駆動検出手段から出力された前記水平検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として水平部分タッチ範囲を特定する水平部分タッチ範囲特定工程と、
１つの前記垂直部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記垂直駆動検出手段による前記水平電極の駆動で前記水平駆動検出手段から前記タッチ範囲として得られた水平検出タッチ範囲が、前記水平検出データにおける全てがタッチ範囲であることを表す水平全タッチ範囲または１つの前記水平部分タッチ範囲において１つのみ含まれているときに、当該水平検出タッチ範囲と前記垂直部分タッチ範囲とで１つのタッチ箇所を確定する確定処理を行い、前記水平検出タッチ範囲が前記水平全タッチ範囲または１つの前記水平部分タッチ範囲において２つ以上含まれているときに、１つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記垂直部分タッチ範囲の全てについて行う第１タッチ箇所確定工程、または
１つの前記水平部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記水平駆動検出手段による前記垂直電極の駆動で前記垂直駆動検出手段から前記タッチ範囲として得られた垂直検出タッチ範囲が、前記垂直検出データにおける全てがタッチ範囲であることを表す垂直全タッチ範囲または１つの前記垂直部分タッチ範囲において１つのみ含まれているときに、当該垂直検出タッチ範囲と前記水平部分タッチ範囲とで１つのタッチ箇所を確定する確定処理を行い、前記垂直検出タッチ範囲が前記垂直全タッチ範囲または１つの前記垂直部分タッチ範囲において２つ以上含まれているときに、１つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記水平部分タッチ範囲の全てについて行う第２タッチ箇所確定工程のいずれかを行うタッチ箇所確定工程と
を実行することを特徴とするタッチパネル装置。
【請求項２】
水平方向に配置される複数の水平電極と、当該水平電極と交差するように垂直方向に配置される複数の垂直電極とを有するマトリクス型タッチパネルと、各水平電極へ駆動データに基づいて駆動電圧を印加することにより各水平電極を駆動するとともに、各水平電極からの検出電圧の有無を垂直方向に並ぶ垂直検出データとして出力する垂直駆動検出手段と、各垂直電極へ駆動データに基づいて駆動電圧を印加することにより各垂直電極を駆動するとともに、各垂直電極からの検出電圧の有無を水平方向に並ぶ水平検出データとして出力する水平駆動検出手段とを備えたタッチパネル装置のタッチ検出方法であって、
前記垂直駆動検出手段から得られた前記垂直検出データおよび前記水平駆動検出手段から得られた前記水平検出データにおけるタッチ部分を表すタッチ範囲を特定するタッチ範囲特定ステップと、
前記タッチ範囲を前記垂直駆動検出手段および前記水平駆動検出手段について個別に記憶するタッチ範囲記憶ステップと、
前記タッチ範囲記憶ステップに記憶されている１つの前記タッチ範囲を含む前記駆動データを生成する駆動データ生成ステップと、
前記水平電極および前記垂直電極の駆動を制御する駆動検出制御ステップとを備え、
前記駆動検出制御ステップは、
前記水平駆動検出手段から全ての前記垂直電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記垂直駆動検出手段から出力された前記垂直検出データに基づいて前記タッチ範囲特定ステップにより前記タッチ範囲として垂直部分タッチ範囲を特定する垂直部分タッチ範囲特定工程と、
前記垂直駆動検出手段から全ての前記水平電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記水平駆動検出手段から出力された前記水平検出データに基づいて前記タッチ範囲特定ステップにより前記タッチ範囲として水平部分タッチ範囲を特定する水平部分タッチ範囲特定工程と、
１つの前記垂直部分タッチ範囲を含み、前記駆動データ生成ステップにより生成された前記駆動データに基づいた、前記垂直駆動検出手段による前記水平電極の駆動で前記水平駆動検出手段から前記タッチ範囲として得られた水平検出タッチ範囲が、前記水平検出データにおける全てがタッチ範囲であることを表す水平全タッチ範囲または１つの前記水平部分タッチ範囲において１つのみ含まれているときに、当該水平検出タッチ範囲と前記垂直部分タッチ範囲とで１つのタッチ箇所を確定する確定処理を行い、前記水平検出タッチ範囲が前記水平全タッチ範囲または１つの前記水平部分タッチ範囲において２つ以上含まれているときに、１つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記垂直部分タッチ範囲の全てについて行う第１タッチ箇所確定工程、または
１つの前記水平部分タッチ範囲を含み、前記駆動データ生成ステップにより生成された前記駆動データに基づいた、前記水平駆動検出手段による前記垂直電極の駆動で前記垂直駆動検出手段から前記タッチ範囲として得られた垂直検出タッチ範囲が、前記垂直検出データにおける全てがタッチ範囲であることを表す垂直全タッチ範囲または１つの前記垂直部分タッチ範囲において１つのみ含まれているときに、当該垂直検出タッチ範囲と前記水平部分タッチ範囲とで１つのタッチ箇所を確定する確定処理を行い、前記垂直検出タッチ範囲が前記垂直全タッチ範囲または１つの前記垂直部分タッチ範囲において２つ以上含まれているときに、１つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記水平部分タッチ範囲の全てについて行う第２タッチ箇所確定工程のいずれかを行うタッチ箇所確定工程と
を実行することを特徴とするタッチパネル装置のタッチ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マトリクス型タッチパネルにおける複数のタッチ箇所を検出するタッチパネル装置およびそのタッチ検出方法に関するものである。
【背景技術】
【０００２】
マトリクス型のタッチパネルは、複数点の同時のタッチ操作を検出できることから、複数点でのタッチ入力により規定されるコマンドの入力などに好適に利用できる。このようなマトリクス型タッチパネルは、互いに交差する２軸の方向に並ぶ複数の透明電極を有しており、一方の方向の各透明電極に駆動部から駆動電圧を印加して、他方の方向の各透明電極に現れる出力電圧を検出部で検出することにより、タッチ入力の座標を特定する。
【０００３】
マトリクス型タッチパネルにおけるタッチ入力位置の特定については、例えば、特許文献１（実施形態２）に開示されている方法がある。この方法では、まず、Ｙ軸方向の全電極に駆動電圧を一斉に印加し、Ｘ軸方向の電極における各電圧を検出することで、入力座標のＸ軸成分を特定する。次に、特定した座標位置のＸ軸方向の電極に駆動電圧を印加して、Ｙ軸方向の電極における各電圧を検出することで、入力座標のＹ軸成分を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２７４５３８号公報（１９９７年１０月２１日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されているタッチ入力位置の特定方法では、３箇所以上で同時にタッチ入力が行われ、これらのタッチ入力によるタッチ箇所の検出パターンが重なっている場合、タッチ入力位置を特定することができない。
【０００６】
ここで、図９に示すように、タッチパネル１０１における電極を垂直駆動検出部１０２および水平駆動検出部１０３によって駆動し、タッチ入力された箇所を検出する例について説明する。
【０００７】
なお、以降の説明では、タッチパネル１０１におけるタッチ入力箇所をキー（ＫＥＹ）と称する。また、垂直駆動検出部１０２によって検出されたｙ軸方向の検出パターンにおいて、キーを表す部分のパターンをシャドーと称する。同様に、水平駆動検出部１０３によって検出されたｘ軸方向の検出パターンにおいて、キーを表す部分のパターンもシャドーと称する。
【０００８】
図９に示す例では、タッチパネル１０１において、３個のキーＫａ，Ｋｂ，Ｋｃが同時にタッチ入力されている。キーＫａ，Ｋｃは、垂直方向（ｙ軸方向）に重なっていないが、水平方向（ｘ軸方向）に範囲ｄｘ１で一部重なっている。また、キーＫｂ，Ｋｃは、垂直方向に重なっていないが、水平方向に範囲ｄｘ２で一部重なっている。一方、キーＫａ，Ｋｂは、水平方向に重なっていないが、垂直方向に範囲ｄｙ１で一部重なっている。
【０００９】
タッチパネル１０１において水平方向に配置される全電極に、垂直駆動検出部１０２から駆動電圧を印加することにより、垂直方向に配置される電極にタッチの有無に応じたｘ軸方向の検出パターンが水平駆動検出部１０３によって検出される。この検出パターンにおいて、キーＫａ，Ｋｂ，Ｋｃのタッチ箇所に対応するシャドーＵがｘ座標ｘ１〜ｘ２の範囲で連続して現れている。このシャドーＵからでは、キーＫａ，Ｋｂ，Ｋｃのｘ軸方向の位置を個別に特定することができない。
【００１０】
一方、タッチパネル１０１において垂直方向に配置される全電極に、水平駆動検出部１０３から駆動電圧を印加することにより、水平方向に配置される電極にタッチの有無に応じたｙ軸方向の検出パターンが垂直駆動検出部１０２によって検出される。この検出パターンにおいて、キーＫｃのみのタッチ箇所に対応するシャドーＶがｙ座標ｙ１〜ｙ２の範囲で連続して現れ、キーＫａ，Ｋｂのタッチ箇所に対応するシャドーＷがｙ座標ｙ３〜ｙ４の範囲で現れている。シャドーＶにより、キーＫｃのｙ軸方向の位置のみを特定することができるが、シャドーＷにより、キーＫａ，Ｋｂのｙ軸方向の位置を個別に特定することができない。
【００１１】
このように、図９に示す例では、垂直駆動検出部１０２および水平駆動検出部１０３のいずれから電極を駆動しても、キーＫａ，Ｋｂ，Ｋｃを個別に特定することができない。
【００１２】
本発明は、上記の問題点に鑑みてなされたものであり、マトリクス型タッチパネルにおいて、３個以上のタッチ箇所を確実且つ簡素な構成で確定することを目的としている。
【課題を解決するための手段】
【００１３】
本発明に係るタッチパネル駆動装置は、水平方向に配置される複数の水平電極と、当該水平電極と交差するように垂直方向に配置される複数の垂直電極とを有するマトリクス型タッチパネルと、各水平電極へ駆動データに基づいて駆動電圧を印加することにより各水平電極を駆動するとともに、各水平電極からの検出電圧の有無を垂直方向に並ぶ垂直検出データとして出力する垂直駆動検出手段と、各垂直電極へ駆動データに基づいて駆動電圧を印加することにより各垂直電極を駆動するとともに、各垂直電極からの検出電圧の有無を水平方向に並ぶ水平検出データとして出力する水平駆動検出手段とを備えたタッチパネル装置であって、上記の課題を解決するために、前記垂直駆動検出手段から得られた前記垂直検出データおよび前記水平駆動検出手段から得られた前記水平検出データに基づいたタッチ部分を表すタッチ範囲を特定するタッチ範囲検出手段と、前記タッチ範囲を前記垂直駆動検出手段および前記水平駆動検出手段について個別に記憶するタッチ範囲記憶手段と、前記タッチ範囲記憶手段に記憶されている１つの前記タッチ範囲を含む前記駆動データを生成する駆動データ生成手段と、前記水平電極および前記垂直電極の駆動を制御する駆動制御手段とを備え、前記駆動制御手段が（ａ）〜（ｃ）の各工程を実行することを特徴としている。
（ａ）垂直部分タッチ範囲特定工程
前記水平駆動検出手段から全ての前記垂直電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記垂直駆動検出手段から出力された前記垂直検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として垂直部分タッチ範囲を特定する工程
（ｂ）水平部分タッチ範囲特定工程
前記垂直駆動検出手段から全ての前記水平電極を駆動することにより、前記マトリクス型タッチパネルにおけるタッチ箇所に応じて前記水平駆動検出手段から出力された前記水平検出データに基づいて前記タッチ範囲特定手段により前記タッチ範囲として水平部分タッチ範囲を特定する工程
（ｃ）タッチ箇所確定工程
１つの前記垂直部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記垂直駆動検出手段による前記水平電極の駆動で前記水平駆動検出手段から前記タッチ範囲として得られた水平検出タッチ範囲が、前記水平検出データにおける全てがタッチ範囲であることを表す水平全タッチ範囲または１つの前記水平部分タッチ範囲において１つのみ含まれているときに、当該水平検出タッチ範囲と前記垂直部分タッチ範囲とで１つのタッチ箇所を確定する確定処理を行い、前記水平検出タッチ範囲が前記水平全タッチ範囲または１つの前記水平部分タッチ範囲において２つ以上含まれているときに、１つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記垂直部分タッチ範囲の全てについて行う第１タッチ箇所確定工程、または
１つの前記水平部分タッチ範囲を含み、前記駆動データ生成手段により生成された前記駆動データに基づいた、前記水平駆動検出手段による前記垂直電極の駆動で前記垂直駆動検出手段から前記タッチ範囲として得られた垂直検出タッチ範囲が、前記垂直検出データにおける全てがタッチ範囲であることを表す垂直全タッチ範囲または１つの前記垂直部分タッチ範囲において１つのみ含まれているときに、当該垂直検出タッチ範囲と前記水平部分タッチ範囲とで１つのタッチ箇所を確定する確定処理を行い、前記垂直検出タッチ範囲が前記垂直全タッチ範囲または１つの前記垂直部分タッチ範囲において２つ以上含まれているときに、１つの前記タッチ箇所を確定するまで前記確定処理を繰り返して行う処理を前記水平部分タッチ範囲の全てについて行う第２タッチ箇所確定工程のいずれかを行う工程
また、本発明に係るタッチパネル装置のタッチ検出方法は、上記の課題を解決するために、前記垂直駆動検出手段および前記水平駆動検出手段を除く各手段をステップとして備えていることを特徴としている。
【００１４】
上記の構成では、マトリクス型タッチパネルにおいて、複数箇所でタッチ入力がされる場合、複数のタッチ箇所が水平方向や垂直方向に重なっている場合、複数のタッチ箇所についてタッチ範囲も同方向に重なるので、そのタッチ範囲からタッチ箇所を確定できない。
【００１５】
そこで、まず、駆動制御手段（駆動制御ステップ）の垂直部分タッチ範囲工程により、水平駆動検出手段から全ての垂直電極が駆動されると、マトリクス型タッチパネルにおけるタッチ箇所に応じて垂直駆動検出手段から出力された垂直検出データに基づいてタッチ範囲特定手段（タッチ範囲特定ステップ）によりタッチ範囲として垂直部分タッチ範囲が特定される。この垂直部分タッチ範囲は、タッチ範囲記憶手段に記憶される。
【００１６】
また、駆動制御手段（駆動制御ステップ）の水平部分タッチ範囲工程により、垂直駆動検出手段から全ての水平電極が駆動されると、マトリクス型タッチパネルにおけるタッチ箇所に応じて水平駆動検出手段から出力された水平検出データに基づいてタッチ範囲特定手段（例えばタッチ範囲特定ステップ）によりタッチ範囲として水平部分タッチ範囲が特定される。この水平部分タッチ範囲は、タッチ範囲記憶手段に記憶される。
【００１７】
駆動制御手段（駆動制御ステップ）のタッチ箇所確定工程では、第１タッチ箇所確定工程または第２タッチ箇所確定工程のいずれかが行われる。
【００１８】
第１タッチ箇所確定工程では、まず、１つの垂直部分タッチ範囲を含み、駆動データ生成手段により生成された駆動データに基づいて、垂直駆動検出手段によって水平電極が駆動されると、水平駆動検出手段から水平検出タッチ範囲が得られる。この水平検出タッチ範囲が、水平全タッチ範囲または１つの水平部分タッチ範囲において１つのみ含まれているときに、当該水平検出タッチ範囲と垂直部分タッチ範囲とで１つのタッチ箇所を確定する確定処理が行われる。そして、水平検出タッチ範囲が水平全タッチ範囲または１つの水平部分タッチ範囲において２つ以上含まれているときに、１つのタッチ箇所を確定するまで確定処理が繰り返して行われる。この処理は、垂直部分タッチ範囲の全てについて行われる。
【００１９】
一方、第２タッチ箇所確定工程では、まず、１つの水平部分タッチ範囲を含み、駆動データ生成手段により生成された駆動データに基づいて、水平駆動検出手段によって垂直電極が駆動されると、垂直駆動検出手段から垂直検出タッチ範囲が得られる。この垂直検出タッチ範囲が、垂直全タッチ範囲または１つの垂直部分タッチ範囲において１つのみ含まれているときに、当該垂直検出タッチ範囲と水平部分タッチ範囲とで１つのタッチ箇所を確定する確定処理が行われる。そして、垂直検出タッチ範囲が垂直全タッチ範囲または１つの垂直部分タッチ範囲において２つ以上含まれているときに、１つのタッチ箇所を確定するまで確定処理が繰り返して行われる。この処理は、水平部分タッチ範囲の全てについて行われる。
【００２０】
このように、確定処理が繰り返して行われることにより、１つのタッチ箇所が確定される。
【発明の効果】
【００２１】
本発明に係るタッチパネル装置は、以上のように、タッチ範囲特定手段と、タッチ範囲記憶手段と、駆動データ生成手段と、駆動制御手段とを備えることにより、３個以上のタッチ箇所が垂直方向または水平方向に重なっていても、確実に確定することができるという効果を奏する。また、駆動制御手段（駆動制御ステップ）は、水平検出タッチ範囲と水平全タッチ範囲または１つの水平部分タッチ範囲との比較、および垂直検出タッチ範囲と垂直全タッチ範囲または１つの垂直部分タッチ範囲との比較を行うことから、簡素な構成でタッチ箇所を確定することができるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態に係るタッチパネル装置の要部の構成を示す図である。
【図２】上記タッチパネル装置におけるタッチパネルと当該タッチパネル周辺に接続される水平駆動検出部および垂直駆動検出部の構成を示す図である。
【図３】上記水平駆動検出部および上記垂直駆動検出部から出力される出力データ（検出パターン）の一例を示す図である。
【図４】（ａ）および（ｂ）は上記タッチパネル装置における制御インターフェース部に設けられるメモリの構成を示す図である。
【図５】上記制御インターフェース部によるタッチ箇所を確定するための手順を示すフローチャートである。
【図６】（ａ）〜（ｆ）は上記制御インターフェース部による３つのタッチ箇所を確定するための手順を示す図である。
【図７】（ａ）〜（ｆ）は上記制御インターフェース部による７つのタッチ箇所を確定するための手順を示す図である。
【図８】（ａ）〜（ｅ）は上記制御インターフェース部による７つのタッチ箇所を確定するための図７（ｆ）に続く手順を示す図である。
【図９】従来のタッチパネル装置における３つのタッチ箇所の検出について示す図である。
【発明を実施するための形態】
【００２３】
本発明の実施形態を図１〜図８に基づいて説明すると、以下の通りである。
〔１．タッチパネル装置の構成〕
図１に示すように、本実施の形態に係るタッチパネル装置１は、タッチパネル２と、垂直駆動検出部３と、水平駆動検出部４と、制御インターフェース部５とを備えている。垂直駆動検出部３、水平駆動検出部４および制御インターフェース部５は、タッチパネル装置１においてタッチパネル駆動装置を構成している。
〔１−１．タッチパネルの構成〕
図２に示すように、タッチパネル２は、高精細のマトリクス型タッチパネルである。このタッチパネル２は、所定間隔をおいて対向するように貼り合わされた透明基板を有しており、両透明基板の互いに対向する面が電極形成面となる。一方の透明基板における電極形成面には、水平方向に互いに平行に配された複数の透明電極Ｅｈ（水平電極）が形成されている。また、他方の透明基板における電極形成面には、垂直方向に互いに平行に配された複数の透明電極Ｅｖ（垂直電極）が形成されている。各透明電極Ｅｈ，Ｅｖは、ＩＴＯ（インジウム錫酸化物）などからなる抵抗膜で構成される短冊状の電極であり、両透明基板間で互いに交差するように配置されている。
【００２４】
透明電極Ｅｈのうち最も上端に配置されるのが第１（電極番号１）の透明電極Ｅｈであり、以降、その下側に、第２，第３，…の透明電極Ｅｈが配置される。透明電極Ｅｖのうち最も左端に配置されるのが、第１（電極番号１）の透明電極Ｅｈであり、以降、その右側に、第２，第３，…の透明電極Ｅｖが配置される。
〔１−２．タッチパネルの駆動検出動作〕
タッチパネル装置１においては、タッチパネル２がタッチされると、タッチ箇所で透明電極Ｅｈ，Ｅｖの交差部分が互いに接触する。この状態で、透明電極Ｅｈまたは透明電極Ｅｖのいずれか一方に駆動電圧を印加すると、この駆動電圧がタッチ箇所を介して他方側に現れる。したがって、この電圧を検出電圧として取り出すことにより、タッチパネル２上でタッチされた位置が検出される。
【００２５】
なお、以降の説明において、透明電極Ｅｈ，Ｅｖに共通して記述する場合には、透明電極Ｅとする。
〔１−３．垂直駆動検出部の構成〕
垂直駆動検出部３（垂直駆動検出手段）は透明電極Ｅｈの一端側に接続され、複数のドライバＩＣ６を備えている。また、垂直駆動検出部３において、各ドライバＩＣ６は、タッチパネル２の垂直方向接続端縁に沿った垂直方向に並ぶように実装されている。
〔１−４．水平駆動検出部の構成〕
一方、水平駆動検出部４（水平駆動検出手段）は透明電極Ｅｖの一端側に接続され、複数のドライバＩＣ６が設けられている。また、水平駆動検出部４において、各ドライバＩＣ６は、タッチパネル２の水平方向の接続端縁に沿った水平方向に並ぶように実装されている。
〔１−５．ドライバＩＣの構成〕
ドライバＩＣ６は、制御インターフェース部５からドライバＩＣ６へ与えられるシリアルのドライバ入力データＤＡＴＡＩＮに基づいた駆動電圧をタッチパネル２の複数の透明電極Ｅｈ，Ｅｖへ出力する。また、ドライバＩＣ６は、透明電極Ｅｈ，Ｅｖから出力される検出電圧に基づく検出データを制御インターフェース部５に出力する。
【００２６】
具体的には、ドライバＩＣ６は、ドライバ入力データＤＡＴＡＩＮを透明電極Ｅｈ，Ｅｖの個々に対応するようにパラレルに変換して、このパラレルのデータに基づいて透明電極Ｅｈ，Ｅｖの個々に与える駆動電圧を発生する。また、具体的には、ドライバＩＣ６は、複数の透明電極Ｅｈ，Ｅｖの個々から出力される検出電圧をパラレルのデータとして検出し、検出したデータをシリアルの検出データに変換してドライバ出力データＤＡＴＡＯＵＴとして出力する。
【００２７】
このため、ドライバＩＣ６は、例えば、特許文献１の実施形態２に記載された駆動部および検出部の機能を兼ね備えるように構成されている。具体的には、ドライバＩＣ６は、上記のようなデータのシリアル／パラレル変換を行うために、シリアルイン−パラレルアウトシフトレジスタを有している。また、ドライバＩＣ６は、上記のようなパラレル／シリアル変換を行うために、パラレルイン−シリアルアウトシフトレジスタを有している。
【００２８】
なお、ドライバＩＣ６は、シリアルイン−パラレルアウトシフトレジスタおよびパラレルイン−シリアルアウトシフトレジスタを有する代わりに、これらの機能を兼ね備えたシフトレジスタを有していてもよい。
【００２９】
垂直駆動検出部３に設けられる各ドライバＩＣ６は、複数の透明電極Ｅｈに駆動電圧を出力するとともに、複数の透明電極Ｅｈからの検出電圧が入力されるように、タッチパネル２側に入出力用の端子（ピン）を有している。
【００３０】
垂直駆動検出部３において、各ドライバＩＣ６間でデータ伝送線がデイジーチェーン接続されている。これにより、垂直駆動検出部３において、制御インターフェース部５からのドライバ入力データＤＡＴＡＩＮは、初段のドライバＩＣ６（図１および図２において垂直駆動検出部３の上端に位置する）に入力されて、順次後段のドライバＩＣ６に伝送されていく。また、垂直駆動検出部３において、各ドライバＩＣ６から出力される検出データが、その後段のドライバＩＣ６に入力され、当該後段のドライバＩＣ６の検出データに続いてシフトされる。これにより、各ドライバＩＣ６の検出データが連続した１つのドライバ出力データＤＡＴＡＯＵＴ（垂直検出データ）となって、垂直駆動検出部３における最終段のドライバＩＣ６（図１および図２において垂直駆動検出部３の下端に位置する）から出力される。
【００３１】
一方、水平駆動検出部４に設けられる各ドライバＩＣ６は、複数の透明電極Ｅｖに駆動電圧を出力するとともに、複数の透明電極Ｅｖからの検出電圧が入力されるように、タッチパネル２側に入出力用の端子（ピン）を有している。
【００３２】
水平駆動検出部４において、各ドライバＩＣ６間でデータ伝送線がデイジーチェーン接続されている。これにより、水平駆動検出部４において、制御インターフェース部５からのドライバ入力データＤＡＴＡＩＮは、初段のドライバＩＣ６（図１および図２において水平駆動検出部４の左端に位置する）に入力されて、順次後段のドライバＩＣ６に伝送されていく。また、水平駆動検出部４において、各ドライバＩＣ６から出力される検出データが、その後段のドライバＩＣ６に入力され、当該後段のドライバＩＣ６の検出データに続いてシフトされる。これにより、各ドライバＩＣ６の検出データが連続した１つのドライバ出力データＤＡＴＡＯＵＴ（水平検出データ）となって、水平駆動検出部４における最終段のドライバＩＣ６（図１および図２において水平駆動検出部４の右端に位置する）から出力される。
【００３３】
垂直駆動検出部３および水平駆動検出部４における各ドライバＩＣ６には、それぞれ直接リセット信号ＲＥＳとクロックＣＬＫとが入力される。
【００３４】
なお、垂直駆動検出部３および水平駆動検出部４においては、各ドライバＩＣ６が制御インターフェース部５とパラレルで直接データの送受を行うように構成されていてもよい。
〔１−６．ドライバ入力データおよびドライバ出力データの構成〕
ここで、ドライバ入力データＤＡＴＡＩＮの各ビットは、各透明電極Ｅに対応しており、“１”である場合に駆動電圧の印加を表し（アクティブハイ）、“０”である場合に駆動電圧の非印加を表している。一方、図３に示すように、ドライバ出力データＤＡＴＡＯＵＴの各ビットは、各透明電極Ｅ（前述の電極番号）に対応しており、“１”である場合に印加電圧の検出を表し（アクティブハイ）、“０”である場合に印加電圧の非検出を表している。このように、ドライバ出力データＤＡＴＡＯＵＴは、全ての透明電極Ｅｈ，Ｅｖによる検出および非検出（駆動電圧の有無）を表す検出パターンとなる。
【００３５】
なお、以降の説明においても、図９を参照した例と同様にタッチ箇所をキー（ＫＥＹ）と称する。水平駆動検出部４から出力されるドライバ出力データＤＡＴＡＯＵＴ（検出パターン）におけるタッチ検出部分を、図９を参照した例と同様にシャドー（タッチ部分，水平部分タッチ範囲）と称する。同様に、垂直駆動検出部３から出力されるドライバ出力データＤＡＴＡＯＵＴにおけるタッチ検出部分もシャドー（タッチ部分，垂直部分タッチ範囲）と称する。
〔１−７．制御インターフェース部の構成〕
制御インターフェース部５は、外部のＣＰＵからの指示を受けて、タッチパネル２へ与えるドライバ入力データＤＡＴＡＩＮを出力するとともに、タッチパネル２から出力されるドライバ出力データＤＡＴＡＯＵＴを取り込む動作を行うことにより、キーを特定してＣＰＵにその特定したデータを与え、ＣＰＵとの間で制御のためのインターフェース機能を有する。より具体的には、制御インターフェース部５は、ドライバ出力データＤＡＴＡＯＵＴから特定される検出パターンに基づいて、タッチパネル２における複数のキーの個々を特定するために、タッチパネル２の駆動および検出を複数のステージで繰り返して行いながらドライバ入力データＤＡＴＡＩＮの出力およびドライバ出力データＤＡＴＡＯＵＴの取り込みを行う。
【００３６】
制御インターフェース部５は、上記の機能を実現するために、メモリ５１と、メモリ制御部５２とを有している。また、下記のように構成される制御インターフェース部５は、ハードウェアロジック（デジタル回路）によって構成されるが、マイクロコンピュータによってソフトウェアで実現されるように構成されてもよい。
〔１−７−１．メモリの構成〕
ＲＡＭからなるメモリ５１は、シャドー記憶領域５１１（タッチ範囲記憶手段）と、確定キー記憶領域５１２と、作業領域５１３とを有している。
〔１−７−１（ａ）．シャドー記憶領域の構成〕
シャドー記憶領域５１１は、垂直駆動検出部３および水平駆動検出部４からのそれぞれのドライバ出力データＤＡＴＡＯＵＴ（検出パターン）から特定されるシャドーを規定するデータを記憶する。ここで、以降の説明では、適宜、垂直駆動検出部３から得られるシャドーを垂直シャドーと称し、水平駆動検出部４から得られるシャドーを水平シャドーと称する。
【００３７】
このシャドー記憶領域５１１は、図４（ａ）に示すように、ステージ毎に区分された複数のステージ領域からなる。ステージ領域は、図４（ｂ）に示すように、アドレス“０”〜“１５”に区分された領域を垂直シャドーと水平シャドーとで個別に含んでいる。アドレス“１”〜“１３”は、メモリ５１において後述するシャドーポインタＳｎ−ＰＴＲを用いて間接アドレスとして指定される。図４（ｂ）はステージ０のステージ領域を示している。
【００３８】
アドレス“０”の領域（シャドー数領域）は、該当するステージで特定された４ビットのシャドー数Ｓｎ−ＮＵＭ（ｎはステージ数を表す０以上の整数）を記憶する。図４（ｂ）に示す例では、シャドー数領域にステージ０のシャドー数Ｓ０−ＮＵＭが記憶されている。シャドー数領域には、後述するシャドーポジション領域にシャドー情報特定部５２１によって特定されたシャドー数が書き込まれる。
【００３９】
アドレス“１”〜“１３”の各領域（シャドーポジション領域）は、シャドーの先頭位置および末尾位置を表すシャドーポジションについてのデータ（シャドーポジションデータ）を記憶する。シャドーポジションデータは、９ビットのボトム位置ＢＯ−ｉＰおよびトップ位置ＴＯ−ｉＰ（ｉは１から１３までの整数）で表される。シャドーポジション領域は、規定のシャドー数だけ設けられる。シャドーの規定数は、本実施の形態では１３に定められているが、メモリ５１の容量に応じて所望に規定することができるので、１３には限定されない。
【００４０】
上記のトップ位置ＴＯ−ｉＰは、検出パターンにおける“０”から変化した“１”の部分、すなわちシャドーの先頭位置の電極番号を表している。また、上記のボトム位置ＢＯ−ｉＰは、検出パターンにおける“０”に変化する直前の“１”の部分、すなわちシャドーの末尾位置の電極番号を表している。例えば、図３に示す検出パターンでは、電極番号２０が第１のトップ位置ＴＯ−１Ｐであり、電極番号４５が第１のボトム位置ＢＯ−１Ｐであり、第１のトップ位置ＴＯ−１Ｐおよび第１のボトム位置ＢＯ−１Ｐで第１のシャドーが規定される。また、電極番号７０が第２のトップ位置ＴＯ−２Ｐであり、電極番号７８が第２のボトム位置ＢＯ−２Ｐであり、第２のトップ位置ＴＯ−２Ｐおよび第２のボトム位置ＢＯ−２Ｐで第２のシャドーが規定される。
【００４１】
アドレス“１４”の領域（駆動シャドーポジション領域）は、後述するシャドーポインタＳｎ−ＰＴＲで指定されたアドレスのシャドーポジション領域に記憶されているトップ位置ＴＯ−ｉＰおよびボトム位置ＢＯ−ｉＰを、トップ位置ＴＯ−ＴＰおよびボトム位置ＢＯ−ＴＰとして一時的に記憶する。
【００４２】
アドレス“１５”の領域（シャドーポインタ領域）は、４ビットのシャドーポインタＳｎ−ＰＴＲを記憶する。シャドーポインタＳｎ−ＰＴＲは、トップ位置ＴＯ−ｉＰおよびボトム位置ＢＯ−ｉＰが記憶されるシャドーポジション領域のアドレス“１”〜“１３”のいずれかを指定するための間接アドレスである。このシャドーポインタＳｎ−ＰＴＲは、シャドーポジション領域に記憶されたトップ位置ＴＯ−ｉＰおよびボトム位置ＢＯ−ｉＰのうち、どのシャドーまで駆動に用いられたかを示すために用いられる。図４（ｂ）に示す例では、シャドーポインタ領域にステージ０のシャドーポインタＳ０−ＰＴＲが記憶されている。シャドーポインタＳｎ−ＰＴＲとしては、シャドー数領域に規定される上記のアドレス“１”〜“１３”が用いられる。
〔１−７−１（ｂ）．確定キー記憶領域の構成〕
確定キー記憶領域５１２は、最終的に確定されたキーについてのデータを記憶する。具体的には、確定キー記憶領域５１２は、キーが確定されたときのステージにおいて駆動に用いられたシャドーを規定するシャドーポジション、および確定キー数ＫｅｙＮｏをキーについてのデータとして記憶する。上記のシャドーポジションは、駆動検出制御部５２４によって確定キー記憶領域５１２に書き込まれる。確定キー数ＫｅｙＮｏは、キーが１つ確定される毎に駆動検出制御部５２４によって１つずつ加算されて確定キー記憶領域５１２に書き替えられる。
〔１−７−１（ｃ）．作業領域の構成〕
作業領域５１３は、キー検出のための処理に必要な各種の値を記憶するために設けられている。例えば、このような値としては、４ビットのステージ番号ｎ（ｎは０以上の整数）、駆動ステージ番号ｍ、比較ステージ番号ｘ、検出シャドー数Ｒ、ＦＩＲＳＴＨフラグ、ＫＥＥＰ−ＰＴＲフラグが挙げられる。
【００４３】
駆動ステージ番号ｍは、駆動に用いるシャドーが得られたステージ番号である。比較ステージ番号ｘは、検出されたシャドーと比較する比較対象となるシャドーが得られたステージ番号である。
【００４４】
検出シャドー数Ｒは、ステージｍで検出されたシャドーがステージｘで得られたシャドーに含まれる数である。
【００４５】
ＦＩＲＳＴＨフラグは、水平シャドー数Ｍが垂直シャドー数Ｌ以上であるときに“１”がセットされ、それ以外の場合に“０”にセットされるフラグである。ここで、垂直シャドー数Ｌは、駆動検出の第１段階であるステージ０で、水平駆動検出部４から全透明電極Ｅｖを駆動して垂直駆動検出部３において検出されたシャドーの数である。また、水平シャドー数Ｍは、ステージ０に続くステージ１で、垂直駆動検出部３から全透明電極Ｅｈを駆動して水平駆動検出部４において検出されたシャドーの数である。ステージ２以降では、ＦＩＲＳＴＨフラグが“０”であるときに垂直駆動検出部３から駆動が行われ、ＦＩＲＳＴＨフラグが“１”であるときに水平駆動検出部４から駆動が行われる。
【００４６】
ＫＥＥＰ−ＰＴＲフラグは、シャドーポインタＳｎ−ＰＴＲの値を保持するときに“１”がセットされ、保持しない（クリアする）ときに“０”がセットされるフラグである。
【００４７】
メモリ制御部５２は、シャドー情報特定部５２１（タッチ範囲特定手段）と、書込制御部５２２と、ステージ変更部５２３と、駆動検出制御部５２４（駆動制御手段）と、入力データ生成部５２５（駆動データ生成手段）と、読出制御部５２６とを有している。
〔１−７−２．シャドー情報特定部の構成〕
シャドー情報特定部５２１は、垂直駆動検出部３および水平駆動検出部４から出力されるドライバ出力データＤＡＴＡＯＵＴから、“０”から変化する“１”のビットおよび“０”へ変化する“１”のビットを検出することにより、シャドーを特定する前述のシャドーポジションを特定する。また、シャドー情報特定部５２１は、シャドーポジションに基づいてドライバ出力データＤＡＴＡＯＵＴに含まれるシャドーの数（シャドー数）を特定する。
〔１−７−３．書込制御部の構成〕
書込制御部５２２は、シャドー情報特定部５２１で特定されたシャドーポジションを、メモリ５１のシャドー記憶領域５１１に書き込む。具体的には、書込制御部５２２は、メモリ５１の作業領域５１３に設定されているステージ番号を参照して、シャドー記憶領域５１１における当該ステージ番号に応じたステージ領域に、検出されたシャドーポジションを１組ずつアドレス“１”から順に書き込んでいく。
〔１−７−４．ステージ変更部の構成〕
ステージ変更部５２３は、透明電極Ｅｖを一括して駆動するステージ０のとき、駆動検出制御部５２４の指示を受けると、作業領域５１３のステージ番号ｎを０にセットする。また、ステージ変更部５２３は、透明電極Ｅｈを一括して駆動するステージ１のとき、駆動検出制御部５２４の指示を受けると、作業領域５１３のステージ番号ｎを１にセットする。また、ステージ変更部５２３は、ＦＩＲＳＴＨフラグが決定した後に駆動検出制御部５２４の指示を受けると、作業領域５１３のステージ番号ｎを２にセットする。さらに、ステージ変更部５２３は、ステージ２以降で、駆動検出制御部５２４からの加算命令により作業領域５１３のステージ番号ｎを１つ加算して書き替える一方、駆動検出制御部５２４からの減算命令によりステージ番号ｎを１つ減算して書き替える。
〔１−７−５．駆動検出制御部の構成〕
駆動検出制御部５２４は、読出制御部５２６を介して、シャドー記憶領域５１１のステージ０のステージ領域に記憶されている垂直シャドー数Ｌと、ステージ１のステージ領域に記憶されている水平シャドー数Ｍとを比較する。駆動検出制御部５２４は、この比較の結果、水平シャドー数Ｍが垂直シャドー数Ｌ以上であるときに、作業領域５１３におけるＦＩＲＳＴＨフラグを“１”にセットし、それ以外のときにＦＩＲＳＴＨフラグを“０”にセットする。
【００４８】
駆動検出制御部５２４は、ステージ変更部５２３へのステージ番号ｎの変更指示や、作業領域５１３における駆動ステージ番号ｍ、比較ステージ番号ｘ、検出シャドー数Ｒ、ＦＩＲＳＴＨフラグおよびＫＥＥＰ−ＰＴＲフラグのセットを行う。また、駆動検出制御部５２４は、必要に応じて、シャドー記憶領域５１１における設定の変更やデータの読み出しを行う。
【００４９】
さらに、駆動検出制御部５２４は、確定キー記憶領域５１３に記憶されている確定キー数ＫｅｙＮｏと、その後のキーの確定に使用されるシャドー数とから、確定可能な規定のキー数を越えるか否かを判定する。駆動検出制御部５は、確定可能な規定のキー数を越えると判定した場合、新たなタッチ入力があるまでキー確定動作を停止し、必要に応じてＣＰＵにそのことを通知する。
【００５０】
駆動検出制御部５２４は、キーを確定するために、次の（１）〜（４）の処理を行うが、詳細については図５のフローチャートを参照して後述するような処理を行う。
（１）シャドーの比較
駆動検出制御部５２４は、駆動ステージｍで新たに検出されたシャドー（ｍシャドー）が、ステージｘで得られたシャドー（ｘシャドー）に含まれるか否かを両シャドーの論理積（ＡＮＤ）をとって判定する。ｍシャドーおよびｘシャドーは、いずれも同じ垂直駆動検出部３または水平駆動検出部４のいずれか一方により出力される。
（２）キーの確定
駆動検出制御部５２４は、上記のＡＮＤの結果により、ｍシャドーがｘシャドーに１つのみ含まれていると判定すると、当該ｍシャドーで特定されるキーを確定キーとして確定キー記憶領域５１２に書き込む。
（３）駆動の続行−１（ステージの上昇）
駆動検出制御部５２４は、上記のＡＮＤの結果により、複数のｍシャドーがｘシャドーに含まれていると判定すると、ステージ番号ｎに１を加算して、当該ｍシャドーを用いた駆動を個別に実行するように、入力データ生成部５２５にドライバ入力データＤＡＴＡＩＮの生成を指示する。
（４）駆動の続行−２（ステージの下降）
駆動検出制御部５２４は、上記の複数のｍシャドーを用いた駆動により、ｍシャドーについて全てキーが確定すると、ステージ番号ｎが３以上である場合に、ステージ番号ｎから１を減算して、キーの確定していないｍシャドーを用いた駆動を続ける。
〔１−７−６．入力データ生成部の構成〕
入力データ生成部５２５は、ステージ番号ｎが０，１である場合、透明電極Ｅｖまたは透明電極Ｅｈを一括して駆動するための駆動パターンをドライバ入力データＤＡＴＡＩＮとして出力する。この駆動パターンは、例えば、メモリ５１の所定の領域に記憶されている。また、入力データ生成部５２５は、ステージ２以上である場合、作業領域５１３におけるＦＩＲＳＴＨフラグの値に応じて、シャドー記憶領域５１１の該当するステージ領域における駆動シャドーポジション領域に記憶されているシャドーポジションのデータを用いて、クロックＣＬＫに同期した１つのシャドーを含むドライバ入力データＤＡＴＡＩＮを生成する。
〔２．タッチパネル装置におけるキー確定動作〕
ここで、上記のように構成されるタッチパネル装置１におけるキーの確定動作について説明する。
〔２−１．３個のキーを同時入力する例〕
図５は、上記のように構成されるタッチパネル装置１におけるキーの確定動作の手順を示している。図６は、３個のキーが同時に入力された場合に各キーを確定する具体例を示している。ここでは、図６に示す具体例について、タッチパネル装置１のキー確定動作を図５のフローチャートを参照しながら説明する。
【００５１】
図６（ａ）に示すように、タッチパネル２において、キーＫ１，Ｋ２，Ｋ３が同時に入力されている。キーＫ１，Ｋ２は垂直方向に範囲ｄ１で一部重なり、キーＫ２，Ｋ３は水平方向に範囲ｄ２で一部重なり、キーＫ１，Ｋ３は垂直および水平のいずれの方向にも重なっていない。
〔２−１−１．確定キー数の初期化〕
まず、駆動検出制御部５２４は、メモリ５１の作業領域５１３において、確定キー数ＫｅｙＮｏを０に設定する（ステップＳ１）。
〔２−１−２．ステージ０〕
水平駆動検出部４が全透明駆動電極Ｅｖに駆動電圧を印加することにより、垂直駆動検出部３から垂直方向のシャドー（垂直検出タッチ範囲）を検出する（ステップＳ２）。この処理はステージ０（垂直部分タッチ範囲特定工程）に相当する。
【００５２】
ステージ０において、駆動検出制御部５２４は、全透明電極Ｅｖを駆動するように入力データ生成部５２５に指示を与える。これにより、入力データ生成部５２５は、全透明電極Ｅｖを駆動するための駆動パターンをドライバ入力データＤＡＴＡＩＮとして出力する。
【００５３】
シリアルのドライバ入力データＤＡＴＡＩＮは、水平駆動検出部４に入力されると、各ドライバＩＣ６内のシフトレジスタを順次シフトし、その後、該シフトレジスタから対応する各透明電極Ｅｈにパラレルに駆動電圧が印加される。すると、垂直駆動検出部３において、各ドライバＩＣ６で検出された検出パターンが出力されることにより、最終段のドライバＩＣ６からドライバ出力データＤＡＴＡＯＵＴが検出パターンとして出力される。
【００５４】
図６（ａ）に示すように、検出パターンが、キーＫ１，Ｋ２に対応する部分をシャドーＡ１として含み、キーＫ３に対応する部分をシャドーＢ１として含んでいる。この場合、シャドー情報特定部５２１によって、ドライバ出力データＤＡＴＡＯＵＴから、シャドーＡ１に対応するトップ位置ＴＯ−１Ｐおよびボトム位置ＢＯ−１Ｐと、シャドーＢ１に対応するトップ位置ＴＯ−２Ｐおよびボトム位置ＢＯ−２Ｐとが特定される。また、シャドー情報特定部５２１によって、これらの値からシャドー数Ｓ０−ＮＵＭ（＝Ｌ＝２）が特定される。
【００５５】
書込制御部５２２によって、トップ位置ＴＯ−１Ｐおよびボトム位置ＢＯ−１Ｐと、トップ位置ＴＯ−２Ｐおよびボトム位置ＢＯ−２Ｐと、シャドー数Ｓ０−ＮＵＭとが、シャドー記憶領域５１１のステージ領域（ステージ０）に書き込まれる。
〔２−１−３．ステージ１〕
ステージ０の処理が終了すると、垂直駆動検出部３が全透明駆動電極Ｅｈに駆動電圧を印加することにより、水平駆動検出部４から水平方向のシャドー（水平検出タッチ範囲）を検出する（ステップＳ３）。この処理はステージ１（水平部分タッチ範囲特定工程，ｎ＝１）に相当する。
【００５６】
ステージ１において、駆動検出制御部５２４は、メモリ５１の作業領域５１３のステージ番号ｎを１にセットする。また、駆動検出制御部５２４は、全透明電極Ｅｈを駆動するように入力データ生成部５に指示を与える。これにより、入力データ生成部５２５は、作業領域５１３のステージ番号ｎが１であることを認識すると、全透明電極Ｅｈを駆動するための駆動パターンをドライバ入力データＤＡＴＡＩＮとして出力する。
【００５７】
ドライバ入力データＤＡＴＡＩＮが、垂直駆動検出部３に入力されると、水平駆動検出部４における場合と同様に、全ドライバＩＣ６内のシフトレジスタをシフトしていき、シフトレジスタから出力されるパルスに基づいて各透明電極Ｅｈに駆動電圧が印加される。すると、水平駆動検出部４において、各ドライバＩＣ６で検出された検出パターンが出力されることにより、最終段のドライバＩＣ６からドライバ出力データＤＡＴＡＯＵＴが検出パターンとして出力される。
【００５８】
図６（ｂ）に示すように、検出パターンが、キーＫ２，Ｋ３に対応する部分をシャドーＣ１として含み、キーＫ１に対応する部分をシャドーＤ１として含んでいる。この場合、シャドー情報特定部５２１によって、シャドーＣ１に対応するトップ位置ＴＯ−１Ｐおよびボトム位置ＢＯ−１Ｐと、シャドーＤ１に対応するトップ位置ＴＯ−２Ｐおよびボトム位置ＢＯ−２Ｐとが特定される。また、シャドー情報特定部５２１によって、これらの値からシャドー数Ｓ１−ＮＵＭ（＝Ｍ＝２）が特定される。
【００５９】
書込制御部５２２によって、トップ位置ＴＯ−１Ｐおよびボトム位置ＢＯ−１Ｐと、トップ位置ＴＯ−２Ｐおよびボトム位置ＢＯ−２Ｐと、シャドー数Ｓ１−ＮＵＭとが、シャドー記憶領域５１１のステージ領域（ステージ１）に書き込まれる。そして、読出制御部５２６を介してシャドー記憶領域５１１からステージ０のシャドー数（垂直シャドー数Ｌ）とステージ１のシャドー数（水平シャドー数Ｍ）とが読み出されて駆動検出制御部５２４に入力される。
〔２−１−４．ＦＩＲＳＴＨフラグのセット〕
駆動検出制御部５２４は、垂直シャドー数Ｌと水平シャドー数Ｍとを比較して、Ｍ＜Ｌであるか否かを判定し（ステップＳ４）、Ｍ＜Ｌでないと判定すると、Ｍ＝０であるか否かを判定し（ステップＳ５）、ここでＭ＝０でないと判定した場合には、さらにＭ＝１であるか否かを判定する（ステップＳ６）。駆動検出制御部５２４は、ステップＳ６でＭ＝１でないと判定すると、作業領域５１３におけるＦＩＲＳＴＨフラグを“１”にセットする（ステップ７）。
【００６０】
図６（ａ）および（ｂ）に示す例では、Ｌ＝２，Ｍ＝２であるので、ステップＳ４の判定ではＮＯとなり、ＦＩＲＳＴＨフラグが“１”にセットされる。
〔２−１−５．ステージ２〕
ＦＩＲＳＴＨフラグのセットを終えると、ステージ変更部５２３は、駆動検出制御部５２４の指示を受けて、作業領域５１３のステージ番号ｎを２にセットする（ステップＳ９）。次いで、駆動検出制御部５２４は、ＫＥＥＰ−ＰＴＲフラグを０にセットする（ステップＳ１１）。これにより、ステージｍのシャドーポインタＳｍ−ＰＴＲのみがクリアされる。
【００６１】
図６（ｃ）に示すステージ２において、駆動検出制御部５２４は、ステップＳ１２（ｎ＞３）でＮＯと判定し、ステップＳ１３（ｎ＝２）でＹＥＳと判定し、さらにステップＳ１４（ＦＩＲＳＴＨフラグ＝１）でＹＥＳと判定する。この場合、駆動検出制御部５２４は、ステップＳ１５において、比較ステージ番号ｘを０に設定し、駆動ステージ番号ｍを１に設定する。
【００６２】
また、ステップＳ１１においてＫＥＥＰ−ＰＴＲフラグが０にセットされているので、駆動検出制御部５２４は、ステップＳ１７でＹＥＳと判定し、ステージ１のシャドーポインタＳ１−ＰＴＲを０にセットして（ステップＳ１８）、ＫＥＥＰ−ＰＴＲフラグを１にセットする（ステップＳ１９）。さらに、駆動検出制御部５２４は、ステージｍ（＝１）のシャドー数２が上記のシャドーポインタＳ１−ＰＴＲと等しくないと判定し（ステップＳ２５）、シャドー記憶領域５１１のシャドーポインタＳ１−ＰＴＲを１に更新する（ステップＳ２６）。
【００６３】
したがって、ステージ２においては、ステージ１で得られたシャドーＣ１，Ｄ１のうちシャドーＣ１を用いて駆動が行われる。上記のシャドーポインタＳ１−ＰＴＲで指定されるシャドーポジション領域には、シャドーＣ１のシャドーポジションが記憶されている。駆動検出制御部５２４は、上記のシャドーＣ１のシャドーポジションを、シャドー記憶領域５１１におけるステージ領域（ステージ１）の駆動シャドーポジション領域に、駆動に用いるシャドーとして書き込む。
【００６４】
さらに、駆動検出制御部５２４は、ステージｘの検出シャドーをステージｎの検出シャドーとのＡＮＤの対象となるシャドーとして設定する（ステップＳ２７）。ただし、駆動検出制御部５２４は、ｎ＝２のときのみ例外的に、ステージ０または１の検出シャドーをＡＮＤの対象として用いずに、全てが“１”のパターンをＡＮＤの対象となるシャドーとして設定する（ステップＳ２７）。したがって、ステージ２では、全て“１”のパターン（水平全タッチ範囲，垂直全タッチ範囲）がＡＮＤの対象として用いられる。
【００６５】
駆動検出制御部５２４の指示により、ステージ１の１番目の検出シャドーであるシャドーＣ１を用いて、水平駆動検出部４により透明電極Ｅｖを駆動すると（ステップＳ２８）、垂直駆動検出部３において、２つのシャドーＡ１−１（キーＫ２に対応），Ｂ１−１（キーＫ３に対応）を含む検出パターンが得られる。この駆動により得られたシャドーＡ１−１，Ｂ１−１と全て“１”のパターン（ｎ＝２のみ）とのＡＮＤによる比較を行い、当該パターンに含まれる検出シャドー数を特定する（ステップＳ２８）。
【００６６】
この場合は、上記のＡＮＤの結果で得られた検出シャドー数Ｒが２（２以上）であるので、駆動検出制御部５２４は、ステップＳ２９（Ｒ＝１）においてＮＯと判定し、ステップＳ３０においてステージ番号ｎに１を加算して３に変更する。これにより、ステージ３に移行する。
【００６７】
このとき、シャドー情報特定部５２１は、シャドーＡ１−１，Ｂ１−１についてのシャドーポジションとシャドー数Ｓ２−ＮＵＭ（＝２）とを特定する。書込制御部５２２は、駆動検出制御部５２４の指示により、シャドーポジションをシャドー記憶領域５１１におけるステージ領域（ステージ２）のシャドーポジション領域に書き込み、シャドー数Ｓ２−ＮＵＭをシャドー数領域に書き込む。書込制御部５２２は、以降も同様にして、シャドーポジションとシャドー数Ｓｎ−ＮＵＭとを該当するステージ領域に書き込む。上記のような検出シャドーの書き込み動作は、ステップＳ２８の処理においてシャドーが検出される毎に行われる。したがって、同じステージにおいては、シャドーが検出される毎に、シャドーポジションがシャドーポジション領域に上書きされていくので、前回検出されたシャドーは残らない。
【００６８】
また、駆動検出制御部５２４が加算命令を出力すると、ステージ変更部５２３は、その加算命令を受けて、作業領域５１３のステージ番号ｎの２に１を加算して３に書き替える。
〔２−１−６．ステージ３〕
図６（ｄ）に示すステージ３に対して、駆動検出制御部５２４は、ステップＳ１１においてＫＥＥＰ−ＰＴＲフラグを０にセットし、ステップＳ１２，Ｓ１３においてＮＯと判定し、さらにステップＳ２０（ＦＩＲＳＴＨ＝１）においてＹＥＳと判定する。これにより、駆動検出制御部５２４は、比較ステージ番号ｘを１に設定し（ステップＳ２１）、駆動ステージ番号ｍを２（＝ｎ−１＝３−１）に設定する（ステップＳ２４）。
【００６９】
また、駆動検出制御部５２４は、ＫＥＥＰ−ＰＴＲフラグが０であると判定すると（ステップＳ１７）、ステージ２のシャドーポインタＳ２−ＰＴＲを０にセットした後（ステップＳ１８）、ＫＥＥＰ−ＰＴＲフラグを１にセットする（ステップＳ１９）。これにより、シャドーポインタＳ２−ＰＴＲの値が保持される。そして、駆動検出制御部５２４は、ステージ２のシャドー数とシャドーポインタＳ２−ＰＴＲとの不一致を判定し（ステップＳ２５）、シャドーポインタＳ２−ＰＴＲに１を加算して１にセットする（ステップＳ２６）。さらに、駆動検出制御部５２４は、シャドーポインタＳ１−ＰＴＲ（＝１）で指定されるシャドーポジションのシャドーＣ１をＡＮＤの対象として設定する（ステップＳ２７）。
【００７０】
ここで、ステップＳ１５，Ｓ１６，Ｓ２１〜Ｓ２４（Ｓ２３については後述）において設定される駆動ステージ番号ｍおよび比較ステージ番号ｘの関係から、１つ前のステージで駆動に用いるシャドーを特定するためのシャドーポインタＳｍ−ＰＴＲが、現在のステージ（ステージ３）でＡＮＤの対象として設定されるシャドーを特定するためのシャドーポインタＳｘ−ＰＴＲとなる。
【００７１】
これにより、図６（ｄ）に示すように、ステージ２で検出された１番目（Ｓ２−ＰＴＲ＝１）のシャドーＡ１−１が駆動に用いられる。このとき、シャドー記憶領域５１１におけるステージ領域（ステージ２）の駆動シャドーポジション領域にシャドーＡ１−１のシャドーポジションが設定される。また、ステージ１で検出された１番目（Ｓ１−ＰＴＲ＝１）のシャドーＣ１が、ステージ３で検出されたシャドーとのＡＮＤの対象となる。
【００７２】
駆動検出制御部５２４は、シャドーＡ１−１を用いた駆動によって得られたシャドーＣ１−１，Ｄ１−１（シャドー数Ｓ３−ＮＵＭ＝２）と、ステージ１で検出されたシャドーＣ１とのＡＮＤを求めると、シャドーＣ１に１つのシャドーＣ１−１が含まれることから、検出シャドー数Ｒが１であると特定する（ステップＳ２８）。駆動検出制御部５２４は、検出シャドー数Ｒが１であると判定するので（ステップＳ２９）、垂直方向のシャドーＡ１−１と水平方向のシャドーＣ１−１とによってキーＫ２を確定し、確定キー数ＫｅｙＮｏに１を加算して（ステップＳ３１）、ステージ３を維持する（確定処理）。
【００７３】
この時点では、シャドーポインタＳ２−ＰＴＲが１であるので、駆動検出制御部５２４は、まだ、ステージｍ（＝２）のシャドー数２とシャドーポインタＳ２−ＰＴＲとの不一致を判定し（ステップＳ２５）、シャドーポインタＳ２−ＰＴＲを２にセットする（ステップＳ２６）。これにより、今回の駆動に使用するシャドーとして、シャドー記憶領域５１１におけるステージ領域（ステージ２）の駆動シャドーポジション領域に、ステージ２で２番目（Ｓ２−ＰＴＲ＝２）に検出されたシャドーＢ１−１のシャドーポジションが設定される。これにより、図６（ｅ）に示すように、シャドーＢ１−１が駆動に用いられる。
【００７４】
駆動検出制御部５２４は、シャドーＢ１−１を用いた駆動によって得られたシャドーＣ１−２（シャドー数Ｓ３−ＮＵＭ＝１）と、ステージ１で検出されたシャドーＣ１とのＡＮＤを求めた結果、シャドーＣ１に１つのシャドーＣ１−２が含まれることから、検出シャドー数Ｒが１であると特定する（ステップＳ２８）。駆動検出制御部５２４は、検出シャドー数Ｒが１であることから（ステップＳ２６）、垂直方向のシャドーＢ１−１と水平方向のシャドーＣ１−２とによってキーＫ３を確定する（ステップＳ３１）。このとき、駆動検出制御部５２４は、確定したキーＫ２，Ｋ３についてのシャドーポジションを確定キー記憶領域５１２に書き込む。
【００７５】
この時点では、シャドーポインタＳ２−ＰＴＲが２であるので、駆動検出制御部５２４は、ステージｍのシャドー数２とシャドーポインタＳ２−ＰＴＲとの一致を判定し（ステップＳ２５）、ｎ＝２でないことから（ステップＳ３２）、ステージ番号ｎから１を減算して（ステップＳ３３）、ステージ２に移行する。
〔２−１−７．ステージ２〕
ステージ２では、駆動検出制御部５２４は、ステップＳ１２においてＮＯと判定し、ステップＳ１３，Ｓ１４においてＹＥＳと判定してから、比較ステージ番号ｘを０に設定するとともに、駆動ステージ番号ｍを１に設定する（ステップＳ１５）。このとき、前回のステージ２と異なりＫＥＥＰ−ＰＴＲフラグが１を維持しているので、駆動検出制御部５２４は、ＫＥＥＰ−ＰＴＲフラグが０でないと判定し（ステップＳ１７）、改めてＫＥＥＰ−ＰＴＲフラグを１にセットする（ステップＳ１９）。ＫＥＥＰ−ＰＴＲフラグが１にセットされていることから、シャドーポインタＳ１−ＰＴＲは、図６（ｃ）に示すステージ２の状態の値である１を維持している。
【００７６】
この時点では、駆動検出制御部５２４は、まだ、ステージ１のシャドー数２とシャドーポインタＳ１−ＰＴＲ（＝１）との不一致を判定するので（ステップＳ２５）、シャドーポインタＳ１−ＰＴＲを２にセットする（ステップＳ２６）。これにより、今回の駆動に使用するシャドーとして、シャドー記憶領域５１１におけるステージ領域（ステージ１）の駆動シャドーポジション領域に、ステージ１で検出されたシャドーＤ１のシャドーポジションがセットされる。さらに、現ステージがステージ２であることから、駆動検出制御部５２４は、全て“１”のパターンがＡＮＤの対象として設定する（ステップＳ２７）。
【００７７】
これにより、図６（ｆ）に示すように、シャドーＤ１を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＡ１−２が得られる。駆動検出制御部５２４は、このシャドーＡ１−２（シャドー数Ｓ２−ＮＵＭ＝１）と、全てが“１”のパターンとのＡＮＤを求めると、１つのシャドーＡ１−２のみが得られることから、検出シャドー数Ｒが１であると特定する（ステップＳ２５）。駆動検出制御部５２４は、検出シャドー数Ｒが１であることから（ステップＳ２９）、垂直方向のシャドーＡ１−２と水平方向のシャドーＤ１とによってキーＫ１を確定する（ステップＳ３１）。このとき、駆動検出制御部５２４は、確定したキーＫ１についてのシャドーポジションを確定キー記憶領域５１２に書き込む。
【００７８】
この時点では、シャドーポインタＳ１−ＰＴＲが２であるので、駆動検出制御部５２４は、ステージ１のシャドー数２との一致を判定し（ステップＳ２５）、ｎ＝２であることから、全てのキーＫ１〜Ｋ３が確定したと判断して（ステップＳ３２）、処理を終える。
〔２−１−８．図６の例に該当しない動作〕
上記の例では、Ｍ＜Ｌでない場合（ステップＳ４）、Ｍ＝０でない場合（ステップＳ５）、Ｍ＝１でない場合（ステップＳ６）についてそれぞれ説明した。また、上記の例では、ＦＩＲＳＴＨフラグが１にセットされ、且つｎ≦３である場合について説明した。ここでは、上記の場合と異なる場合の駆動検出制御部５２４の動作について説明する。
【００７９】
駆動検出制御部５２４は、ステップＳ４でＭ＜Ｌであると判定した場合、ＦＩＲＳＴＨフラグを“０”にセットする（ステップ８）。
【００８０】
駆動検出制御部５２４は、ステップＳ５でＭ＝０であると判定した場合、入力されたキーがないために処理を終える。
【００８１】
駆動検出制御部５２４は、ステップＳ６でＭ＝１であると判定した場合、Ｌ＝１でもあるので、１つのキーを確定して、確定キー数ＫｅｙＮｏに１を加算し（ステップＳ１０）、当該キーのデータと更新された確定キー数ＫｅｙＮｏとを確定キー記憶領域５１２に書き込んで処理を終える。
【００８２】
駆動検出制御部５２４は、ステップＳ１４でＦＩＲＳＴＨフラグが１でない（０である）と判定すると、駆動ステージ番号ｍを０に設定し、比較ステージ番号ｘを１に設定し（ステップＳ１６）、処理をステップＳ１７に移行する。また、駆動検出制御部５２４は、ステップＳ２０でＦＩＲＳＴＨフラグが１でないと判定すると、比較ステージ番号ｘを０に設定し（ステップＳ２２）、ステップＳ２４に処理を移行する。
【００８３】
駆動検出制御部５２４は、ステップＳ１２でステージ番号ｎが３より大きいと判定すると、比較ステージ番号ｘをステージ番号ｎから２を減算した値に設定し（ステップＳ２３）、処理をステップＳ２４に移行する。
〔２−２．７個のキーを同時入力する例〕
図６に示す例では、キー確定のためにステージ３まで移行する、３個のキーが同時に入力された場合について説明した。ここでは、キー確定のためにステージ３以上に移行する、７個のキーが同時に入力された場合のタッチパネル装置１のキー確定動作について説明する。
【００８４】
図７（ａ）に示すように、タッチパネル２において、キーＫ１〜Ｋ７が同時に入力されている。キーＫ１〜Ｋ３，Ｋ７が垂直方向に範囲ｄ３で一部重なり、キーＫ１〜Ｋ５が水平方向に範囲ｄ４で一部重なり、キーＫ４〜Ｋ６が垂直方向にほぼ完全に重なり、キーＫ６，Ｋ７が他のキーと水平方向に重なっていない。
〔２−２−１．ステージ０，１〕
まず、図７（ａ）に示すように、ステージ０において、水平駆動検出部４から全透明電極Ｅｖが駆動されることにより、垂直駆動検出部３にシャドーＡ１，Ｂ１が得られる（ステップＳ２）。また、ステージ１において、垂直駆動検出部３から全透明電極Ｅｈが駆動されることにより、水平駆動検出部４にシャドーＣ１，Ｄ１，Ｅ１が得られる（ステップＳ３）。この場合、水平シャドー数Ｍ（＝３）が垂直シャドー数Ｌ（＝２）より大きく、且つＭが０および１でもないことから（ステップＳ４〜Ｓ６）、ＦＩＲＳＴＨフラグが“１”にセットされる（ステップＳ７）。
〔２−２−２．ステージ２〕
次いで、ステージ２では、ＫＥＥＰ−ＰＴＲフラグが０にセットされ（ステップＳ１１）、ステップＳ１２〜Ｓ１４を経て、比較ステージ番号ｘが０に設定され、駆動ステージ番号ｍが１に設定される（ステップＳ１５）。また、ＫＥＥＰ−ＰＴＲフラグが０であるので、ステージ１のシャドーポインタＳ１−ＰＴＲが０にセットされ、ＫＥＥＰ−ＰＴＲフラグが１にセットされる（ステップＳ１７〜Ｓ１９）。ステージ１のシャドー数３が上記のシャドーポインタＳ１−ＰＴＲと等しくないため（ステップＳ２５）、シャドーポインタＳ１−ＰＴＲが１にセットされる（ステップＳ２６）。さらに、現ステージがステージ２であることから、全て“１”のパターンがＡＮＤの対象として設定される（ステップＳ２７）。
【００８５】
これにより、図７（ｂ）に示すように、図６（ｃ）に示す場合と同様に、シャドーＣ１を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＡ１，Ｂ１が得られる（ステップＳ２８）。これらの２つのシャドーＡ１，Ｂ１のシャドーポジションが、シャドー記憶領域５１１のステージ領域（ステージ２）に書き込まれる。これらのシャドーＡ１，Ｂ１と全て“１”のパターンとのＡＮＤが求められると、検出シャドー数Ｒ＝２となる（ステップＳ２８）。この場合、キーが確定しないので、ステージ３に移行し（ステップＳ２９，Ｓ３０）、ＫＥＥＰ−ＰＴＲフラグが０にセットされる（ステップＳ１１）。
〔２−２−３．ステージ３〕
ステージ３では、ステップＳ１２，Ｓ１３，Ｓ２０を経て、比較ステージ番号ｘが１に設定され（ステップＳ２１）、駆動ステージ番号ｍが２（＝３−１）に設定される（ステップＳ２４）。ＫＥＥＰ−ＰＴＲフラグが０であるので、ステージ２のシャドーポインタＳ２−ＰＴＲが０にセットされ、ＫＥＥＰ−ＰＴＲフラグが１にセットされる（ステップＳ１７〜Ｓ１９）。ステージ２のシャドー数２が上記のシャドーポインタＳ２−ＰＴＲに一致しないため（ステップＳ２５）、シャドーポインタＳ２−ＰＴＲが１にセットされ（ステップＳ２６）、シャドーＡ１が駆動パターンとして設定される。さらに、シャドーポインタＳ１−ＰＴＲ（＝１）で特定されるシャドーＣ１がＡＮＤの対象として設定される（ステップＳ２７）。駆動検出制御部５２４は、ステージ３以上では、ＡＮＤの対象として設定されるシャドーについて全てのキーが確定すると、ステップＳ２７において、シャドーポインタＳｘ−ＰＴＲをキーが確定していないシャドーを指定する値に切り替える。
【００８６】
これにより、図７（ｃ）に示すように、シャドーＡ１を用いて垂直駆動検出部３により駆動されると、水平駆動検出部４においてシャドーＣ１−１，Ｃ１−２，Ｄ１が得られる（ステップＳ２８）。これらの３つのシャドーＣ１−１，Ｃ１−２，Ｄ１のシャドーポジションが、シャドー記憶領域５１１のステージ領域（ステージ３）に書き込まれる。これらのシャドーＣ１−１，Ｃ１−２，Ｄ１とステップＳ２７で設定されたシャドーＣ１とのＡＮＤがシャドーＣ１−１，Ｃ１−２として求められると、検出シャドー数Ｒ＝２となる（ステップＳ２８）。この場合も、キーが確定しないので、ステージ４に移行する（ステップＳ２９，Ｓ３０）。
〔２−２−４．ステージ４〕
ステージ４では、比較ステージ番号ｘが２（＝４−２）に設定され（ステップＳ２３）、駆動ステージ番号ｍが３（＝４−１）に設定される（ステップＳ２４）。また、ＫＥＥＰ−ＰＴＲフラグがステップＳ１１で０にセットされているので、ステージ３のシャドーポインタＳ３−ＰＴＲが０にセットされ、ＫＥＥＰ−ＰＴＲフラグが１にセットされる（ステップＳ１７〜Ｓ１９）。また、ステージ３のシャドー数（検出シャドー数Ｒ＝２）が上記のシャドーポインタＳ３−ＰＴＲに一致しないため（ステップＳ２５）、シャドーポインタＳ３−ＰＴＲが１にセットされ（ステップＳ２６）、シャドーＣ１−１が駆動パターンとして設定される。さらに、シャドーポインタＳ２−ＰＴＲ（＝１）で特定されるシャドーＡ１がＡＮＤの対象として設定される（ステップＳ２７）。
【００８７】
これにより、図７（ｄ）に示すように、ステージ３で検出されたシャドーＣ１−１を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＡ１−１，Ｂ１−１が得られる（ステップＳ２８）。これらのシャドーＡ１−１，Ｂ１−１のシャドーポジションが、シャドー記憶領域５１１のステージ領域（ステージ４）に書き込まれる。これらのシャドーＡ１−１，Ｂ１−１とステップＳ２７で設定されたシャドーＡ１とのＡＮＤがシャドーＡ１−１として求められることにより、検出シャドー数Ｒ＝１となる（ステップＳ２８）。この場合は、垂直方向のシャドーＡ１−１と水平方向のシャドーＣ１−１とで１つのキーＫ４が確定するので、さらにステージ４が維持される（ステップＳ２９，Ｓ３１）。
【００８８】
この時点では、ステージ３のシャドー数２が同ステージのシャドーポインタＳ３−ＰＴＲ（＝１）に一致しないため（ステップＳ２５）、シャドーポインタＳ３−ＰＴＲが２にセットされ（ステップＳ２６）、シャドーＣ１−２が駆動パターンとして設定される。また、シャドーポインタＳ２−ＰＴＲ（＝１）で特定されるシャドーＡ１がＡＮＤの対象として設定される（ステップＳ２７）。
【００８９】
これにより、図７（ｅ）に示すように、シャドーＣ１−２を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＡ１−１，Ｂ１−２が得られる（ステップＳ２８）。このシャドーＡ１−１，Ｂ１−２のシャドーポジションは同ステージ領域に書き込まれる。これらのシャドーＡ１−１，Ｂ１−２とステップＳ２７で設定されたシャドーＡ１とのＡＮＤがシャドーＡ１−１として求められることにより、検出シャドー数Ｒ＝１となる（ステップＳ２８）。
【００９０】
この場合は、垂直方向のシャドーＡ１と水平方向のシャドーＣ１−２とで１つのキーＫ５が確定するので（ステップＳ２９，Ｓ３０）、ステージ４が維持される。確定したキーＫ４，Ｋ５についてのシャドーポジションは、確定キー記憶領域５１２に書き込まれる。
【００９１】
この時点では、ステージ３のシャドー数２が同ステージのシャドーポインタＳ３−ＰＴＲ（＝２）と等しくなるが（ステップＳ２５）、ｎ＝２ではないので、ステージ３に移行する（ステップＳ３２，Ｓ３３）。
〔２−２−５．ステージ３〕
ステージ３では、ステップＳ１２，Ｓ１３，Ｓ２０を経て、比較ステージ番号ｘが１に設定され（ステップＳ２１）、駆動ステージ番号ｍが２（＝３−１）に設定される（ステップＳ２４）。ＫＥＥＰ−ＰＴＲフラグが１を維持しているが（ステップＳ１７，Ｓ１９）、ステージ２のシャドー数２が前回のステージ３で１にセットされたシャドーポインタＳ２−ＰＴＲに一致しないため（ステップＳ２５）、シャドーポインタＳ２−ＰＴＲが２にセットされ（ステップＳ２６）、駆動パターンとしてシャドーＢ１が設定される。さらに、シャドーポインタＳ１−ＰＴＲ（＝１）で特定されるシャドーＣ１がＡＮＤの対象として設定される（ステップＳ２７）。
【００９２】
これにより、図７（ｆ）に示すように、シャドーＢ１を用いて垂直駆動検出部３により駆動されると、水平駆動検出部４においてシャドーＣ１−３，Ｃ１−４，Ｃ１−５が得られる（Ｓ２８）。このシャドーＣ１−３，Ｃ１−４，Ｃ１−５のシャドーポジションは、シャドー記憶領域５１１のステージ領域（ステージ３）に書き込まれる。このシャドーＣ１−３，Ｃ１−４，Ｃ１−５とステップＳ２７で設定されたシャドーＣ１とのＡＮＤがシャドーＣ１−３，Ｃ１−４，Ｃ１−５として求められることにより、検出シャドー数Ｒ＝３となる（ステップＳ２８）。この場合は、キーが確定しないので、ステージ４に移行する（ステップＳ２９，Ｓ３０）。
〔２−２−６．ステージ４〕
ステージ４では、比較ステージ番号ｘが２（＝４−２）に設定され（ステップＳ２３）、駆動ステージ番号ｍが３（＝４−１）に設定される（ステップＳ２４）。また、ＫＥＥＰ−ＰＴＲフラグがステップＳ１１で０にセットされているので、ステージ３のシャドーポインタＳ３−ＰＴＲが０にセットされ、ＫＥＥＰ−ＰＴＲフラグが１にセットされる（ステップＳ１７〜Ｓ１９）。また、直前のステージ３のシャドー数（検出シャドー数Ｒ＝３）が上記のシャドーポインタＳ３−ＰＴＲと異なることから（ステップＳ２５）、シャドーポインタＳ３−ＰＴＲが１にセットされ（ステップＳ２６）、シャドーＣ１−３が駆動パターンとして設定される。さらに、シャドーポインタＳ２−ＰＴＲ（＝２）で特定されるシャドーＢ１がＡＮＤの対象として設定される（ステップＳ２７）。
【００９３】
これにより、図８（ａ）に示すように、シャドーＣ１−３を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＡ１−１，Ｂ１−３が得られる（ステップＳ２８）。このシャドーＡ１−１，Ｂ１−３のシャドーポジションが、シャドー記憶領域５１１のステージ領域（ステージ４）に新たに書き込まれる。上記のシャドーＡ１−１，Ｂ１−３とステップＳ２７で設定されたシャドーＢ１とのＡＮＤがシャドーＢ１−３として求められることにより、検出シャドー数Ｒ＝１となる（Ｓ２８）。この場合は、垂直方向のシャドーＢ１−３と水平方向のシャドーＣ１−３とで１つのキーＫ１が確定するので、ステージ４が維持される（ステップＳ２９，Ｓ３１）。
【００９４】
続くステージ４でも、比較ステージ番号ｘが２を維持し、駆動ステージ番号ｍが３を維持している。また、ステージ３のシャドー数３が同ステージのシャドーポインタＳ３−ＰＴＲ（＝１）と異なることから、シャドーポインタＳ３−ＰＴＲが２にセットされ（ステップＳ２５，Ｓ２６）、シャドーＣ１−４が駆動パターンとして設定される。さらに、シャドーポインタＳ２−ＰＴＲ（＝２）で特定されるシャドーＢ１が引き続きＡＮＤの対象として設定される（ステップＳ２７）。
【００９５】
これにより、図８（ｂ）に示すように、ステージ３で検出されたシャドーＣ１−４を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＡ１−１，Ｂ１−４が得られる（ステップＳ２８）。このシャドーＡ１−１のシャドーポジションは、前述のように、シャドー記憶領域５１１のステージ領域（ステージ４）にすでに書き込まれているが、それらはもはや不要であるので、シャドーＢ１−４のシャドーポジションが、シャドー記憶領域５１１のステージ領域（ステージ４）に、新たに先頭から書き込まれる。上記のシャドーＢ１−４とステップＳ２７で設定されたシャドーＢ１とのＡＮＤがシャドーＢ１−４として求められることにより、検出シャドー数Ｒ＝１となる（Ｓ２８）。この場合は、垂直方向のシャドーＢ１−４と水平方向のシャドーＣ１−４とで１つのキーＫ２が確定するので、さらにステージ４が維持される（ステップＳ２９，Ｓ３１）。
【００９６】
続くステージ４でも、比較ステージ番号ｘが２を維持し、駆動ステージ番号ｍが３を維持している。また、ステージ３のシャドー数３が同ステージのシャドーポインタＳ３−ＰＴＲ（＝２）と異なることから、シャドーポインタＳ３−ＰＴＲが３にセットされる（ステップＳ２５，Ｓ２６）。さらに、シャドーポインタＳ２−ＰＴＲ（＝２）で特定されるシャドーＢ１が引き続きＡＮＤの対象として設定される（ステップＳ２７）。
【００９７】
これにより、図８（ｃ）に示すように、シャドーＣ１−５を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＡ１−１，Ｂ１−５が得られる（ステップＳ２８）。このシャドーＡ１−１のシャドーポジションは、前述のように、シャドー記憶領域５１１のステージ領域（ステージ４）にすでに書き込まれているが、それらはもはや不要であるので、シャドーＢ１−５のシャドーポジションが、シャドー記憶領域５１１のステージ領域（ステージ４）に、新たに先頭から書き込まれる。上記のシャドーＢ１−５とステップＳ２７で設定されたシャドーＢ１とのＡＮＤがシャドーＢ１−５として求められることにより、検出シャドー数Ｒ＝１となる（Ｓ２８）。この場合は、垂直方向のシャドーＢ１−５と水平方向のシャドーＣ１−５とで１つのキーＫ３が確定するので、さらにステージ４が維持される。確定したキーＫ１，Ｋ２，Ｋ３についてのシャドーポジションが、確定キー記憶領域５１２に書き込まれる。
【００９８】
この時点では、ステージ３のシャドー数３が同ステージのシャドーポインタＳ３−ＰＴＲ（＝３）と等しくなるが（ステップＳ２５）、ｎ＝２ではないので、ステージ３に移行する（ステップＳ３２，Ｓ３３）。
〔２−２−７．ステージ３〕
ステージ３では、ステップＳ１２，Ｓ１３，Ｓ２０を経て、比較ステージ番号ｘが１に設定され（ステップＳ２１）、駆動ステージ番号ｍが２（＝３−１）に設定される（ステップＳ２４）。ＫＥＥＰ−ＰＴＲフラグが前回のステージ３で１にセットされたままであるが（ステップＳ１７，Ｓ１９）、ステージ２のシャドー数２が前回のステージ３で１にセットされたシャドーポインタＳ２−ＰＴＲに一致しないため（ステップＳ２５）、シャドーポインタＳ２−ＰＴＲが２にセットされ（ステップＳ２６）、駆動パターンとしてシャドーＡ１が設定される。さらに、シャドーポインタＳ１−ＰＴＲ（＝２）で特定されるシャドーＤ１がＡＮＤの対象として設定される（ステップＳ２７）。
【００９９】
これにより、図８（ｄ）に示すように、シャドーＡ１を用いて垂直駆動検出部３により駆動されると、水平駆動検出部４においてシャドーＤ１−１が得られる（ステップＳ２８）。シャドーＤ１−１のシャドーポジションは、シャドー記憶領域５１１のステージ領域（ステージ３）に書き込まれる。上記のシャドーＤ１−１とステップＳ２７で設定されたシャドーＤ１とのＡＮＤがシャドーＤ１−１として求められることにより、検出シャドー数Ｒ＝１となる（ステップＳ２８）。これにより、垂直方向のシャドーＡ１−１と水平方向のシャドーＤ１−１とで１つのキーＫ６が確定する。確定したキーＫ６についてのシャドーポジションが、確定キー記憶領域５１２に書き込まれる。
【０１００】
この時点では、ステージ２のシャドー数２がシャドーポインタＳ２−ＰＴＲと等しくなるが、ｎ＝２ではないので、ステージ２に移行する（ステップＳ２５，Ｓ３２，Ｓ３３）。
〔２−２−８．ステージ２〕
ステージ２では、ステップＳ１２〜Ｓ１４を経て、比較ステージ番号ｘが０に設定され、駆動ステージ番号ｍが１に設定される（ステップＳ１５）。また、ＫＥＥＰ−ＰＴＲフラグが１を維持しているが（ステップＳ１７，Ｓ１９）、ステージ１のシャドー数３が上記のシャドーポインタＳ１−ＰＴＲ（＝２）に一致しないため（ステップＳ２５）、シャドーポインタＳ１−ＰＴＲが３にセットされ（ステップＳ２６）、シャドーＥ１が駆動シャドーとして設定される。さらに、現ステージがステージ２であることから、全て“１”のパターンがＡＮＤの対象として設定される（ステップＳ２７）。
【０１０１】
これにより、図８（ｅ）に示すように、シャドーＥ１を用いて水平駆動検出部４により駆動されると、垂直駆動検出部３においてシャドーＢ１−６が得られる（ステップＳ２８）。シャドーＢ１−６のシャドーポジションは、シャドー記憶領域５１１のステージ領域（ステージ３）に書き込まれる。上記のシャドーＢ１−６とステップＳ２７で設定されたシャドーＥ１とのＡＮＤがシャドーＢ１−６として求められることにより、検出シャドー数Ｒ＝１となる（ステップＳ２８）。これにより、垂直方向のシャドーＢ１−６と水平方向のシャドーＥ１とで１つのキーＫ７が確定する（ステップＳ２９，Ｓ３１）。確定したキーＫ７についてのシャドーポジションが、確定キー記憶領域５１２に書き込まれる。
【０１０２】
この場合、ステージ１のシャドー数３が同ステージのシャドーポインタＳ１−ＰＴＲ（＝３）と等しくなるが、ｎ＝２であるので（ステップＳ３２）、全てのキーＫ１〜Ｋ７が確定したことになり、処理を終える。
〔３．実施形態の総括〕
以上のように、本実施形態に係るタッチパネル装置１は、垂直駆動検出部３および水平駆動検出部４によって、マトリクス型のタッチパネル２における透明電極Ｅへ駆動電圧を印加するとともに、透明電極Ｅから検出電圧を得て検出データを得る機能を有している。また、タッチパネル装置１は、制御インターフェース部５に設けられたメモリ制御部５２によって、得られた検出データから複数のシャドーを検出すると、各シャドーに基づいて生成したドライバ入力データＤＡＴＡＩＮを用いて個別に駆動を行い、そのときに検出されたシャドーがすでに検出されたシャドーに１つのみ含まれていることが水平方向および垂直方向の双方について確認されることでキーを確定する。これにより、複数のキーが垂直方向や水平方向に重なるような位置にあっても、各キーを確定することができる。
【０１０３】
なお、本実施の形態では、ステージ０で水平駆動検出部４により全透明電極Ｅｖを駆動し、ステージ１で垂直駆動検出部３により全透明電極Ｅｈを駆動するようにしているが、この逆で駆動してもよい。この場合は、ＦＩＲＳＴＨフラグの設定も前述と同様となる。
【０１０４】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１０５】
本発明のタッチパネル装置は、３個以上のタッチ箇所（キー）を分離して確定することができるので、マトリクス型タッチパネルの多入力の検出に好適に用いることができる。
【符号の説明】
【０１０６】
１        タッチパネル装置
２        タッチパネル（マトリクス型タッチパネル）
３        垂直駆動検出部（垂直駆動検出手段）
４        水平駆動検出部（水平駆動検出手段）
５        制御インターフェース部
６        ドライバＩＣ
５１        メモリ
５２        メモリ制御部
５１１        シャドー記憶領域（タッチ範囲記憶手段，タッチ範囲記憶ステップ）
５２１        シャドー情報特定部（タッチ範囲特定手段，タッチ範囲特定ステップ）
５２４        駆動検出制御部（駆動制御手段，駆動制御ステップ）
５２５        入力データ生成部（駆動データ生成手段，駆動データ生成ステップ）
Ａ１，Ａ１−１  シャドー（タッチ範囲）
Ｂ１，Ｂ１−１〜Ｂ１−６  シャドー（タッチ範囲）
Ｃ１，Ｃ１−１〜Ｃ１−５  シャドー（タッチ範囲）
Ｄ１，Ｄ１−１  シャドー（タッチ範囲）
Ｅ１          シャドー（タッチ範囲）
ＤＡＴＡＩＮ  入力データ（駆動データ）
ＤＡＴＡＩＮＯＵＴ  出力データ（検出データ）
Ｅｈ          透明電極（水平電極）
Ｅｖ          透明電極（垂直電極）
Ｅ            透明電極（水平電極，垂直電極）
Ｋ１〜Ｋ７    キー（タッチ箇所）
【図１】
2011044019.tif 000003
【図２】
2011044019.tif 000004
【図３】
2011044019.tif 000005
【図４】
2011044019.tif 000006
【図５】
2011044019.tif 000007
【図６】
2011044019.tif 000008
【図７】
2011044019.tif 000009
【図８】
2011044019.tif 000010
【図９】
2011044019.tif 000011