以下、図面を参照して本発明の実施例を詳細に説明するが、本実施例では、携帯電子機器の典型例として携帯電話端末に本発明を適用して説明する。
(第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(a)は携帯電話端末100の外観を示す斜視図である。携帯電話端末100は、タッチセンサ部210(外観上、センサ部130、すなわちセンサ素子G1およびG2を覆う図3にて後述するパネルPNLが見えている)、カメラ220、およびライト230を備える。携帯電話端末100は、図2に示すような閉状態のほか、ヒンジ部を回動またはスライドさせて開状態を形成することも可能であって、タッチセンサ部210はは閉状態においても操作可能な位置に設けられている。図2(b)は、本実施例によるタッチセンサの動作の説明のために、パネルPNLを省略し、センサ素子とサブ表示部ELD周辺のみの配置を表示した本実施例の携帯電話端末100の斜視図である。図のように、センサ素子L1〜L4およびR1〜R4が、サブ表示部ELDの周囲に沿って並べて配置されている。センサ素子L1〜L4、R1〜R4は、それぞれ第1のセンサ素子群G1、第2のセンサ素子群G2を構成している。第1のセンサ素子群G1と第2のセンサ素子群G2は、離間部SP1、SP2を隔てて並べられている。これらのセンサ素子群は、サブ表示部ELDを挟み、選択候補項目の並べられている方向を中心線とする線対称のレイアウトを持つ。本実施例ではサブ表示部ELDに有機ELディスプレイを用いてあるが、例えば液晶表示ディスプレイ等を用いることもできる。また、本実施例ではセンサ素子として静電容量式の接触センサを用いたが、薄膜抵抗式の接触センサ等を用いることもできる。
円環状に配置した第1のセンサ素子群122および第2のセンサ素子群124を構成する複数の各センサ素子L1〜L4、R1〜R4の並ぶ方向は、それぞれのセンサ素子群の終端部を除いて常に所定の一方向成分を有し、この所定の一方向に沿ってサブ表示部ELDに表示される項目を並べるように構成する。即ち、その所定の一方向を図2(b)の携帯電話端末100の長手方向つまり紙面の上下方向とすると、各センサ素子L1〜L4、R1〜R4の任意の1つに着目し、その素子の長手方向の方向成分を前記所定の一方向とこれに直交する方向の成分とに分解すると、必ず前記所定の一方向と平行な成分が含まれることになり、この所定の一方向に沿ってサブ表示部ELDに表示される項目を並べる。したがって、第1のセンサ素子群122または第2のセンサ素子群124に沿って円弧状にユーザが指をなぞらせる動作は、サブ表示部ELDに表示される項目の、紙面に対して上下方向の移動をユーザに想起させるものとなる。
図2の携帯電話端末100において、サブ表示部ELDは携帯電話端末100の用途に応じた情報を表示する。例えば、携帯電話端末100を音楽プレーヤとして用いる場合、サブ表示部ELDには演奏できる曲目が表示される。曲名およびアーティスト名の組で1つの項目、即ち、「選択候補項目」となる。ユーザは、操作入力部としてタッチセンサ部210を操作して、センサ素子R1〜R4およびL1〜L4の静電容量を変化させて、サブ表示部ELDに表示された項目や操作対象領域を移動させて曲目の選択を行なう。このとき、タッチセンサは、図2のようにサブ表示部ELDの周囲にセンサ素子を並べる構成とすることにより、小型な携帯電子機器の外部筐体における実装部分を大きく占有せずに済み、かつ、ユーザはサブ表示部ELDの表示を見ながらセンサ素子を操作することができる。
図3は、本実施例の携帯電話端末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とが別個に機能させる際に、互いに指が干渉することを防止することができる。
タクトスイッチSW1およびSW2が、センサ素子の下部であって、センサL2とL3との間のクリアランス、およびR2とR3との間のクリアランスにそれぞれこのタクトスイッチの中心が位置するように配置されている。タクトスイッチの位置に対応するパネルPNLの部分を押下げることにより、このタクトスイッチが押下げられ、それによって表示部に表示された項目の選択が実行される。選択が実行されると、例えば、サブ表示部ELDまたはセンサ素子の後ろ側に設置されたバックライト(図示せず)が点灯し、ユーザに選択が実行されたこと、すなわちタクトスイッチが押下げられたことを示す。さらに、音声通話またはメールの着信等のユーザに通知すべき事象が発生した場合にも、このサブ表示部ELDの点灯表示がなされる。
図4は、上述した本実施例の携帯電話端末100の詳細な機能ブロック図である。言うまでもなく、図4に示す各種ソフトウェアは、図1に示す記憶部140に記憶されるプログラムに基づき、同じく記憶部140上にワークエリアを設けた上で、制御部110が実行することにより動作する。携帯電話端末100の諸機能は、図4に示すように、ソフトウェアブロックとハードウェアブロックとに分かれる。ソフトウェアブロックは、フラグ記憶部FLGを持つベースアプリBA、サブ表示部表示アプリAP1、ロックセキュリティアプリAP2、その他アプリAP3、およびラジオアプリAP4から構成される。ソフトウェアブロックは、さらに、赤外線通信アプリAPIRおよびRFIDアプリAPRFも含む。これらの各種アプリ(アプリケーションソフトウェア)がハードウェアブロックの各種ハードウェアを制御するときに、赤外線通信ドライバIRD、RFIDドライバRFD、オーディオドライバAUD、ラジオドライバRD、およびプロトコルPRをドライバとして使用する。例えば、オーディオドライバAUD、プロトコルPR、およびラジオドライバRDは、それぞれ、マイクMICとスピーカSP、通信部COM、およびラジオモジュールRMを制御する。ソフトウェアブロックは、さらに、ハードウェアの操作状態を監視・検出するキースキャンポートドライバKSPも含み、タッチセンサドライバ関連検出、キー検出、折り畳み式やスライド式などの携帯電話端末の開閉を検出する開閉検出、イヤホン着脱検出などを行なう。
ハードウェアブロックは、ダイヤルキーや、後述するタクトスイッチSW1およびSW2を含む各種ボタンなどを含むキー操作部KEY、ヒンジ部の動作状況などに基づき開閉を検出する開閉検出デバイスOCD、機器本体付属のマイクMIC、イヤホンEAP、スピーカSP、通信部COM、ラジオモジュールRM、シリアルインターフェイス部SI、および切替制御部SWCONから構成される。切替制御部SWCONは、ソフトウェアブロックの該当ブロックからの指示に従って、赤外線通信部IR、RFIDモジュール(無線識別タグ)RFID、タッチセンサモジュールTSM(センサ部120と、発振回路などのセンサ部120を駆動する上で必要な部品一式をモジュール化したもの)のうちのいずれか1つを選択して当該信号をシリアルインターフェイス部SIが拾い上げるように選択対象ハードウェア(IR、RFID、TSM)を切り替えるよう切替部SWに切替指示を出す。電源PSは、電源コントローラPSCONを介して選択対象ハードウェア(IR、RFID、TSM)に電力を供給する。
図5は、上述した本実施例の携帯電話端末100のタッチセンサ機能のより詳細な構成を示すブロック図である。図に示した携帯電話端末100は、タッチセンサドライバブロックTDB、タッチセンサベースアプリブロックTSBA、デバイス層DL、割込ハンドラIH、キューQUE、OSタイマーCLK、各種アプリAP1〜AP3を備える。ここでタッチセンサベースアプリブロックTSBAは、ベースアプリBAおよびタッチセンサドライバ上位アプリケーションプログラムインターフェイスAPIを備え、タッチセンサドライバブロックTDBは、タッチセンサドライバTSDおよび結果通知部NTFを備える。また、デバイス層DLは、切替制御部SWCON、切替部SW、シリアルインターフェイス部SI、赤外線通信部IR、RFIDおよびタッチセンサモジュールTSMを備え、割込ハンドラIHは、シリアル割込み監視部SIMONおよび確認部CNFを備える。
次に、各ブロックの機能を図を参照に説明する。タッチセンサベースアプリブロックTSBAにおいて、ベースアプリBAと、タッチセンサドライバ上位アプリケーションプログラムインターフェイスAPIとの間では、タッチセンサを起動するか否かのやり取りが行なわれる。ベースアプリBAは、サブ表示部用のアプリケーションであるサブ表示部表示アプリAP1、セキュリティ保護用に携帯電話端末100にロックをかけるアプリケーションであるロックセキュリティアプリAP2、その他のアプリケーションAP3のベースとなるアプリケーションであり、ベースアプリBAに前記各アプリからタッチセンサの起動が要求された場合に、タッチセンサドライバ上位のアプリケーションプログラムインターフェイスAPIにタッチセンサの起動を要求する。なおサブ表示部とは、本実施例における携帯電話端末100においては、円環状に配置したセンサ素子により囲まれる表示部(サブ表示部ELD)のことを指す。
タッチセンサドライバ上位アプリケーションプログラムインターフェイスAPIは、起動の要求を受けると、ベースアプリBA内のアプリケーションの起動を管理するブロック(図示せず)に、タッチセンサの起動が可能か否かの確認を行なう。すなわち、アプリケーションの選択が実行されていることを示すサブ表示部ELDの点灯、またはFMラジオその他の携帯電話端末100に付属するアプリケーション等の、予めタッチセンサが起動しないように設定されたアプリケーションの起動を示すフラグの有無を確認する。その結果、タッチセンサの起動が可能と判断された場合、タッチセンサドライバ上位アプリケーションプログラムインターフェイスAPIはタッチセンサドライバTSDにタッチセンサモジュールTSMの起動を要求する。すなわち、実質的には、電源コントローラPSCONを介して電源PSからタッチセンサモジュールTSMへの電源供給を開始する。
起動が要求されると、タッチセンサドライバTSDはデバイス層DL内のシリアルインターフェイス部SIに要求を出して、シリアルインターフェイス部SIにおけるタッチセンサドライバTSDとのポートを開くように制御する。
その後、タッチセンサドライバTSDは、タッチセンサのセンシング結果の情報を有する信号(以降、接触信号と記す)を、タッチセンサモジュールTSMが有する内部クロックによる20msの周期で、シリアルインターフェイス部SIに出力されるように制御する。
前記接触信号は、上述した各センサ素子R1〜R4およびL1〜L4の8つのセンサ素子それぞれに対応した8ビット信号として出力されている。すなわち、この接触信号は、各センサ素子が接触を検出すると、この接触を検出したセンサ素子に対応するビットに、接触検出を表す「フラグ:1」が立っている信号である、これらのビット列による接触信号が形成される。つまり、接触信号には「どのセンサ素子」が「接触/非接触のいずれか」を示す情報が含まれる。
割込ハンドラIHにおけるシリアル割込み監視部SIMONは、シリアルインターフェイス部SIに出力された接触信号を取り出す。ここで確認部CNFが、シリアルインターフェイス部SIにおいて予め設定された条件に従い、取り出した接触信号のTrue/Falseの確認を行い、True(真)な信号のデータのみをキューQUEに入れる(信号のTrue/Falseの種別については後述する)。また、シリアル割込み監視部SIMONは、タクトスイッチの押下の発生などの、タッチセンサ起動中のシリアルインターフェイス部SIの他の割込み事象の監視も行なう。
なお、監視部SIMONは、検出した接触が最初の接触であった場合には「プレス」を意味する信号を、接触信号の前にキューQUEに入れる(キューイングする)。その後、オペレーションシステムの有するOSタイマーCLKによるクロックによって45ms周期で接触信号の更新を行い、所定回数接触を検出しなかった場合には「リリース」を意味する信号をキューQUEに入れる。このことにより、接触開始からリリースまでのセンサ素子間での接触検出の移動を監視することができるようになる。なお、「最初の接触」とは、キューQUEにデータのない状態、或いは、直近の入力データが「リリース」である場合に「フラグ:1」を有する信号が発生する事象を指す。これらの処理により、タッチセンサドライバTSDは、「プレス」から「リリース」の区間のセンサ素子の検出状態を知ることができる。
同時に、監視部SIMONは、タッチセンサから出力される接触信号がFalseとなる条件を満たす信号であった場合に、「リリース」を意味する信号を擬似的に生成してキューQUEに入れる。ここでFalse(偽)となる条件としては、「非連続な2つのセンサ素子で接触を検出した場合」、「タッチセンサ起動中に割込みが生じた場合(例えば、メール着信等の通知でサブ表示部ELDの点灯/消灯状態が変更された場合)」、「タッチセンサ起動中にキー押下が発生した場合」、または後述するように「複数のセンサ素子群をまたぐ接触を検出した場合」などが設定される。
また、監視部SIMONは、例えば、センサ素子R2およびR3といった隣接する2つのセンサ素子で同時に接触を検出した場合には、単一の素子を検出した場合と同様に、接触を検出した素子に対応するビットにフラグが立った接触信号をキューQUEに入れる。
タッチセンサドライバTSDは、45ms周期でキューQUEから接触信号を読み出し、読み出した接触信号によって、接触を検出した素子を判定する。タッチセンサドライバTSDは、キューQUEから順次に読み出した接触信号により判定した接触の変化、および、検出した素子との位置関係を考慮して、「接触スタートの素子」、「接触の移動方向(右/左回り)の検出」、および「プレスからリリースまでに移動した素子の数(すなわち移動距離)」の判定を行なう。タッチセンサドライバTSDは、判定された結果を結果通知部NTFに書き込むとともに、ベースアプリBAに結果を更新するように通知する。
前述のように、結果の更新がタッチセンサドライバTSDによってベースアプリBAに通知されると、ベースアプリBAは結果通知部NTFを確認し、この結果通知部NTFに通知された情報の内容を、さらに上位のアプリケーションであってタッチセンサ結果を要するアプリケーション(サブ表示部におけるメニュー画面表示のための表示部表示アプリAP1、およびロック制御のためのロックセキュリテイアプリAP2など)に通知する。
ここで、接触の方向および移動距離の判定は、単一のセンサ素子の接触検出および隣接するセンサ素子の接触検出の組合せにより行われる。すなわち、単一のセンサ素子(例えばR2)から隣接するセンサ素子(この例の場合R3)へと接触が完全に遷移した場合には、その方向に1素子分(サブ表示部ELDにおける1項目分)の移動が行なわれたという指示が発生し、結果通知部NTFに移動の発生が書き込まれる。ただし、この遷移が完全に完了せずに、単一のセンサ素子(例えばR2)から隣接するセンサ素子(この例の場合R3)に遷移している途中(この例の場合R2およびR3に接触)で、単一のセンサ素子R3に完全に移行する前にリリースされた場合には、移動が行われたという指示は発生せず、結果通知部NTFには移動の発生は書き込まれない。
図6は、本実施例の携帯電話端末100における各センサ素子による接触検出のデータ処理を説明する概略ブロック図である。説明の簡易化のため、センサ素子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つ以上で接触を検出した時点で方向の検出を行なう。
以降、図7〜図21において、センサ素子の操作に対するサブ表示部の応答について説明する。図7〜図21において(a)は、携帯電話端末100に実装したサブ表示部ELDと、その周辺に沿って並べて配置したセンサ素子のみを、説明の簡易化のために示した概略図であり、(b)は時間推移に伴い検出したセンサ素子を示す図であり、また(c)は検出したセンサ素子に応じたサブ表示部ELDの操作対象領域の位置変化を示す図である。これらの図の(a)において、センサ素子、センサ素子群および離間部には図2(b)と同様の符号を付してある。また(c)のサブ表示部ELDの表示において、TIはサブ表示部が表示する項目リストのタイトル、LS1〜LS4は選択候補項目(例えば、スクロール可能な幾つかの行)である項目を示す。また(c)のサブ表示部において、操作の対象となる状態にある項目は、現在の操作対象領域であることが識別できるように、当該項目にカーソルを配置する、或いは、項目自体を反転表示などで強調表示する。これらの図では、操作対象領域として表示されている項目にはハッチングを施して強調して示している。説明の便宜上、「移動対象」を操作対象領域としてのみ説明するが、項目自体を移動(スクロール)させる場合も同様の原理でサブ表示部を動作させることができる。
第1のセンサ素子群122および第2のセンサ素子群124は、それぞれが4つのセンサ素子を備え、さらに本実施例では、サブ表示部ELD上の選択項目も、タイトルTIの1行を除けば、LS1〜LS4の4項目が表示される設定になっている。即ち、各センサ素子群が有する複数のセンサ素子の数と、サブ表示部ELD上の選択項目の数とが同数になっている。
図7は、センサ素子上をユーザが指などでなぞった場合のサブ表示部の応答を説明する図である。同図(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つ分移動する。この場合もやはり、ユーザの「上方から下方への指の指示動作」と同じように、表示部の「操作対象領域が下方に移動」するため、ユーザは、自分の意図した通りの操作を直感的に行なうことができる。
図8は、図7と逆方向、すなわち下から上にセンサ素子がなぞられた場合を示す図である。同図(a)に示すように、矢印AR1の方向になぞられた場合、(b)で示したように各センサ素子のうちセンサ素子R4、R3、R2、R1がこの順に接触を検出し、矢印AR2の方向でも同様に、(b)で示したように各センサ素子のうちL1、L2、L3、L4がこの順で接触を検出する。これらの場合、(c)において操作対象領域の初期位置が項目LS4であったとすると、両者とも項目LS1まで下から上へ操作対象領域が3つ分移動する。
このような構成とすることで、第1のセンサ素子群122で操作を行なっても、第2のセンサ素子群124で操作を行なっても、各センサ素子群において、ユーザが上方のセンサ素子から下方のセンサ素子へと指をなぞらせれば、それに対応してサブ表示部ELDの操作選択領域の選択項目も上方から下方へと移動し、またユーザが下方のセンサ素子から上方のセンサ素子へと指をなぞらせれば、サブ表示部ELDの選択項目も下方から上方へと移動する。したがって、ユーザは、操作対象領域の上下移動と対応した指の上下動作を間違うことなく、直感的にサブ表示部ELDの操作対象領域の項目を上下に移動させることができる。
また、本実施例では、1つのセンサ素子群が有する複数のセンサ素子の個数と、サブ表示部ELDに表示される選択項目の数を同数としているので、1つのセンサ素子群全体を上から下に(または下から上に)なぞることで、その一度の動作によって、サブ表示部ELDの操作対象領域を上から下に(または下から上に)全ての選択項目にわたって移動させることができる。即ち、同一画面上にある項目の中から項目を選択する場合には、ユーザは、1つのセンサ素子群上で1回指をなぞる動作を行なうだけで、サブ表示部ELD上の任意の項目を選択することができる。
また、このようにすることで、ユーザが指などで離間部SP1またはSP2をまたいで連続して両方のセンサ素子群をなぞる操作を行なう場合には、ユーザの指が一定の円運動を行なうことに基づいて、サブ表示部ELD上では、操作対象領域の移動を折り返させることが、つまり操作対象領域の往復運動をさせることが可能となる。
以下の説明では、ユーザが指などでセンサ素子上をなぞる際に、素子群の離間部をまたいで連続してセンサ素子の接触を検出する場合に対するサブ表示部の応答を、離間部をまたがない場合の接触の検出と合わせて示す。
図9〜図12では、隣接する2個のセンサ素子を連続して接触した場合について示す。図9は、複数のセンサ素子上をユーザが指などでなぞった場合のサブ表示部の応答を説明する図である。同図(a)において矢印ARに示す下から上の向きに2つのセンサ素子上を連続的になぞると、制御部は(b)で示す時間推移で接触を検出する。この場合はすなわち、センサ素子L3、L4の順で触れることを意味する。この場合、センサ素子L3からL4までの連続した接触は、離間部SP1をまたがずに隣接したセンサ素子の2つ以上で接触を検出しているため方向の検出を行い、隣接したセンサ素子を遷移した回数とその方向に応じて、操作対象領域がサブ表示部ELDに表示した項目リスト上を移動する。この場合は、(c)で示したように操作対象領域の初期位置がLS2であったとすると、操作対象領域はLS1まで下から上へ項目を1つ分移動する。
図10は、離間部SP1をまたいで第1のセンサ素子群G1と第2のセンサ素子群G2を連続して接触した場合の表示部の応答を説明する図である。同図(a)において矢印ARで示す左から右の向きに2つのセンサ素子上をユーザで指などで連続してなぞると、制御部は(b)で示す推移で接触を検出する。この場合は、センサ素子L4、R1の順である。本実施例に係る携帯電話端末100は、センサ素子の接触の検出が離間部をまたぐ場合、この離間部をまたぐ前後のセンサ素子の接触の検出が、それぞれ、各センサ素子群G1またはG2内で2つ以上のセンサ素子にわたる場合にはその移動は有効とする。離間部をまたぐ前後のセンサ素子の接触が、離間部をまたぐ前または後のセンサ素子群G1およびG2内で1つのみのセンサ素子でしか検出されない場合には、離間部をまたぐ1つ分の移動は無効にする。よってこの場合は、第1のセンサ素子群でのセンサ素子L4ひとつの検出の後、離間部SP1をまたいでこれと隣接する第2のセンサ素子群内のセンサ素子における接触の検出は、センサ素子R1による1つの接触のみであるため、第1のセンサ素子群G1で検出した第1の接触L4から第2のセンサ素子群G2で検出した第2の接触R1への移動は無効となる。そのため、(c)で示すようにサブ表示部ELDの操作対象領域は移動しない。
図11も、センサ素子上をユーザがなぞった場合のサブ表示部の応答を説明する図である。同図(a)において矢印ARに示す下から上の向きに各センサ素子上をユーザで指などで連続的になぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子R2、R1の順である。図8の場合と同様に、この場合は、センサ素子上におけるユーザの指などの動きが離間部SP1をまたがないため接触検出の移動は有効となり、(c)で示したように操作対象領域の初期位置がLS2であったとすると、操作対象領域はLS1まで下から上へ項目を1つ分移動する。
図12は、図10と同様に離間部SP1をまたいで第1のセンサ素子群G1と第2のセンサ素子群G2を連続して接触した場合のサブ表示部の応答を説明する図である。(a)において矢印ARで示す右から左の向きに各センサ素子上をユーザが指などで連続してなぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子R1、L4の順である。図10と同様の考え方により、離間部SP1をまたぐ前の第2のセンサ素子群G2における第1の接触はひとつのセンサ素子(R1)のみであり、かつ離間部SP1をまたいだ後の第1のセンサ素子群G1における第2の接触もひとつのセンサ素子(L4)のみであるため、R1からL4への移動は無効となり、(c)で示すようにサブ表示部ELDにおいて操作対象領域は移動しない。
図13〜図18では、隣接する3個のセンサ素子を連続して接触した場合について、離間分SP1をまたぐ場合とまたがない場合について示す。図13は、センサ素子上をユーザが指などでなぞった場合のサブ表示部の応答を説明する図である。同図(a)において矢印ARに示す下から上の向きに各センサ素子上を連続的になぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子L2、L3、L4の順である。図8の場合と同様に、この場合は、離間部SP1をまたぐ移動ではないためL2〜L4の接触の検出は有効となり、(c)で示したように操作対象領域の初期位置がLS3であったとすると、操作対象領域は項目LS1まで下から上へ項目を2つ分移動する。
図14は、離間部SP1をまたいで第1のセンサ素子群G1と第2のセンサ素子群G2とに連続して接触した場合のサブ表示部の応答について説明する図である。(a)において矢印ARで示す左から右の向きに各センサ素子上をユーザが指などで連続してなぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子L3、L4、R1の順である。この場合は、図に示すように、第1のセンサ素子群で2つの接触を検出した後に、離間部SP1を越えて第2のセンサ素子群で接触を検出したセンサ素子の数は1つである。したがって、第1のセンサ素子群G1で検出した第1の接触(L3からL4)は有効となるが、第2のセンサ素子群G2で検出した第2の接触への移動(L4からR1)は無効となる。したがって、図10で説明した場合と同様に、隣接したセンサ素子を遷移した回数とその方向に応じて選択されるリストがサブ表示部ELDに表示したリスト上を移動し、(c)で示したように操作対象領域の初期位置が項目LS2であったとすると、操作対象領域は項目LS1まで下から上へ項目を1つ分移動する。
図15もまた、センサ素子上をユーザが指などでなぞった場合のサブ表示部の応答を説明する図である。(a)において矢印ARで示す左から右の向きに各センサ素子上を連続してなぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子L4、R1、R2の順である。この場合は、離間部SP1をまたぐ前の第1の接触の検出はセンサ素子ひとつのみ(L4のみ)であるので、L4から離間部SP1をまたぐR1への接触検出の移動は無効である。だが、R1からR2への移動は、離間部SP1をまたいだ後に2つ分の接触の検出がされるため、その移動は有効となる。したがって、図14で説明した場合と同様に、(c)で示したように操作対象領域の初期位置が項目LS2であったとすると、この場合、操作対象領域は項目LS3まで上から下へ項目を1つ分移動する。
図16は、センサ素子上をユーザが指などでなぞった場合のサブ表示部の応答を説明する図である。(a)において矢印ARで示す下から上の向きに各センサ素子上を連続してなぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子R3、R2、R1の順である。図13で説明した場合と同様に、この場合も離間部SP1をまたがない移動なので、(c)で示したように操作対象領域の初期位置が項目LS3であったとすると、この場合、操作対象領域は項目LS1まで下から上へ項目を2つ分移動する。
図17は、センサ素子上をユーザが指などでなぞった場合のサブ表示部の応答を説明する図である。(a)において矢印ARで示す左から右の向きに各センサ素子上を連続してなぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子R2、R1、L4の順である。R2からR1への移動は離間部SP1をまたぐ前の2つ分の移動であるため有効となるが、R1からL4への移動は離間部SP1をまたいだ後の接触の検出がひとつのみであるから無効となる。したがって、図10で説明した場合と同様に、(c)で示したように操作対象領域の初期位置が項目LS2であったとすると、この場合、操作対象領域は項目LS1まで下から上へ項目を1つ分移動する。
図18は、センサ素子上をユーザが指などでなぞった場合のサブ表示部の応答を説明する図である。(a)において矢印ARで示す右から左の向きに各センサ素子上を連続してなぞると、制御部は(b)で示す推移で接触を検出する。この場合は、センサ素子R1、L4、L3の順である。この場合は、第1の接触は離間部SP1をまたぐ前の検出はひとつのみ(R1のみ)であるので、R1からL4への接触検出の移動は無効である。一方、L4からL3への移動は、離間部SP1をまたいでから2つ分の接触が検出されるため有効となる。したがって、図10で説明した場合と同様に、(c)で示したように操作対象領域の初期位置が項目LS2であったとすると、この場合、操作対象領域は項目LS3まで上から下へ項目を1つ分移動する。
以上、離間部SP1をまたぐ場合についての動作を、離間部をまたがない場合と合わせて説明したが、離間部SP2をまたぐ場合についても同様の動作となる。
このようにすることで、ユーザが操作を開始する際に、指の位置が厳密に各センサ素子群の端部にあるセンサ素子から操作を開始せずとも、その端部を若干越えて、もう一方のセンサ素子群を形成する複数のセンサ素子のうち隣接する1つのセンサ素子から操作を開始しても、操作開始点のセンサ素子の接触検出は無効化される。
したがって、ユーザは、操作の開始点においても、操作の終了点においても、非常に厳密な指の操作を要求されることはなくなるため、使い勝手が著しく向上する。
図19は、センサ素子上をユーザが指などで一周なぞった場合のサブ表示部の表示を説明する図である。同図(a)の矢印ARに示すように、ユーザが指などで、第1のタッチセンサ群G1のセンサ素子L1を始端として、L2、L3、L4の順になぞり、そのまま離間部SP1を超えてR1に達し、続けてR2、R3、R4の順に、第2のタッチセンサ素子群G2のセンサ素子R4を終端としてなぞる場合について説明する。この場合、図19(b)に示すような時間推移で接触が検出される。すなわち、L1、L2、L3、L4、R1、R2、R3、R4の順に接触が検出される。センサ素子群G1におけるL1からL4までの接触の検出については図8にて説明した場合と同様の制御になり、図19(c)に示すように、操作対象領域の初期位置が項目LS4であるとすると、下から上に項目LS4から項目LS1まで操作対象領域が3つ分移動する。次にセンサ素子L4から離間部SP1を超えてセンサ素子R1の検出がされた瞬間においては、図10にて説明したのと同様の制御になり、その検出は無効とされるため、操作対象領域は項目LS1のまま移動しない。次のセンサ素子R2の検出がされると、図15にて説明したのと同様の制御になり、センサ素子R1からセンサ素子R2への検出が有効とされるため、操作対象領域は項目LS1からLS2まで1つ分移動する。以下、センサ素子R2からR3を経てR4までの連続検出は、離間部SP1またはSP2をまたがないため有効となる。結果的には、センサ素子群G2におけるR1からR4までの接触の検出については、図7にて説明した場合と見た目上は同様の制御がなされることになる。すなわち、図19(d)に示すように、センサ素子R1が検出された時点で項目LS1にあった操作対象領域は、センサ素子の検出がR2とR3を経てR4に達する時点では、項目LS1から項目LS4まで上から下に3つ分移動する。
したがって、この場合、ユーザが指などでタッチセンサ部210上を一周なぞる動作を行なうと、サブ表示部ELD上の操作対象領域の項目は、一往復して元の位置に戻ることになる。
図19においては、ユーザが指などで、センサ素子上を矢印ARの方向にしたがって時計回りになぞった場合について説明したが、矢印ARとは逆方向の反時計回りになぞった場合であっても、センサ素子の検出の順序が上記の場合と逆転するだけであり、結果としては、センサ素子群G2におけるR4からR1までの検出により操作対象領域は項目LS4からLS1まで下から上に移動し、センサ素子群G1におけるL4からL1までの検出により操作対象領域は項目LS1からLS4まで上から下に移動する。
また、ユーザが指などで、時計回りに、第2のタッチセンサ群G2のセンサ素子R1を始端として、R2、R3、R4の順になぞり、そのまま離間部SP2を超えてL1に達し、続けてL2、L3、L4の順に、第1のタッチセンサ素子群G1のセンサ素子L4を終端としてなぞる場合には、センサ素子群G2におけるR1からR4までの接触の検出については、操作対象領域の初期位置が項目LS1であるとすると、上から下に項目LS4まで操作対象領域が3つ分移動して、さらにセンサ素子群G1におけるL1からL4までの接触の検出については、項目LS4から項目LS1まで下から上に3つ分移動する。
さらに、反時計回りに、第1のタッチセンサ群G1のセンサ素子L4を始端として、L3、L2、L1の順になぞり、そのまま離間部SP2を超えてR4に達し、続けてR3、R2、R1の順に、第2のタッチセンサ素子群G2のセンサ素子R1を終端としてなぞる場合にも、センサ素子群G1におけるL4からL1までの接触の検出については、操作対象領域の初期位置が項目LS1であるとすると、上から下に項目LS4まで操作対象領域が3つ分移動して、さらにセンサ素子群G2におけるR4からR1までの接触の検出については、項目LS4から項目LS1まで下から上に3つ分移動する。
これにより、ユーザが指をセンサから離すことなく環状に移動させたとしても、元の位置に指が戻ってきた際には、最初に選択していた項目と同じ項目が選択される状態とすることができ、ユーザに違和感を与えることがない。
(実施例2)
以上、センサ素子群が2つの場合を説明したが、センサ素子群は2つ以上あってもよい。図20は、第1のセンサ素子群G1(L1〜L3)、第2のセンサ素子群G2(R1〜R3)および第3のセンサ素子群G3(M1〜M3)の3つのセンサ素子群が、離間部SP1〜SP3を隔ててサブ表示部ELDの周囲に沿って並べて配置された場合を示す。
図20について説明する。(a)において矢印ARで示す左から右の向きに各センサ素子上をユーザが指などで連続してなぞると、制御部は(b)に示す時間推移で接触を検出する。この場合は、センサ素子L2、L3、R1の順である。図に示すように、離間部SP1をまたぐ前のセンサ素子の接触の検出は2つ(L2からL3)であり、この移動は有効となる。また離間部SP1をまたいだ後のセンサ素子の検出は1つ(R1のみ)であるので、離間部SP1をまたぐ前後の移動(L3からR1)は無効となる。したがって、図10で説明した場合と同様に、(c)で示したように操作対象領域の初期位置が項目LS4であったとすると、この場合、操作対象領域は項目LS3まで下から上へ項目を1つ分移動する。ここで、サブ表示部ELDの表示は画面上下方向にスクロールする例を示したが、用途によっては画面左右方向にスクロールするようにしてもよい。
本実施例の場合には、センサ素子群G1およびセンサ素子群G2については、それぞれのセンサ素子群上でユーザがR1からR3へ、またはL3からL1へと指をなぞらせると、サブ表示部ELDの操作対象領域が上から下に移動するように制御するのが好適であり、またR3からR1へ、またはL1からL3へと指をなぞらせると、サブ表示部ELDの操作対象領域が下から上に移動するように制御するのが好適である。さらにセンサ素子群G3については、ユーザがM1からM3へ、またはM3からM1指をなぞらせた場合、操作対象領域はどちらの場合も1つ下に移動してから1つ上に戻るように制御すれば、ユーザの直感的な操作に対応させることができる。
(実施例3)
図21は、複数のセンサ素子を有する各センサ素子群が一列に並べられた構成を示す図である。第1、第2および第3のセンサ素子群G1〜G3は、離間部SP1、SP2を隔てて一列に並ぶように配置されている。この場合、サブ表示部ELD((a)には図示せず)はセンサ素子群の列の上または下など、適当な場所に配置する。また、ユーザが直感的に操作できるように、センサ素子群の方向が横方向の場合には、サブ表示部ELDに表示する選択項目の配列も横方向にするのが好適である。(a)において矢印ARで示す左から右の向きにセンサ素子上を連続してなぞると、制御部は(b)で示す時間推移で接触を検出する。この場合は、センサ素子L3、R1、R2の順である。図に示すように、離間部SP1をまたぐ前のセンサ素子の検出は1つ(L3のみ)であるので、離間部SP1をまたぐ前後の移動(L3からR1)は無効となる。また離間部SP1をまたいだ後のセンサ素子の接触の検出は2つ(R1からR3)であり、この移動は有効となる。したがって、図10で説明した場合と同様に、(c)で示したように操作対象領域の初期位置が項目LS5であったとすると、この場合、操作対象領域は項目LS4まで下から上へ項目を1つ分移動する。
上記実施例においては、センサ素子群の配列は横一列としたが、変形例として、サブ表示部ELDの選択項目が縦に並ぶことに対応させて、センチ素子群の配列も縦一列にするような構成とすることも当然可能であり、必要な機能、用途およびデザインに応じて、サブ表示部ELDの左右、上下などに一列ずつ配置する構成にしてもよい。
また、上記実施例においては、各センサ素子群の間に離間部SP1およびSP2を設けているが、この離間部は携帯電話端末100の機能および用途に応じて適当な数にすることができる。また離間部を全く設けずに、ひとつのセンサ素子群のみで縦または横一列のセンサ素子群を構成することもできる。この場合には離間部をまたぐ上述のような処理は行なわれない。
(実施例4)
図22は、センサ素子検出状態を単一素子検出状態だけでなく、隣接する2つの素子を更に検出する複数素子検出状態を判定するようにして16個に分割して示した概念図である。本実施例は、図3の構成とほぼ同様であるが、第1のセンサ素子群G1と第2のセンサ素子群G2との間にもタクトスイッチを設けてある。即ち、センサ素子L4とセンサ素子R1との間にタクトスイッチSW3と、センサ素子R4とセンサ素子L1との間にタクトスイッチSW4とが新たに設けられている。8個のセンサ素子の検出状態を1個ずつ管理すると、8個の検出状態を管理できる。しかしながら、8個の検出状態では、状態の数、即ち、状態変化が少ないため、あまり精密な制御はできない。例えば、センサ素子間にまたがって配置されるタクトスイッチSW1の場合には、タクトスイッチSW1をユーザが指などで押下する際には、この押下より先にセンサ素子L2、L3において接触が検出されるため、この検出により表示が移動してしまいユーザの意図しない動作指示による選択表示がなされたまま、SW1の押下による例えば「決定」などの処理が行われてしまう場合がある。つまり、センサ素子L2、L3がこの順に瞬時に連続して検出された場合には、ユーザは例えば現在の操作対象領域に表示された項目を選択しようと意図してタクトスイッチSW1を押下動作したにもかかわらず、タクトスイッチSW1押下の一瞬前にセンサ素子L2からL3に上方への接触の移動が検出されてしまい、操作対象領域が上方に「1つずれた後」でタクトスイッチSW1押下による選択動作が確定したりして、意図しない項目が決定指示されたりするなどの可能性がある。
図22のセンサ素子の構成自体は、図3のセンサ素子の構成とほぼ同じである。しかしながら、その接触検出の構成を細かく検出するようにする。例えば、ユーザが指などでL1にのみ触れている時にはL1の接触を検出するが、L1とL2との境付近に触れている場合には「L1およびL2」に触れている状態として検出する。接触が完全にL2に移行してL1から離れたら、それはL2のみの接触として検出する。そして今度はL2とL3との境付近に触れている場合には「L2およびL3」に触れている状態として検出する。以下同様なやり方で検出する構成とすることで、8つのセンサ素子を用いておきながら、16の検出状態を検出することが可能となる。
このように8つのセンサ素子を用いて16個の検出状態を割り当てることで、タクトスイッチSW1〜SW4の押下処理を適切に処理するために、隣接するセンサ素子による接触検出を2つまたは3つのセンサ素子の検出状態変化(移動)が検出されるまで、移動指示の確定を保留する方法がある。また、タクトスイッチの押下が確定した時点でそれまでのセンサ素子の検出状態(結果)を破棄する方法も考えられる。以下これらについて、フローチャートを参照して詳細に説明する。
図23は、16個の検出状態における移動確定処理(即ち、保留処理)の一例を示すフローチャートであって、いずれか1個の検出状態がキューQUEに発生することを検出する毎に、このフローチャート処理をタッチセンサドライバTSDが行なう。リリースされた状態から最初に検出した位置(16個のいずれか1つの検出状態)を最初の基準点とする。この基準点、現在の検出位置(キューQUEに新たに入れられた検出状態)、前回の検出位置(キューQUEに残されている1つ前の検出状態)の3つから、移動距離(検出状態の遷移)を判定する。図に示すように、ステップK10では、前回の位置がリリースされたか否かを判定する。リリースされていると判定された(キューQUEに残っている前回のデータが「リリース」である)場合は、ステップK12に進み、現在の検出位置がリリースされたか否か(即ち、新たに入れられたデータが「リリース」であるか否か)を判定する。現在の検出位置がリリースされていると判定された場合は処理を終了し、そうでない場合はステップK14に進み、基準点と前回の検出位置を現在の検出位置に設定する。
ステップK10で前回の位置がリリースされていないと判定された場合(即ち、他に検出が生じており、今回の検出がそれに引き続くものである場合)は、ステップK16に進み、現在の検出位置がリリースされたか否か(即ち、新たに入れられた信号が「リリース」であるか否か)を判定する。現在の検出位置がリリースされていると判定された場合は、基準点と前回の検出位置を初期化(クリアー)して処理を終える(ステップK18)。ステップK16で現在の検出位置がリリースされていないと判定された場合は、前回の検出位置と現在の検出位置との距離を計算して(ステップK20)、計算した距離が1または2であるか否かを判定する(ステップK22)。計算した距離が1または2ではない(即ち、3以上)と判定された場合は、センサ素子を飛ばして不連続な検出状態であると判定し(ステップK24)、基準点を現在の検出位置に設定し、ステップK36に進む。ステップK22で計算した距離が1または2であると判定された場合は、現在の検出位置と基準点との距離を計算する(ステップK28)。なお、距離の計算は、キューQUEに入れられる信号により、センサ素子ごとの検出位置が分かるため、前回の検出位置と、現在の検出位置との間に、16個の検出状態のうちの何個分の差があるのかをタッチセンサドライバTSDが判断して行なう。
また、ステップK28で計算された距離が、2または3である否かを判定し(ステップK30)、条件を満たさない場合(即ち、4以上)はステップK36にエラーとして進み、条件を満たす場合(距離が2または3である場合)は、移動を確定する(ステップK32)。即ち、最初に触れた位置が「基準点」とされ、その後「リリース」されることなく引き続いて接触が検出され続けると「前回位置」が更新され、最終的に、最新の検出位置である「現在の位置」が基準点に対して「2または3移動した」と判定されたときに初めて、「移動あり」と判定している。さらに、単一素子検出状態および複数素子検出状態を連続して検出することで、「2の移動」であると判定しているため、センサ素子上では、上記「2の移動」により初めてセンサ素子1つ分指が移動していることになる。次の基準点を前の基準点から移動方向に2つ移動した位置に設定し(ステップK34)、ステップK36に進む。ステップK36では、次回の処理のために「前回の検出位置」を「現在の検出位置」に設定して、処理を終える。
また、タクトスイッチSW1〜SW4が押下された場合は、押下検出時に設定されている前回の検出位置と基準点とを初期化(クリアー)する。次に、このようなフローチャートの移動確定処理を用いて、図22のタクトスイッチが押下された場合の処理を説明する。タクトスイッチSW1を押す場合に、「L2検出状態」、「L2−L3検出状態」の順に検出状態が遷移する場合には、この時点では1つしか検出状態が遷移(移動/変化)していないため、移動は確定しない。タクトスイッチSW1を押下した後で、指を離すときに、「L2−L3検出状態」、「L3検出状態」の順に検出状態が遷移する場合が考えられる。このとき、タクトスイッチ押下までの検出状態が保持されている場合には、「L2検出状態」、「L2−L3検出状態」、「L3検出状態」の順に検出状態が2つ遷移しているため、移動が確定してしまう恐れがあるが、上述したように、タクトスイッチSW1の押下を検出した時点で、過去の検出結果を破棄してあるため、指を離すときの誤検出を防止することができ、タクトスイッチのリリース時にセンサ素子の移動指示であると誤認識することがない。
或いは、タクトスイッチSW1を離すときに、「L2検出状態」、「L2−L3検出状態」の順に検出状態が遷移することがある。タクトスイッチ押下前の検出結果を破棄しても、タクトスイッチを離す際に、再度、センサ素子に触れてしまうことが考えられる。しかし、このような場合であっても、図22のフローチャートの処理に従えば、検出状態は1つしか遷移していないため、タクトスイッチのリリース時にセンサ素子の移動指示であると誤認識することがない。
図24は、図23のフローチャートの処理を図22のセンサ素子L1からL4への接触に適用した場合の確定処理を説明する図である。図に示すように、検出状態変化は、「L1検出」、「L1−L2検出」、「L2検出」、「L2−L3検出」「L3検出」、「L3−L4検出」、「L4検出」となる。即ち、単一素子検出状態と複数素子検出状態とL1からL4まで繰り返し検出する。まず、初めの「L1検出」が基準点BP1に設定される(K14)。次に「L1−L2検出」が生じると、前回の位置がリリースではなく「L1検出」であるため、前回の位置と今回検出された現在位置とを比較する(K20)。ここではL1から「L1−L2」への1コマの移動であるため有効とされ、今度は基準点と現在位置とを比較する(K28)。ここでは、基準点も前回位置も同じL1に設定されているため、やはり移動量は1コマであり、この段階では移動は確定せず、現在位置のL1−L2検出状態を前回位置PP1とする(K36)。
さらに「リリース」が途中で生じることなく「L2検出」が生じると、前回の位置が「L1−L2検出」であるため、前回の位置と今回検出された現在位置CP1とを比較する(K20)。こではL1−L2からL2への1コマの移動であり、「1または2か?」の判定条件を満たすため有効とされ、今度は、基準点と現在位置とを比較する(K28)。今回も基準点はL1検出時と変わらず同じL1に設定されているため、L2との位置関係は2コマであるため、移動量は2コマと判定される(K30)。そして、ここで初めて移動が確定する(K32)。そして、次の判定のために、基準点BP2を「L1検出」から移動方向に2コマ遷移させた点、すなわち「L2検出」に設定(K34)するとともに、前回位置を現在位置「L2検出」に再度設定し直して、確定処理1が完了する。
このように、タッチセンサドライバTSDは、2コマの検出状態の遷移を検出することにより、移動「1」が決定される。つまり、ステップK32において移動が確定されると、結果通知部NTFに移動方向成分(L1からL4に向かう時計回り方向、すなわちSP2からSP1に向かう方向)および「1」の移動を格納すると共に、ベースアプリBAに対して記憶内容の更新を通知し、ベースアプリBAはこの更新内容を抽出してサブ表示部表示アプリAP1などに通知することになる。サブ表示部表示アプリAP1が使用中ならば、移動方向成分に基づいて「下から上に向かう方向」に、「1」の移動量か与えられているので、これに見合った処理として、サブ表示部ELDの表示を変化させる。具体的には図8(C)に示すようなリスト表示を行っていて、操作対象領域がLS4に位置している場合には、確定処理1に基づき操作対象領域はLS3に移動することとなる。ところで、この確定処理1と同様に第2のセンサ素子群であるR1−R4に対して、「R4検出」状態から連続して「R4−R3検出」「R3検出」と継続して検出状態が遷移したときにもタッチセンサからは移動方向成分に基づいて「下から上に向かう方向」および、「1」の移動量の付与の情報がベースアプリ経由でサブ表示部表示アプリAP1に与えられ、リスト表示の画面表示上は第1のセンサ素子部における操作と同じように、操作対象領域は項目LS4からLS3に変化することとなる。
次に、確定処理1に引き続き、「リリース」が生じることなく指の移動が継続した場合を説明する。確定処理1の場合と同様、図中の確定処理2に示すように、検出状態が基準点BP2から「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」の移動量を確保することが出来、ユーザの不正確な操作にも無反応などとなることなく、ユーザの希望に沿う形で対応できることとなる。このようにして、タッチセンサにより項目が選択され、引き続いてタクトスイッチを押下する際、タッチセンサ操作中に当接していたドーナツ状のパネルをそのまま押し込むことによってキー検出ドライバにより決定の指示をべースアプリ経由でサブ表示部表示アプリなどの使用中アプリに与えることが出来るため、ユーザにとって指の移動量の少ないさらに快適なユーザインターフェイスとなる。
また、センサ素子数が「4」つで構成されるセンサ素子群の場合、初めに当接するセンサ素子分「1」を引いた「3」が最大移動確定量となる。よって、サブ表示部ELDに選択項目をリスト表示させる際、サブ表示部表示アプリは、センサ素子数「4」と同数である「4」行の選択項目を表示させることが好ましい。このように表示制御することにより、最下部(SP1側)のセンサ素子L1やR4に初めに接触検出され、最上部(SP2側)にまで連続し接触検出が継続すると、「3」の移動確定がサブ表示部表示アプリに供給されるため、最下段(LS4)から最上段(LS1)に選択対象領域が移動することになる。すなわち、最下部から最上部への最大移動が、表示上でも最下段から最上段への最大移動となるため、タッチセンサへの移動操作とサブ表示部ELDにおける移動表示が一致するため、ユーザにとって非常に操作内容を把握し易いユーザインターフェイスとすることが出来る。
さらに、第1センサ素子群と第2センサ素子群とがサブ表示部ELDを挟み、対称な形態に配されているため、いずれを操作しても同様の操作指示を与えることが出来る。その上、互いの端部を並べて配してあるため、例えば、センサ素子L1から時計回りに接触検出状態を遷移させて、センサ素子R4検出状態にまで至るとき、サブ表示部ELD上では次のような表示の変化が生じる。すなわち、L1検出からL4検出時点までで最下段LS4から最上段LS1にまで操作対象領域が移動し、続いてR1検出してR4まで検出状態が遷移すると最上段LS1から最下段LS4に操作対象領域が戻ることとなる。これにより、ユーザは一度も指を離さなくとも、選択項目の選択時に上下方向を付与することが出来たり、操作対象領域をもとの位置に戻したりすることができ、ユーザにとって快適性の高い操作感を与えることが出来る。
なお、携帯電話機を携帯するユーザが、振動の生じやすい場所にて操作を行ったときに、外部振動によって指の移動中に一瞬タッチセンサから指が離れる場合などが考られる。このような場合に、センサ素子数分についてのみを検出するという単一素子検出のみを行って移動検出する粗い検出方式ならば、検出漏れが生じにくいが、単一素子検出だけでなく複数素子検出状態も検出するような緻密な検出方式とした場合、瞬間的に指示離れただけでも指は回転動作を継続中であるために検出状態を1つ飛ばしてしまう場合も考えられる。しかしながら、ステップK22にて「前回位置と現在位置の距離が1か2か?」としたことにより、前回位置から2移動している場合、つまり前回位置から1つ飛ばしても連続移動検出状態として扱うことが出来るため、振動下においてもユーザの希望した動作に極力近づけることが出来る。
なお、ステップK30において距離2コマだけでなく3コマについても有効としていることからも、振動などで指が一瞬はずれたり、素早い操作で検出状態が1つ飛んで検出されたりした場合などにも移動操作を検出することが出来る。さらに、3コマの移動量検出でも、次の2コマのときと同様に「1」の移動量確定とするだけでなく、次回検出のための基準点の設定は2コマ移動のときと同様に前回基準点に対して2コマのみ移動させるにとどめているため、3コマ検出による移動確定を行った場合でも、センサ素子数nから1を引いた「n−1」の移動確定する量を確保することが出来、ユーザにとってはいかなる触り方をしても同じ操作感という安定した操作感を得ることが出来るようになる。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行なうことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各部材、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。実施例においては、タッチセンサとして静電容量式のものを用いて説明したが、この方式に限定されるものではない。例えば、複数の薄膜電極同士の当接の検出による電流の変動計測などで接触を検出する薄膜抵抗方式などのタッチセンサも存在するが、このような方式のタッチセンサを用いても本発明は実現可能である。
また、各実施例おいては、各センサ素子群を円環状に配置し、さらにサブ表示部ELDにおける表示項目の配置は縦に並ぶようにしたが、必ずしもそのようにする必要はなく、携帯電話端末に必要な機能、およびデザインに応じて種々の変更を施すことができる。例えば、図25(a)に示すように、サブ表示部ELD上における縦方向の表示項目の配列に対応して、半円状のセンサ素子群G1をサブ表示部ELDの右側または左側だけに配置するような構成や、(b)のようにサブ表示部ELD上における横方向の表示項目の配列に対応して、半円状のセンサ素子群G1をサブ表示部ELDの上側もしくは下側だけ、または上下に対称的に配置するような構成とすることも可能である。さらに、サブ表示部ELDの外周およびセンサ素子群G1の形状は必ずしも円形状でなくてもよく、必要な機能およびデザインに応じて、(c)のようにサブ表示部ELDを六角形状にしてその右側もしくは左側または左右両側に対称的にセンサ素子群G1が沿うように配置することも、さらには上側もしくは下側または上下両側に対称的にセンサ素子群G1が沿うように配置することも当然可能である。また図示しないが、サブ表示部ELDを矩形状にして、その上側もしくは下側または上下両側に対称的に、あるいは左側もしくは右側または左右両側に対称的に、コの字形のセンサ素子群G1を配置することも可能である。これらのレイアウトにおいても、センサ素子群G1およびそのセンサ素子群G1を構成する各センサ素子は機能およびデザインに応じて任意の数とすることができることはもちろんである。
さらに、実施例では、携帯電話端末を挙げて説明してあるが、電話以外の携帯無線端末、PDA(パーソナルデジタルアシスタンス)、携帯ゲーム機、携帯オーディオプレイヤー、携帯ビデオプレイヤー、携帯電子辞書、携帯電子書籍ビューワーなどの携帯電子機器に幅広く本発明を適用することが可能である。