本発明の実施の形態について図面を参照して説明する。以下、携帯電子機器の典型例として携帯電話端末に本発明を適用して説明する。図1は、本発明を適用した携帯電話端末の基本的な構成を示すブロック図である。図1に示す携帯電話端末100は、制御部110、センサ部120、表示部130、記憶部(フラッシュメモリなど)140、情報処理機能部150、電話機能部160、キー操作部KEYおよびスピーカSP、図示しないCDMA通信網に接続して通信を行う通信部COMにより構成されている。さらに、センサ部120は、複数のセンサ素子(例えば、その検知部を機器筐体の外面に設けてあり、指などの物体の接触・近接を検出する接触センサ)を含んだセンサ素子群を、用途に応じてn個、即ち、第1のセンサ素子群G1、第2のセンサ素子群G2および第nのセンサ素子群G3を含み、記憶部140は、保存領域142、外部データ保存領域144から構成されている。制御部110および情報処理機能部150は、CPUなどの演算手段およびソフトウェアモジュールなどから構成させることが好適である。なお、後述するシリアルインターフェース部SI、シリアルインターフェース部SIを介して制御部110に接続されるRFIDモジュールRFIDや赤外線通信部IR、さらにはカメラ220やライト230の他、マイクMIC、ラジオモジュールRM、電源PS、電源コントローラPSCON等が制御部110に接続されるが、ここでは簡略化のため省略する。
図1のブロック図における各ブロックの機能を簡単に説明する。制御部110は、センサ部120によりユーザの指などによる物体の接触を検出し、記憶部140の保存領域142に検出した情報を格納し、情報処理機能部150により格納した情報の処理を制御する。そして、処理結果に応じた情報を表示部130に表示させる。さらに制御部110は、通常の通話機能のための電話機能部160、キー操作部KEYおよびスピーカSPを制御する。なお、表示部130は、サブ表示部ELDおよび図示しないメイン表示部(携帯電話端末100が閉状態にて隠れ、開状態にて露出する位置に設けられる表示部)を含んで構成される。
図2は、センサ素子を筐体に実装した携帯電話端末の斜視図である。携帯電話端末100は、図2に示すような閉状態のほか、ヒンジ部を回動、スライドさせて開状態を形成することも可能であって、タッチセンサ部210は、閉状態においても操作可能な位置に設けられている。図2(a)は携帯電話端末100の外観を示す斜視図である。携帯電話端末100は、タッチセンサ部210(外観上、センサ部130、即ちセンサ素子群G1、G2を覆う、図6にて後述するパネルPNLが見えている)、カメラ220、およびライト230を備える。図2(b)は、タッチセンサの動作の説明のために、パネルPNLを省略し、センサ素子とサブ表示部ELD周辺のみの配置を表示した携帯電話端末100の斜視図である。センサ素子L1〜L4およびR1〜R4は、それぞれ静電容量式の接触センサからなり、有機ELディスプレイからなるサブ表示部ELDの周囲に沿って並べて配置されている。センサ素子L1〜L4は第1のセンサ素子群G1を構成し、センサ素子R1〜R4は第2のセンサ素子群G2を構成している。第1のセンサ素子群G1と第2のセンサ素子群G2は、離間部SP1、SP2を隔てて並べられている。第1のセンサ素子群G1のレイアウトに対して、第2のセンサ素子群G2は、サブ表示部ELDを挟み、選択候補項目の並べられている方向を中心線とする線対称なレイアウトを持つ。なお、サブ表示部ELDは、有機ELディスプレイに限らず、例えば液晶表示ディスプレイ等を用いることもできる。また、センサ素子L1〜L4,R1〜R4は、静電容量式の接触センサに限らず、薄膜抵抗式の接触センサを用いることもできる。
図2の携帯電話端末100において、サブ表示部ELDは、携帯電話端末100の用途に応じた情報を表示する。例えば、携帯電話端末100を音楽プレーヤーとして用いる場合、サブ表示部ELDには演奏できる曲目が表示される。曲名およびアーティスト名の組で1つの項目、即ち、「選択候補項目」となる。ユーザは、操作入力部としてタッチセンサ部210を操作してセンサ素子L1〜L4、R1〜R4の静電容量を変化させて、サブ表示部ELDに表示された項目や操作対象領域を移動させて曲目の選択を行う。このときタッチセンサは、図2のように、サブ表示部ELDの周囲にセンサ素子を並べる構成とすれば、小型な携帯電子機器の外部筐体における実装部分を大きく占有せずに済み、かつ、ユーザは、サブ表示部ELDの表示を見ながらセンサ素子を操作することができる。
図3は、本発明を適用した携帯電話端末100の詳細な機能ブロック図である。言うまでもないが、図3に示す各種ソフトウエアは、記憶部140に記憶されるプログラムに基づいて、同じく記憶部140上にワークエリアを設けた上で、制御部110が実行することにより動作する。図に示すように、携帯電話端末の諸機能は、ソフトウェアブロックとハードウェアブロックとに分かれる。ソフトウェアブロックは、フラグ記憶部FLGを持つベースアプリBA、サブ表示部表示アプリAP1、ロックセキュリティアプリAP2、その他アプリAP3、およびラジオアプリAP4から構成される。ソフトウェアブロックは、さらに、赤外線通信アプリAPIRおよびRFIDアプリAPRFも含む。これらの各種アプリ(アプリケーションソフトウェア)がハードウェアブロックの各種ハードウェアを制御するときに、赤外線通信ドライバIRD、RFIDドライバRFD、オーディオドライバAUD、ラジオドライバRD、およびプロトコルPRをドライバとして使用する。例えば、オーディオドライバAUD、ラジオドライバRD、およびプロトコルPRは、それぞれ、マイクMIC、スピーカSP、通信部COM、およびラジオモジュールRMを制御する。ソフトウェアブロックは、さらに、ハードウェアの操作状態を監視・検出するキースキャンポートドライバKSPも含み、タッチセンサドライバ関連検出、キー検出、折り畳み式やスライド式などの携帯電話端末の開閉を検出する開閉検出、イヤホン着脱検出などを行う。
ハードウェアブロックは、ダイヤルキーや後述するタクトスイッチSW1〜SW4を含む各種ボタンなどを含むキー操作部KEY、ヒンジ部の動作状況などに基づき開閉を検出する開閉検出デバイスOCD、機器本体付属のマイクMIC、着脱可能なイヤホンEAP、スピーカSP、通信部COM、ラジオモジュールRM、シリアルインターフェース部SI、および切替制御部SWCONから構成される。切替制御部SWCONは、ソフトウェアブロックの該当ブロックからの指示に従って、赤外線通信部IR、RFIDモジュール(無線識別タグ)RFID、タッチセンサモジュールTSM(センサ部120と、発振回路などのセンサ部120を駆動する上で必要な部品一式をモジュール化したもの)のうちのいずれか1つを選択して当該信号をシリアルインターフェース部SIが拾い上げるように選択対象ハードウェア(IR、RFID、TSM)を切り替える。電源PSは、電源コントローラPSCONを介して選択対象ハードウェア(IR、RFID、TSM)に電力を供給する。
図4は、本発明による携帯電話端末100のタッチセンサ機能のより詳細な構成を示すブロック図である。図に示すように、本携帯電話端末100は、タッチセンサドライバブロックTDB、タッチセンサベースアプリブロックTSBA、デバイス層DL、割込ハンドラIH、キューQUE、OSタイマーCLK、各種アプリAP1〜AP3を備える。ここでタッチセンサベースアプリブロックTSBAは、ベースアプリBAおよびタッチセンサドライバ上位アプリケーションプログラムインターフェースAPIを備え、タッチセンサドライバブロックTDBは、タッチセンサドライバTSDおよび結果通知部NTFを備える。また、デバイス層DLは、切替制御部SWCON、切替部SW、シリアルインターフェース部SI、赤外線通信部IR、RFIDモジュールRFIDおよびタッチセンサモジュールTSMを備え、割込ハンドラIHは、シリアル割込み監視部SIMONおよび確認部CNFを備える。
次に、各ブロックの機能を図を参照して説明する。タッチセンサベースアプリブロックTSBAにおいて、ベースアプリBAと、タッチセンサドライバ上位アプリケーションプログラムインターフェースAPIとの間では、タッチセンサを起動するか否かのやり取りが行われる。ベースアプリBAは、サブ表示部用のアプリケーションであるサブ表示部表示アプリAP1、セキュリティ保護用に携帯電話端末100にロックをかけるアプリケーションであるロックセキュリティアプリAP2、その他のアプリケーションAP3のベースとなるアプリケーションであり、ベースアプリBAに前記各アプリからタッチセンサの起動が要求された場合に、タッチセンサドライバ上位アプリケーションプログラムインターフェースAPIにタッチセンサの起動を要求する。なお、サブ表示部とは、各図に示すサブ表示部ELDであって、本実施例における携帯電話端末100において、環状に配置されたセンサ素子群の中央領域に設けられたサブ表示部ELDのことを指す。
起動の要求を受け、タッチセンサドライバ上位アプリケーションプログラムインターフェースAPIは、ベースアプリBA内のアプリケーションの起動を管理するブロック(図示せず)に、タッチセンサの起動が可能か否かの確認を行う。即ち、アプリケーションの選択が実行されていることを示すサブ表示部ELDの点灯、またはFMラジオその他の携帯電話端末100に付属するアプリケーション等の、あらかじめタッチセンサの起動が不可能と設定されたアプリケーションの起動を示すフラグの有無を確認する。その結果、タッチセンサの起動が可能と判断された場合、タッチセンサドライバ上位アプリケーションプログラムインターフェースAPIは、タッチセンサドライバTSDにタッチセンサモジュールTSMの起動を要求する。即ち、実質的には電源コントローラPSCOMを介した電源PSからタッチセンサモジュールTSMへの電源供給を開始する。
起動が要求されると、タッチセンサドライバTSDは、デバイス層DL内のシリアルインターフェース部SIに要求して、シリアルインターフェース部SIにおけるタッチセンサドライバTSDとのポートを開くように制御する。
その後、タッチセンサドライバTSDは、タッチセンサのセンシング結果の情報を有する信号(以下、接触信号と記す)を、タッチセンサモジュールTSMが有する内部クロックによる20msの周期で、シリアルインターフェース部SIに出力されるように制御する。
接触信号は、上述した各センサ素子L1〜L4およびR1〜R4の8つのセンサ素子それぞれに対応した8ビット信号で出力されている。即ち、各センサ素子が接触を検知したときには、この接触を検知したセンサ素子に対応するビットに、接触検知を表す「フラグ:1」を立てた信号であって、これらのビット列により接触信号が形成される。つまり、接触信号には、「どのセンサ素子」が「接触/非接触のいずれか」を示す情報が含まれる。
割込ハンドラIHにおけるシリアル割込み監視部SIMONは、シリアルインターフェース部SIに出力された接触信号を取り出す。ここで確認部CNFが、シリアルインターフェース部SIにおいてあらかじめ設定された条件に従い、取り出した接触信号のTrue/Falseの確認を行い、True(真)な信号のデータのみをキューQUEに入れる(信号のTrue/Falseの種別については後述する)。また、シリアル割込み監視部SIMONは、タクトスイッチの押下の発生などのタッチセンサ起動中のシリアルインターフェース部SIの他の割込み事象の監視も行う。なお、本実施の形態では、割込ハンドラIHおよびキューQUEによりバッファリング手段を構成している。
なお、監視部SIMONは、8つのセンサ素子L1〜L4,R1〜R4のいずれのセンサ素子も接触を検出していない場合には、「リリース状態」にある。このリリース状態から最初に接触が検出されると、プレスを意味する信号を接触信号の前にキューQUEに入れる(キューイングする)。その後、オペレーションシステムの有するOSタイマーCLKによるクロックにより45ms周期で接触信号を更新する。ここで、いずれかのセンサ素子が接触を検出していれば、監視部SIMONは、「プレス状態」にある。なお、「最初の接触」とは、キューQUEにデータのない状態、或いは、直近の入力データがリリース状態を示すものである場合に「フラグ:1」を有する信号が発生する事象を指す。その後、いずれのセンサ素子も接触を検出していない接触信号が得られたときは、接触検出モードに応じてリリース状態として、そのリリース状態を意味する信号である開放信号をキューQUEに入れる。これらの処理により、タッチセンサドライバTSDは、接触開始(プレス)からリリースまでの区間のセンサ素子の検出状態を知ることができる。
また、監視部SIMONは、タッチセンサモジュールTSMから出力される接触信号がFalseとなる条件を満たす信号であった場合には、リリース状態を意味する開放信号に変換してキューQUEに入れる。ここでFalse(偽)となる条件としては、「タッチセンサモジュールTSM起動中に割込みが生じた場合(例えば、メール着信等の通知でサブ表示部ELDの点灯/消灯状態が変更された場合)」、「タッチセンサモジュールTSM起動中にキー押下が発生した場合」、または後述するように「非連続な2つのセンサ素子で接触を検出した場合」などが設定される。
タッチセンサドライバTSDは、45ms周期でキューQUEから接触信号を読み出し、読み出した接触信号によって、接触を検知した素子を判定する。タッチセンサドライバTSDは、キューQUEから順次に読み出した接触信号により判定した接触の変化、および、検知した素子との位置関係を考慮して、「接触スタートの素子」、「接触の移動方向(右/左回り)の検出」、および「プレスからリリースまでの移動距離」の判定を行う。タッチセンサドライバTSDは、判定された結果を結果通知部NTFに書き込むとともに、ベースアプリBAに結果を更新するように通知する。
接触の移動方向および移動距離の判定は、隣接するセンサ素子の検出および各センサ素子の検出の組合せによって行うが、これには種々の手法(判定ルール)を適用することができる(詳細について後述する)。例えば、ある1つのセンサ素子(例えばR2)から隣接するセンサ素子(この例の場合、R2およびR3)へと接触が遷移すると、その方向に、1素子分(サブ表示部における1項目分)の移動とすると判定する。
前述のように、結果の更新がタッチセンサドライバTSDによってベースアプリBAに通知されると、ベースアプリBAは結果通知部NTFを確認し、結果通知部NTFに通知された情報の内容を、さらに上位のアプリケーションであってタッチセンサ結果を要するアプリケーション(サブ表示部におけるメニュー画面表示のための表示部表示アプリAP1、およびロック制御のためのロックセキュリテイアプリAP2など)に通知する。
図5は、本発明による携帯電話端末100の特にタッチセンサ部210の構成要素の配置を示す平面図である。作図および説明の便宜上、一部の構成要素のみを図示および説明する。本図に示すように、有機EL素子からなるサブ表示部ELDの周囲に沿って円環状のパネルPNLが配されている。パネルPNLは、下部に設けるセンサ素子の感度に影響を与えないように十分に薄くすることが好適である。パネルPNLの下部には、人体の指の接触/近接を検知できる静電容量型の8個のセンサ素子L1〜L4、R1〜R4をほぼ環状に配置してある。左側の4つのセンサ素子L1〜L4で第1のセンサ素子群G1、右側の4つのセンサ素子R1〜R4で第2のセンサ素子群G2をそれぞれ構成している。各センサ素子群内の隣接するセンサ素子の間には、隣接するセンサ素子同士で接触検出機能に干渉しないように、クリアランス(隙間)を設けて配置してある。なお、干渉しないタイプのセンサ素子を用いる場合にはこのクリアランスは不要である。第1のセンサ素子群G1の一端に位置するセンサ素子L4と、第2のセンサ素子群G2の一端に位置するセンサ素子R1との間には、前記クリアランスより大きいクリアランス(例えば、2倍以上の長さ)である離間部SP1を設ける。第1のセンサ素子群G1の他端に位置するセンサ素子L1と、第2のセンサ素子群G2の他端に位置するセンサ素子R4との間にも、離間部SP1と同様に離間部SP2を設ける。このような離間部SP1、SP2によって、第1のセンサ素子群G1と第2のセンサ素子群G2とが別個に機能させる際に、互いに干渉することを防止することができる。
第1のセンサ素子群G1の各センサ素子は円弧状に配置されているが、この円弧の中央、即ち、センサ素子L2およびL3の中間の下部に、タクトスイッチSW1の中心を配置する。同様に、第2のセンサ素子群G2の各センサ素子で形成される円弧の中央、即ち、センサ素子R2およびR3の中間の下部に、タクトスイッチSW2の中心を配置する。また、第1のセンサ素子群G1と第2のセンサ素子群G2との間に設けられた離間部SP1、即ち、センサ素子L4およびR1の中間の下部に、タクトスイッチSW3の中心を配置し、離間部SP2、即ち、センサ素子R4およびL1の中間の下部に、タクトスイッチSW4の中心を配置する(図6参照)。このように、方向性を連想させない位置であるセンサ素子の中間の位置にタクトスイッチを配置することによって、センサ素子上におけるユーザによる指の方向性を持った移動指示操作による方向指示とは直接関係しない操作を行うスイッチであることを、ユーザは容易に把握することができる。また、センサ素子の下方にタクトスイッチを配して機器外面に露出していないため、機器の外観上も露出する操作部の点数を削減でき、複雑な操作を要さない様なスマートな印象となる。なお、タクトスイッチをパネルPNL下部以外の箇所に設ける場合には、機器筐体に別途貫通孔を設ける必要があるが、貫通孔を設ける位置によっては筐体強度の低下が生じ得る。本構成では、パネルPNL、および、センサ素子の下方にタクトスイッチを配することによって、新たな貫通孔を設ける必要がなくなり、筐体強度の低下も防止できる。
ユーザが、例えば、指で順次にセンサ素子L1、L2、L3、L4を円弧状に上方に向かってなぞると、表示部ELDに表示されている選択候補項目(この場合は、音、表示、データ、カメラ)のうち選択対象領域(ここでは図示しないが、反転表示や別のカラーでの強調表示など)として表示されている項目が上方のものに順次変化したり、選択候補項目が上方にスクロールしたりする。そして、所望の選択候補項目が選択対象領域として表示されているときに、ユーザは、パネルPNLおよびセンサ素子L2,L3越しにタクトスイッチSW1を押下して選択決定を行ったり、タクトスイッチSW1〜SW4を押下して表示自体を別画面に変更したりすることができる。即ち、パネルPNLは、タクトスイッチSW1〜SW4を押下するのに十分な可撓性を持ち、あるいはわずかに傾倒可能に機器筐体に取り付けられ、タクトスイッチSW1〜SW4に対する押し子の役も持っている。
図6は、図2および図5に示した携帯電話端末の構成要素、特にタッチセンサ部210の分解斜視図である。図に示すように、端末筐体の外面をなす第1の層には、パネルPNLおよび表示部ELDが配される。第1の層のパネルPNLの下方に位置する第2の層には、センサ素子L1〜L4、R1〜R4が配される。第2の層のセンサ素子L2、L3の間の下方、および、センサ素子R2、R3の間の下方に位置する第3の層には、タクトスイッチSW1、SW2がそれぞれ配される。
図7は、本発明による携帯電話端末における各センサ素子からの接触検知データの処理を説明する概略ブロック図である。説明の簡易化のため、センサ素子R1〜R4についてのみ示してあるが、センサ素子L1〜L4についても同様である。センサ素子R1〜R4の各々には、高周波が印加されており、一定の浮遊容量の変化を考慮してキャリブレーションし、このときの高周波状態を基準として設定されており、それぞれ、前処理部300(R1用前処理部300a、R2用前処理部300b、R3用前処理部300c、R4用前処理部300d)にて、指の接触などによる静電容量の変化に基づく高周波状態の変動を検出すると、A/D変換器310(R1用A/D変換器310a、R2用A/D変換器310b、R3用A/D変換器310c、R4用A/D変換器310d)へと送信され、接触検出を示すデジタル信号に変換される。デジタル化された信号は制御部320へと送信されてセンサ素子群としてのまとまった信号の集合として、記憶部330に信号の保持する情報を格納する。その後、シリアルインターフェース部、割り込みハンドラにこの信号が送出され、割り込みハンドラにて、タッチセンサドライバが読み取り可能な信号に変換した後、変換後の信号をキューに入れる。なお、制御部320は、記憶部330に格納した情報に基づき、隣接したセンサ素子の2つ以上で接触を検出した時点で方向の検出を行う。
次に、本実施の形態の携帯電話端末100による「半周内検出モード」および「周回検出モード」について説明する。本実施の形態は、接触検出モードとして、第1のセンサ素子群G1および第2のセンサ素子群G2を独立して用いて制御を実行する「半周内検出モード」と、第1のセンサ素子群G1および第2のセンサ素子群G2の両方を用い、環状に配列されたセンサ素子L1〜L4,R1〜R4を1つのセンサ素子群として捉えて制御を実行する「周回検出モード」とを有している。
「半周内検出モード」では、リリース状態からプレス状態に遷移した後、いずれのセンサ素子も接触を検出していない接触信号が得られたときは、その時点でリリース状態を意味する信号をキューQUEに入れてリリース状態に遷移させ、移動を確定するようにして、ユーザに素早い操作感を提供することができるようにしている。また、「周回検出モード」では、リリース状態からプレス状態に遷移した後、いずれのセンサ素子も接触を検出していない接触信号が得られたときは、その時点から一定時間(例えば、100ms)は「リリース待ち状態」とし、この一定時間内にいずれかのセンサ素子が接触を検出した接触信号が得られれば、一連の入力操作が行われているものとしてプレス状態に復帰させて、接触が検出されなかった直前の接触信号と連続する接触信号として扱い、得られなければ開放信号をキューQUEに入れてリリース状態に遷移させ、第1のセンサ素子群G1と第2のセンサ素子群G2との間に形成された比較的広い離間部SP1、SP2を跨ぐ際に、瞬間的に接触が検出されなかった場合でも、連続検出状態とすることができるようにしている。これら「周回検出モード」および「半周内検出モード」は、実行中のアプリに応じて選択的に適用される。
先ず、「半周内検出モード」について説明する。「半周内検出モード」は、例えば上述した音楽プレーヤーのアプリやサブ表示部表示アプリAP1などの実行中において、サブ表示部ELDに表示される項目を選択するために、センサ部120における接触操作の移動方向および移動距離を検出するものである。この「半周内検出モード」では、上述したように、監視部SIMONが「リリース状態」から「プレス状態」に遷移した後、いずれのセンサ素子も接触を検出していない接触信号が得られたときは、その時点で監視部SIMONをリリース状態に遷移させて、タッチセンサドライバTSDにおいて、プレス状態からリリース状態までの区間のセンサ素子の検出状態を検知する。
図8および図9は、「半周内検出モード」の一例を説明するもので、センサ素子上をユーザがなぞった場合のサブ表示部の動作を示す図である。図8および図9において、(a)は携帯電話端末に実装したサブ表示部と、その周辺に沿って並べて配置したセンサ素子のみを、説明の簡易化のために示した概略図、(b)は時間推移に伴い検知したセンサ素子を示す図、(c)は検知したセンサ素子に応じたサブ表示部ELDの操作対象領域の位置変化を示す図である。これらの図の(a)において、センサ素子、センサ素子群および離間部には図2(b)と同様の符号を付している。また(c)のサブ表示部ELDの表示において、TIはサブ表示部が表示する項目リストのタイトル、LS1〜LS4は選択候補項目(例えば、スクロール可能な幾つかの行)を示す。また(c)のサブ表示部において、操作の対象となる状態にある項目は、現在の操作対象領域であることが識別できるように、当該項目にカーソルを配置する、或いは、項目自体を反転表示などで強調表示する。これらの図では、操作対象領域として表示されている項目にはハッチングを施して強調して示している。説明の便宜上、「移動対象」を操作対象領域のみで説明するが、項目自体を移動(スクロール)させる場合も同様の原理でサブ表示部は動作する。
図8(a)において矢印AR1に示す上から下の向きに、例えば指などの接触手段を用いて各センサ素子上を連続的になぞると、制御部は、(b)で示す時間推移で接触を検知する。この場合は、センサ素子R1、R2、R3、R4の順に接触を検知する。このR1からR4までの連続した接触は、隣接したセンサ素子の2つ以上で検知しているため、方向の検出を行い、隣接したセンサ素子を遷移した回数とその方向に応じて、操作対象領域がサブ表示部ELDに表示したリスト上を移動する。この場合は、(c)で示したように、操作対象領域は、初期位置の項目LS1から項目LS4まで下方へ項目を3つ分移動する。なお、操作対象領域は、ハッチングで表してあるが、ハッチングピッチの狭いものが初期位置であり、ハッチングピッチの広いものが移動後の位置である。このように、本構成によれば、ユーザの「下方への指の指示動作」と同じように、サブ表示部の「操作対象領域が下方に移動」するため、ユーザはあたかも自己の指で操作対象領域を自在に移動させているように感じることになる。即ち、ユーザの意図した通りの操作感覚が得られる。
同様に、同図(a)において矢印AR2に示す向きにセンサ素子がなぞられたとすると、(b)で示したように各センサ素子のうちセンサ素子L4、L3、L2、L1がこの順に接触を検知し、この場合、矢印AR1と同じく上から下へ、隣接するセンサ素子を3つ遷移する接触のため、(c)のように下方に向かって項目LS1から項目LS4まで操作対象領域が3つ分移動する。
図9(a)において矢印AR1に示す下から上の向き(反時計回り方向)にセンサ素子がなぞられたとすると、(b)で示したように各センサ素子のうちセンサ素子R4、R3、R2、R1がこの順に接触を検知し、この場合、下から上へ、隣接するセンサ素子を3つ遷移する接触のため、(c)のように上方に向かって項目LS4から項目LS1まで操作対象領域が3つ分移動する。
同様に、同図(a)において矢印AR2に示す下から上の向き(時計回り方向)にセンサ素子がなぞられたとすると、(b)で示したように各センサ素子のうちセンサ素子L1、L2、L3、L4がこの順に接触を検知し、この場合、矢印AR1と同じく下から上へ、隣接するセンサ素子を3つ遷移する接触のため、(c)のように上方に向かって項目LS4から項目LS1まで操作対象領域が3つ分移動する。
このように、「半周内検出モード」では、各センサ素子群内において、ある1つのセンサ素子(例えばR2)への接触だけでは移動として検出されず、当該センサ素子から隣接するセンサ素子(例えば、R3)へと接触が遷移して、はじめてその方向に1素子分(サブ表示部ELDにおける1項目分)の移動として検出する。したがって、離間部SP1またはSP2を跨る隣接する2つのセンサ素子間の接触遷移、即ちL4−R1間の接触遷移、L1−R4間の接触遷移は、無効と判定され、移動としては検出されない。
なお、離間部SP1またはSP2を跨る接触遷移でも、同一センサ素子群内において隣接するセンサ素子間の遷移があれば、当該センサ素子群における接触遷移は有効と判定されて、その接触遷移方向への移動として検出される。したがって、例えばR3→R4→L1と接触が遷移した場合には、R3→R4の遷移は有効、R4→L1の遷移は無効と判定されて、サブ表示部ELDにおいて操作対象領域が下方へ1項目分移動することになる。また、R1から時計回りにL4まで接触が遷移した場合には、R1からR4までの遷移は有効、R4→L1の遷移は無効、L1からL4までの遷移は有効と判定されて、サブ表示部ELDにおいて操作対象領域が下方へ3項目分移動した後、上方へ3項目分移動して、元の位置に戻ることになる。
図10は、「半周内検出モード」の他の例を説明するもので、センサ素子検出状態を単一素子検出状態だけでなく、隣接する2つの素子を更に検出している複数素子検出状態を判定するようにして16個に分割して示した概念図である。ここでは、図5と同様に、タクトスイッチSW1〜SW4も図示している。
制御部110は、図10に示すように、単一のセンサ素子のみが接触を検出するR1検出、R2検出、R3検出、R4検出、L1検出、L2検出、L3検出、L4検出の他に、隣接する2つのセンサ素子の接触を検出するR1−R2検出、R2−R3検出、R3−R4検出、L1−R4検出、L1−L2検出、L2−L3検出、L3−L4検出、L4−R1検出の合計16個の検出状態を管理できる。即ち、この「半周内検出モード」では、センサ素子の1つのみについて操作状態を検出している単一素子検出状態と、隣接する2つのセンサ素子の操作状態を検出している隣接素子検出状態とを検出できるようにして、センサ素子検出状態を16個にすることによって、より精密な制御を可能としている。
8個のセンサ素子の検出状態を1個ずつ管理すると、8個の検出状態を管理できる。しかしながら、8個の検出状態では、状態の数、即ち、状態変化が少ないため、あまり精密な制御はできない。また、携帯性が問われる携帯電子機器においては、センサ素子のサイズ自体も小さいため、センサ素子間にまたがってセンサ素子に接触する場合があり、その際に、例えばセンサ素子L2、L3の順に接触が検出された場合には、上方への移動指示となってしまい、ユーザの意図しない動作となる恐れがある。このようなセンサ素子への接触検出を適切に処理するためには、16個の検出状態で2つまたは3つの検出状態変化(移動)を検出するまで、移動指示の確定を保留する必要がある。以下、移動指示の確定を保留する処理を、フローチャートを参照して詳細に説明する。
図11は、16個の検出状態における移動確定処理(即ち、保留処理)の一例を示すフローチャートであって、いずれか1個の検出状態がキューQUEに発生することを検出する毎に、このフローチャート処理をタッチセンサドライバTSDが行う。リリースされた状態から最初に検出した位置(16個のいずれか1つの検出状態)を最初の基準点とする。この基準点、現在の検出位置(キューQUEに新たに入れられた検出状態)、前回の検出位置(キューQUEに残されている1つ前の検出状態)の3つから、移動距離(検出状態の遷移)を判定する。図に示すように、ステップS10では、前回の位置がリリースされたか否かを判定する。リリースされていると判定された(キューQUEに残っている前回のデータが「リリース」である)場合は、ステップS12に進み、現在の検出位置がリリースされたか否か(即ち、新たに入れられたデータが「リリース」であるか否か)を判定する。現在の検出位置がリリースされていると判定された場合は処理を終了し、そうでない場合はステップS14に進み、基準点と前回の検出位置を現在の検出位置に設定する。
ステップS10で前回の位置がリリースされていないと判定された(即ち、他に検出が生じており、今回の検出がそれに引き続くものである場合)場合は、ステップS16に進み、現在の検出位置がリリースされたか否か(即ち、新たに入れられた信号が「リリース」であるか否か)を判定する。現在の検出位置がリリースされていると判定された場合は、基準点と前回の検出位置を初期化(クリアー)して処理を終える(ステップS18)。ステップS16で現在の検出位置がリリースされていないと判定された場合は、前回の検出位置と現在の検出位置との距離を計算して(ステップS20)、計算した距離が1または2であるか否かを判定する(ステップS22)。計算した距離が1または2ではないと判定された場合は、センサ素子を飛ばして不連続な検出状態であると判定し(ステップS24)、基準点を現在の検出位置に設定し(ステップS26)、ステップS36に進む。ステップS22で計算した距離が1または2であると判定された場合は、現在の検出位置と基準点との距離を計算する(ステップS28)。なお、距離の計算は、キューQUEに入れられる信号により、センサ素子ごとの検出位置が分るため、前回の検出位置と、現在の検出位置との間に、16個の検出状態のうちの何個分の差があるのかをタッチセンサドライバTSDが判断して行う。
また、ステップS28で計算された距離が、2または3である否かを判定し(ステップS30)、条件を満たさない場合(即ち、4以上)はステップS36にエラーとして進み、条件を満たす場合(距離が2または3である場合)は、移動を確定する(ステップS32)。即ち、最初に触れた位置が「基準点」とされ、その後「リリース」されることなく引き続いて接触が検出され続けると「前回位置」が更新され、最終的に、最新の検出位置である「現在の位置」が基準点に対して「2または3移動した」と判定されたときに初めて、「移動あり」と判定している。さらに、単一素子検出状態および複数素子検出状態を連続して検出することで、「2の移動」であると判定しているため、センサ素子上では、上記「2の移動」により初めてセンサ素子1つ分指が移動していることになる。次の基準点を前の基準点から移動方向に2つ移動した位置に設定し(ステップS34)、ステップS36に進む。ステップS36では、次回の処理のために「前回の検出位置」を「現在の検出位置」に設定して、処理を終える。
図12は、図11のフローチャートの処理を図10のセンサ素子L1からL4への接触に適用した場合の確定処理を説明する図である。図に示すように、検出状態変化は、「L1検知」、「L1−L2検知」、「L2検知」、「L2−L3検知」、「L3検知」、「L3−L4検知」、「L4検知」となる。即ち、単一素子検出状態と複数素子検出状態とをL1からL4まで繰り返し検知する。まず、初めの「L1検知」が基準点BP1に設定される(S14)。次に「L1−L2検知」が生じると、前回の位置がリリースではなく「L1検知」であるため、前回の位置と今回検出された現在位置とを比較する(S22)。ここではL1からL1−L2への1コマの移動であり、「1または2か?」の判定条件を満たすため有効とされ、今度は基準点と現在位置とを比較する(S30)。ここでは、基準点も前回位置も同じL1に設定されているため、やはり移動量は1コマであり、この段階では移動は確定せず、現在位置のL1−L2検知状態を前回位置PP1とする(S36)。
さらに「リリース」が途中で生じることなく「L2検知」が生じると、前回の位置が「L1−L2検知」であるため、前回の位置と今回検出された現在位置CP1とを比較する(S22)。ここではL1−L2からL2への1コマの移動であり、「1または2か?」の判定条件を満たすため有効とされ、今度は、基準点と現在位置とを比較する(S30)。今回も基準点はL1検知時と変わらず同じL1に設定されているため、L2との位置関係は2コマであるため、移動量は2コマと判定される。そして、ここで初めて移動が確定する(S32)。そして、次の判定のために、基準点BP2を「L1検知」から移動方向に2コマ遷移させた点、即ち「L2検知」に設定する(S34)とともに、前回位置を現在位置「L2検知」に再度設定し直して、確定処理1が完了する(S36)。
このように、タッチセンサドライバTSDは、2コマの検知状態の遷移を検出することにより、移動「1」が決定される。つまり、ステップS32において移動が確定されると、結果通知部NTFに移動方向成分(L1からL4に向かう時計回り方向)および「1」の移動を格納すると共に、ベースアプリBAに対して記憶内容の更新を通知し、ベースアプリBAはこの更新内容を抽出してサブ表示部表示アプリAP1などに通知することになる。サブ表示部表示アプリAP1が使用中ならば、移動方向成分に基づいて「下から上に向かう方向」に、「1」の移動量か与えられているので、これに見合った処理として、サブ表示部ELDの表示を変化させる。具体的には図9(c)に示すようなリスト表示を行っていて、操作対象領域がLS4に位置している場合には、確定処理1に基づき操作対象領域はLS3に移動することとなる。ところで、この確定処理1と同様に第2のセンサ素子群であるR1〜R4に対して、「R4検知」状態から連続して「R4−R3検知」「R3検知」と継続して検知状態が遷移したときにもタッチセンサドライバTSDからは移動方向成分に基づいて「下から上に向かう方向」および、「1」の移動量の付与の情報がベースアプリ経由でサブ表示部表示アプリAP1に与えられ、リスト表示の画面表示上は第1のセンサ素子群における操作と同じように、操作対象領域は項目LS4からLS3に変化することとなる。
次に、確定処理1に引き続き、「リリース」が生じることなく指の移動が継続した場合を説明する。確定処理1の場合と同様、図中の確定処理2に示すように、検知状態が、基準点BP2から2コマ進み、「L2−L3検知」を前回の位置PP2とし、「L3検知」が現在の位置CP2となったとき、基準点BP2と現在の位置CP2との距離が2コマとなるため、さらに移動「1」が確定する。即ち、確定処理1に引き続いた確定処理2の両方により、合計「2」の移動が確定する。そして、さらに引き続く処理のために、基準点BP2「L2検知」から2コマ先の「L3検知」を新たな基準点BP3として基準点を変更する。
同様に、図中の確定処理3に示すように、検知状態が、基準点BP3から2コマ進み、「L3−L4検知」を前回の位置CP3とし、「L4検知」が現在の位置CP3になった時点で、距離が2コマとなるため、さらに「1」移動が確定して、確定処理1および確定処理2と合わせて合計「3」個の移動が確定する。このようにして、合計「3」の移動がアプリに通知されることとなる。
サブ表示部ELDにおける表示としては、サブ表示部表示アプリAP1に、確定処理1に引き続いて、「下から上に向かう方向」に「1」の移動確定が2回通知されることとなるので、操作対象領域がLS3から上方向に「2」移動したLS1にまで変化することとなる。ここで、単一素子検出状態の検出だけではなく、複数素子検出状態も検出するように構成して検出状態を細分化したにもかかわらず、状態遷移2コマの移動により確定する移動量を「1」としたことにより、結局、例のような4つのセンサ素子で構成されるセンサ素子時の場合には最大「3」の移動確定を行うようにした。つまり、センサ素子数4つの場合に単一素子検出のみによって移動確定を行う場合と、最終的に見た目の移動量は非常に近似したものとなるが、正確に単一の素子の真上のみを触っていなくとも、最大「3」の移動量を確保することができ、ユーザの不正確な操作にも無反応などとなることなく、ユーザの希望に沿う形で対応できることとなる。
また、携帯電話機を携帯するユーザが、振動の生じやすい場所にて操作を行ったときに、外部振動によって指の移動中に、一瞬、センサ部120から指が離れる場合などが考えられる。このような場合に、センサ素子数分についてのみを検知するという単一素子検出のみを行って移動検出する粗い検知方式ならば、検知漏れが生じにくいが、単一素子検出だけでなく複数素子検出状態も検知するような緻密な検知方式とした場合、瞬間的に指が離れただけでも指は回転動作を継続中であるために検知状態を1つ飛ばしてしまう場合も考えられる。しかしながら、ステップS22にて「前回位置と現在位置の距離が1か2か?」としたことにより、前回位置から2移動している場合、つまり前回位置から1つ飛ばしても連続移動検出状態として扱うことができるため、振動下においてもユーザの希望した動作に極力近づけることができる。
なお、ステップS30において距離2コマだけでなく3コマについても有効としていることからも、振動などで指が一瞬はずれたり、素早い操作で検出状態が1つ飛んで検出されたりした場合などにも移動操作を検出することができる。さらに、3コマの移動量検出でも、次の2コマのときと同様に「1」の移動量確定とするだけでなく、次回検出のための基準点の設定は2コマ移動のときと同様に前回基準点に対して2コマのみ移動させるにとどめているため、3コマ検出による移動確定を行った場合でも、センサ素子数nから1を引いた「n−1」の移動確定する量を確保することができ、ユーザにとってはいかなる触り方をしても同じ操作感という安定した操作感を得ることができるようになる。
このように、複数のセンサ素子のうちの1つのみについて操作状態を検出している単一素子検出状態と、複数のセンサ素子のうちの隣接する2つのセンサ素子の操作状態を検出している隣接素子検出状態を検知し、単一素子検出状態と隣接素子検出状態との組合せにより、移動を決定することによって、ユーザの意図した通りの操作感覚が得られ、また、デバイスに手を加えることなく、より緻密な移動検出ができる。
次に、「半周内検出モード」において、タッチセンサモジュールTSMから出力される接触信号が有効でない信号(Falseとなる条件を満たす信号)であるときのシリアル割込み監視部SIMONと確認部CNFの動作を説明する。図13は、シリアル割込み監視部SIMONと確認部CNFの動作を説明するフローチャートである。監視部SIMONが、タッチセンサモジュールTSMからシリアルインターフェース部SIに出力された接触信号を取り出すと(S101)、確認部CNFは、あらかじめ設定された条件に従い、取り出した接触信号が有効であるか否か、即ちTrue/Falseの判定を行う(S102)。確認部CNFは、有効な信号、即ちTrue(真)な信号であれば接触信号(位置特定信号)をキューQUEに入れる(S103)。有効でない信号、即ちFalse(偽)な信号であれば接触信号を、リリース状態を意味する信号である開放信号に変換し(S104)、開放信号をキューQUEに入れる(S103)。
ここで、False(偽)となる条件としては、非連続な2つのセンサ素子で接触を検出した場合が設定される。したがって、確認部CNFは、接触信号が異なるセンサ素子の同時検出を示す信号であった場合には、同時検出の生じたセンサ素子間の位置関係を判断し、同時検出の生じたセンサ素子間の位置関係が隣接位置ならば有効な信号とし、非隣接関係ならば有効ではない信号として判断する。例えば、センサ素子R2とR3といった隣接する2つのセンサ素子で同時に接触を検出した場合は、有効な信号と判断し、センサ素子R2とR4といった隣接しない2つのセンサ素子で同時に接触を検出した場合は、有効ではない信号と判断する。また、同時検出の生じたセンサ素子が、第1のセンサ素子群G1と第2のセンサ素子群G2とにそれぞれ属するセンサ素子である場合も、有効ではない信号と判断する。また、「半周内検出モード」では、接触信号が異なる3つのセンサ素子の3ヶ所同時検出を示す信号であって、センサ素子間の位置関係が隣接関係である場合においても、有効ではない信号と判断する。
このように、「半周内検出モード」では、非連続な2つのセンサ素子で同時に接触を検出した場合や、第1のセンサ素子群G1と第2のセンサ素子群G2とにそれぞれ属するセンサ素子で同時に接触を検出した場合は、開放信号に変換してキューQUEに入れるようにしたので、誤検出を簡単かつ確実に防止することができる。したがって、不慣れなユーザが同時に別々のタッチセンサ素子に触れてしまっても誤った処理を行うことなく、ユーザに対してストレスを与えることがない。
次に、「周回検出モード」について説明する。「周回検出モード」は、例えば上述したロックセキュリテイアプリAP2の実行中において、セキュリティロックを解除する場合などに、センサ部120における接触操作の周回数および周回方向を検出するものである。
図14は、「周回検出モード」におけるタッチセンサの接触検出についての基本的な動作を示すフローチャートである。この「周回検出モード」では、先ず「リリース状態」(RS1)から、いずれかのセンサ素子により接触が検出(RS2)されて「プレス状態」(RS3)に遷移したら、いずれのセンサ素子も接触を検出していない接触非検出が生じたか否かを検知し(RS4)、接触非検出が検知されたら「リリース待ち状態」とする(RS5)。
その後、RS4において接触非検出が検知された時点から一定時間(例えば、100ms)内において、いずれかのセンサ素子が接触を検出したか否かを検知し(RS6)、接触が検知されたら、一連の入力操作が行われているものとしてRS3の「プレス状態」に遷移して、RS4において接触非検出となる直前の接触信号に連続する接触信号として扱う。これに対し、RS6において、一定時間内に接触が検出されない場合には、リリースの発生として開放信号をキューQUEに入れて、それまでの接触検出の変化に応じた制御を実行するとともに(RS7)、周回検出モードが終了していなければ、RS1のリリース状態に遷移させる(RS8)。
図15は、「周回検出モード」の一具体例を説明するもので、図10と同様に、センサ素子検出状態を単一素子検出状態と複数素子検出状態とを含む16個に分割して示した概念図である。ここでは、1つのセンサ素子群として捉えたセンサ素子L1〜L4,R1〜R4における一のセンサ素子が接触を検出し、かつ、当該一のセンサ素子の位置を基点として、該基点から時計回りにおいて1つ手前の位置までの複数のセンサ素子が、所定時間(例えば、数秒)内に連続して順に接触を検出したのを検知して、時計回りの一周の接触操作を検出する。なお、センサ素子L1〜L4,R1〜R4による連続した接触検出は、図14に示した「リリース待ち状態」を考慮して検知する。
例えば、図15において、時計回りの周回を検出する場合、リリースしている状態から最初に指が触れられたプレス位置がL1検出位置であったときは、L1を基点として、一定時間内に時計回りにL1から1つ手前のセンサ素子R4による接触検出を含むR3−R4検出位置まで、連続して順に接触が検出されたのを検知して、時計回りに一周の接触操作がされたと検出し、その後リリースされることなく、引き続いてL1からR3−R4検出位置まで所定時間内に連続して順に接触が検出されたのを検知したら、次の時計回りの一周の接触操作がされたと検出する。以後、「リリース待ち状態」を経過してセンサ素子群から指がリリースされるまで、同様の動作を繰り返す。
図16は、この場合のフローチャートを示すものである。先ず、ロックセキュリテイアプリAP2の実行中において、セキュリティロックの解除処理が選択されたら、図1に示した記憶部140の保存領域142に格納する周回数を初期化する(S41)。その後、ユーザによるセンサ部120の接触が開始されたら(S43)、最初に指が触れたプレス位置を周回の基点(スタート位置)として保存領域142に保持する(S45)。ここでは、最初にL1検出位置に触れたとして、位置L1を基点として保持する。
その後、制御部110では、「リリース待ち状態」を考慮してキューQUEから読み出した接触信号の変化からユーザによる周回操作が開始されたのを検知して、接触の遷移方向、即ち周回方向を検出し(S47)、その検出した周回方向とステップS45で保持した基点とから、一周検出の終点となる基点位置から1つ手前の位置をエンド位置と決定して、その位置を保存領域142に保持する(S49)。この例では、基点がL1で、周回方向が時計回りであるから、センサ素子L1から時計回りに1つ手前のセンサ素子R4による接触検出位置を含むR3−R4検出位置がエンド位置R4として決定されて保持される。
その後、周回検出処理における周回方向を時計回りに保持した状態で(S51)、「リリース待ち状態」を考慮してキューQUEから読み出した接触信号の順次の変化に基づいて、所定時間内に基点L1から時計回りのエンド位置R4を含むR3−R4検出位置まで、センサ素子が連続して順に接触を検出したか否かを検出し(S53)、順に接触が検出された場合には時計回りに1周したと検出して(S55)、周回数カウンタをカウントアップする(S57)。その後、接触信号に基づいて、リリース待ち状態が経過して指がリリースされたか否かを判定し(S59)、リリースされていなければステップS53に移行して、1周目と同じ位置L1を基点として次の時計回りの周回を検出する。
一方、ステップS53において、所定時間内に基点L1から時計回りのエンド位置R4を含むR3−R4検出位置まで、センサ素子が連続して順に接触を検出しなかった場合や、ステップS59においてリリースされたと判定された場合には、その時点の周回数カウンタにおけるカウント値を出力して(S61)、周回検出処理を終了する。
なお、ここでは、周回方向を時計回りとしたが、反時計回りの場合も同様であり、また周回のエンド位置も、基点から周回方向の1つ手前に限らず、2以上手前とすることも可能である。また、最初に指が触れたプレス位置が、例えばL1−L2検出位置の場合には、一方を基点とするように予め決めておいても良いし、一度決定した基点を周回方向に応じて変更するようにしても良い。例えば、L1−L2検出位置の場合は、基点をL1と予め決定し、その後、周回方向が時計回りと検出された場合には、基点をL1そのままとして、エンド位置を1つ手前の場合にはR4と決定し、周回方向が反時計回りと検出された場合には、基点をL1からL2に変更して、エンド位置を1つ手前の場合にはL3と決定する。さらに、ここでは、隣接する2つのセンサ素子が同時に接触を検出する複数素子検出状態を含む16個のセンサ素子検出状態を監視して周回を検出するようにしたが、単一のセンサ素子のみが接触を検出する8個のセンサ素子検出状態を監視して周回を検出することもできる。
このように、「周回検出モード」では、センサ部120から指が離れても、一定時間内に再びセンサ部120に指が触れれば、一連の入力操作が行われているものとして指が離れる直前の接触信号に連続する接触信号として扱われるようにしたので、第1のセンサ素子群G1と第2のセンサ素子群G2との間に形成された比較的広い離間部SP1、SP2を跨ぐ際に、瞬間的に接触が検出されなかった場合でも、連続検出状態とすることができる。また、「半周内検出モード」のようにカーソル等を移動させる場合とは異なり、セキュリティロックを解除する場合のように、単にセンサ部120を指でなぞって周回させる場合には、周回操作がアバウトで素早くなりがちになる。このため、特にセンサ部120が小さい場合には、瞬間的にセンサ部120から指が離れたり、逸れたりし易くなるが、このような場合でも連続検出状態とすることができる。同様に、外的振動を拾い易い移動環境下での入力操作において、瞬間的にセンサ部120から指が離れたり、逸れたりした場合でも、連続検出状態とすることができる。
次に、「周回検出モード」において、タッチセンサモジュールTSMから出力される接触信号が有効でない信号(Falseとなる条件を満たす信号)であるときのシリアル割込み監視部SIMONと確認部CNFの動作を説明する。図17は、シリアル割込み監視部SIMONと確認部CNFの動作を説明するフローチャートである。監視部SIMONが、タッチセンサモジュールTSMからシリアルインターフェース部SIに出力された接触信号を取り出すと(S201)、確認部CNFは、あらかじめ設定された条件に従い、取り出した接触信号が有効であるか否か、即ちTrue/Falseの判定を行う(S202)。確認部CNFは、有効な信号、即ちTrue(真)な信号であれば、変換テーブルを参照して変換の必要な信号のみを変換して(S203)キューQUEに入れる(S204)。有効でない信号、即ちFalse(偽)な信号であれば接触信号を、リリース状態を意味する信号である開放信号に変換し(S205)、開放信号をキューQUEに入れる(S204)。
False(偽)となる条件としては、「半周内検出モード」と同様に、非連続な2つのセンサ素子で接触を検出した場合が設定される。したがって、確認部CNFは、接触信号が異なるセンサ素子の同時検出を示す信号であった場合には、同時検出の生じたセンサ素子間の位置関係を判断し、同時検出の生じたセンサ素子間の位置関係が隣接位置ならば有効な信号とし、非隣接関係ならば有効ではない信号として判断する。
また、「周回検出モード」では、確認部CNFが、有効な信号、即ちTrue(真)な信号であれば、変換テーブルを参照して変換の必要な信号のみを変換する。図18は、確認部CNFが参照する変換テーブルの一例を示す図である。図18に示す変換テーブルから分かるように、確認部CNFは、例えば、センサ素子R2とR3といった隣接する2つのセンサ素子で同時に接触を検出した場合には、単一のセンサ素子を検出した場合と同様に、接触を検出したセンサ素子に対応するビットにフラグが立った接触信号(位置特定信号)をキューQUEに入れるが、センサ素子の接触検出の信号が、異なる3つのセンサ素子の3ヶ所同時検出を示す信号であって、センサ素子間の位置関係が隣接位置関係にある場合には、3ヵ所同時検出を示す信号に替えて、接触検出の生じたセンサ素子のうち中央のセンサ素子の検出を示す接触信号(位置特定信号)に変換してキューQUEに入れる。例えば、図19に示すように、隣接位置関係にあるセンサ素子L3、L4、R1の3ヶ所同時検出を示す信号のときは、中央のセンサ素子L4の検出を示す接触信号(位置特定信号)に変換してキューQUEに入れる。
このように、「周回検出モード」では、非連続な2つのセンサ素子で同時に接触を検出した場合は、開放信号に変換してキューQUEに入れるようにしたので、誤検出を簡単かつ確実に防止することができ、不慣れなユーザが同時に別々のタッチセンサ素子に触れてしまっても誤った処理を行うことなく、ユーザに対してストレスを与えることがない。また、センサ素子間の位置関係が隣接位置関係にある、異なる3つのセンサ素子で同時に接触を検出した場合は、接触検出の生じた3つのセンサ素子のうち中央のセンサ素子の検出を示す接触信号(位置特定信号)に変換してキューQUEに入れるようにしたので、指のサイズの大きいユーザが操作する場合や、指を寝かした状態で操作する場合においても、ユーザからの処理を極力有効にしてユーザに対してストレスを与えることがない。
なお、隣接した3ヶ所の同時検出が生じ、所定のセンサ素子での接触が生じたという信号に置換された場合に関しても、その後の移動方向検出などは通常通り、図16に示した処理に準じて行う。すなわち、3ヶ所の同時検出が行われている場合であっても、わずかに指が動き、3ヶ所中の端部の1ヶ所での検出が生じなくなると共に、残る2ヶ所の同時検出が続いている場合には、中央のセンサ素子の単一検出状態から、2ヶ所の複数素子検出状態への遷移が生じたこととすることととなり、図16に示した移動検出を有効とすることができる。なお、何らかの理由により、隣接3ヶ所同時検出から、中央だけ接触検出ができなくなった場合には、非隣接の2ヶ所同時検出となるため、Falseとなる。よって、移動検出は生じないこととなる。この場合は、当初の隣接3ヶ所同時検出自体が2本の指で近傍を触れていた、などと考えることができ、このような不正な接触についてを有効とせずに済むようになり、内部処理的にエラーを生じる要因を減少させることもできる。
以上のように、本発明におけるタッチセンサでは、そのバッファリング手段にて、周回検出モードの場合に3ヶ所同時検出を有効とし、半周内検出モードの場合には3ヶ所同時検出を無効とするよう制御している。つまり、携帯電話端末に搭載するような小型のタッチセンサの場合、サイズが小さいため、そのセンサ素子数はどうしても少なくなってしまう。本実施形態にて述べたような半周分について4つしかセンサ素子を備えていない場合、隣接3ヶ所同時検出まで有効とすると、半周分においてはその移動量検出がほとんど生じなくなってしまうため、半周分については無効としている。逆に、周回したか否かを検出し、RFID通信のロック機能の解除/非解除を指示する手段などとしてタッチセンサを用いる場合には、1周分指で操作したかどうかが問われるため、繊細な操作を特に要しない。つまり、この程度の作業の場合には、ユーザはむしろ素早く操作するであろうことが想像できる。よって、周回検出モードについては、隣接3ヶ所検出を有効としておくことが好ましい。このように、各モードに応じて、検出結果の有効/無効を変更することにより、ユーザにとってはストレス無く、かつ正確な操作を行うことができる。
なお、本発明は、上記実施の形態に限定されるものではなく、発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、第1のセンサ素子群G1および第2のセンサ素子群G2は、ほぼ円環状に限らず、矩形状、多角形状など、任意の環状パターンで配したり、環状に限らず、少なくとも互いの一端部が近接する直線状あるいは曲線状等の任意のパターンで配したりすることもできるし、各センサ素子群におけるセンサ素子の数も4個に限らず、任意の複数個とすることができる。さらに、センサ素子群は、1つとすることもできる。また、センサ素子は、静電容量式の接触センサや前述した薄膜抵抗式に限らず、受光量の変動によって接触を検知する光学方式、表面弾性波の減衰によって接触を検知するSAW方式、誘導電流の発生によって接触を検知する電磁誘導方式のセンサ素子を用いることもできるし、接触センサのタイプによっては、指以外の専用ペンなどの指示器具を使用するものも用いることもできる。また、本発明は、携帯電話端末に限らず、PDA(パーソナルデジタルアシスタンス)、携帯ゲーム機、携帯オーディオプレイヤ、携帯ビデオプレイヤ、携帯電子辞書、携帯電子書籍ビューワなどの携帯電子機器に広く適用することできる。