図1は、本発明の実施の形態に係るタッチパネル入力装置の実施例を示すブロック図である。実施例は車両のナビゲーションシ装置(以下カーナビ装置)2を構成しており、装置全体を制御するコンピュータからなる制御部4を有し、運転者による操作部6の操作に応じて、カーナビ装置2を制御する。この制御部4の機能は記憶部8に格納されたソフトウエアによって実行される。記憶部8は、またカーナビ装置2の制御に必要な種々のデータを一時的に格納する。また、制御部4は表示ドライバ10を介して抵抗膜式タッチパネル表示部12の表示を制御し、操作部6の操作に必要なGUI表示を行うとともに制御結果の表示を行う。
抵抗膜式タッチパネル表示部12は表示部であるとともにタッチパネル入力装置となっていて、表示に直接タッチすることにより入力操作を行うGUI操作部となっている。また、抵抗膜式タッチパネル表示部12は、上下左右のタッチ位置情報を出力する4線の出力線(図1では、簡単のため情報伝達方向を示す一本の線で図示)によって制御部4に接続されており、制御部4はこの4線の出力を分析処理することにより、2点のタッチ位置およびその移動を検知することが可能である。この2点のタッチ位置検知による入力の詳細については、後述する。
GPS部18は、GPSシステムに基づいて衛星および最寄の放送局よりカーナビ装置2の搭載された車両の絶対位置情報である緯度、経度、および高度の情報を得て制御部4に送る。制御部4は、GPS部14からの絶対位置情報を処理し、地図記憶部16の提供する地図上での車両の位置を抵抗膜式タッチパネル表示部12に表示する。
カーナビ装置2は、地図記憶部16に記憶する地図情報の更新等のために無線で外部と通信するため、無線通信部18およびケーブル経由の入出力部20を備えている。なお、無線通信部は、通常の電話回線によるものであってもよいし、専用の近距離無線通信部であってもよい。これらの無線通信部18および入出力部20は地図情報の入手の他、カーナビシステムまたはGPSシステムについて機能のバージョンアップやメンテナンスデータが発生したとき、外部と通信してこれらの情報を入手することができる。なお、制御部4への操作情報入力は、操作部6または抵抗膜式タッチパネル表示部12からの操作に加え、マイク19から音声によっても行うことができる。また、運転者等への情報出力は抵抗膜式タッチパネル表示部12での表示に加え、スピーカ21により音声によっても行うことができる。
図2から図9は、図1の抵抗膜式タッチパネル表示部(以下、「表示部」と略称)12における表示および2点タッチ検知に関連する種々の機能を説明するための表示画面図である。なお、カーナビ装置において、表示部12は車両の中央部付近に配置されるのが常であるが、右ハンドル車の場合を例にとり、運転者または助手席乗車者が表示部12におけるタッチパネルを利用して種々のGUI操作をどのように行うかについて説明する。
まず、図2は、表示部12上に表示されるメニューにタッチしてメニュー選択を行うGUI操作を行う場合を示す。図2は、運転者が操作している場合であって、この場合、操作する手は左手22となる。2点にタッチするには親指とそれ以外の任意の指のいずれか(例えば中指)を用いるのが種々の操作において最も自由度が大きいが、運転席に座った運転者が左手22を自然に表示部12においた場合、図2(A)に示すように親指の指先は他の指の指先よりも低い位置になる。従って親指のタッチ位置24とはそれ以外の任意の指のいずれか(例えば中指であり、以下中指を例にとって説明する)のタッチ位置26を結んだ線は通常、右下がりとなる。
制御部4は、表示部12からの情報に基づき右下がりの2点が同時タッチ状態にあることを検知すると、表示ドライバ10に指示して図2のような左手用メニューレイアウトを表示部12に表示させる。具体的に述べると、左手用メニューレイアウトでは、左手22の親指以外のタッチが予定される行先メニュー28、オーディオメニュー30およびエアコンメニュー32が表示部12の左上寄りに配置されるとともに、親指のタッチが予定される決定エリア34は、表示部12の右下寄りに配置される。なお、制御部4が左手用メニュー表示を指示する段階では、親指のタッチ位置24と中指のタッチ位置26の絶対位置はどこでもよく、同時タッチ状態の2点を結んだ線が相対的に右下がりであることだけが判定の情報となる。
次に、このような左手用レイアウトにおけるメニュー選択について説明する。例えば中指がメニューの一つ(例えば行先メニュー28)にタッチされ、同時に親指が決定エリア34にタッチされていると判断されると、親指のタッチ位置24と中指のタッチ位置26の絶対位置が検出され、それに応答して図2(A)のようにタッチが検知された行先メニュー28および決定エリア34が太枠で表示される。この状態で、親指の決定エリア34へのタッチを継続したまま中指のタッチ位置をずらすことによって他のメニューを選択することも可能であり、これに応答して太枠表示が行先メニュー28からオーディオメニュー30またはエアコンメニュー32に移動する。このようなメニュー選択の移動は、白矢印36に示すように左手22を上下に平行移動することによって可能である。そしてこのような左手22の平行移動によって親指が白矢印38に示すように上下に平行移動してもそのタッチ状態が保持されるよう、決定エリア34は上下に長く設定されている。
なお、メニュー選択の変更は、上記のように左手22を上下に平行移動する場合に限らず、左手の自然な動きに応じて任意の2点タッチを行うことが可能である。手の他の動きの例については後述する。また、必ずしも上記のように2点のタッチ状態を保ったままで手の移動を行う必要はなく、一度指を表示部12から完全に離し、その後、新たな選択のために中指および親指のタッチを行ってもよい。また、2点のタッチは完全に同時に行う必要はなく、まず中指でメニューのいずれかにタッチしてから親指で決定エリア34にタッチしてもよい。逆に、先に親指で決定エリア34にタッチしてからこれを支点として中指でメニューのいずれかにタッチしてもよい。図2のように左手用レイアウトが表示されてからのメニュー選択画面では、メニューのいずれかおよび決定エリア34の2点の同時タッチ状態が検出されない限り、これに反応してメニューおよび決定エリアが太枠表示に変わることはない。
メニュー選択を確定させるためには、例えば、図2(A)のように行先メニュー28および決定メニュー34が太枠表示となっている状態において、中指および親指のタッチを継続したまま黒矢印40で示すように親指を中指に向かってスライドさせる。この親指の動きによって決定エリア34が行先メニュー24に向かってドラグされ、例えば両者が重なるまでドラグされた状態になると行先メニュー28の選択が確定される。そして左手22を表示部12から離すと図2(B)に示すように選択が確定された行先メニュー28の表示色が変わり、メニューの選択が確定されたことを表示する。
図3は、表示部12を右ハンドル車の助手席側から操作する場合の表示画面図であり、この場合、操作する手は右手42となる。助手席に座った同乗者が右手42を自然に表示部12においた場合、図3(A)に示すように右手42の親指の指先は他の指の指先よりも低い位置になる。従って親指のタッチ位置44と中指のタッチ位置46を結んだ線は通常、左下がりとなる。
この場合、制御部4は、表示部12からの情報に基づき左下がりの2点が同時タッチ状態にあることを検知すると、表示ドライバ10に指示して図3のような右手用メニューレイアウトを表示部12に表示させる。具体的に述べると、右手用メニューレイアウトでは、行先メニュー48、オーディオメニュー50およびエアコンメニュー52は表示部12の右上寄りに配置されるとともに、親指のタッチが予定される決定エリア54は、表示部12の左下寄りに配置される。このように図3において表示部12の左側から右手で操作する際のレイアウトは、図2のように表示部12の右側から左手で操作する場合と左右対称なので、感覚的に同様の操作となり、混乱することがない。なお、左手レイアウト決定の場合と同様、制御部4が右手用メニュー表示を指示する段階では、同時タッチ状態の2点を結んだ線が相対的に左下がりであることだけが判定の情報となる。
次に、図3の右手用レイアウトにおけるメニュー選択について説明する。基本的には図2の右手用レイアウトと同様なので、異なるところを中心に簡略に説明する。例えば中指がメニューの一つ(例えばオーディオメニュー50)にタッチされ、同時に親指が決定エリア54にタッチされていると判断されると、図2と同様にして親指のタッチ位置44と中指のタッチ位置46の絶対位置が検出され、それに応答して図3(A)のようにタッチが検知されたオーディオメニュー50および決定エリア54が太枠で表示される。以下、図3では、図2とは手の異なった動きによる2点タッチの例を示すが、図2や図3に限ることなく、自然な手の動きによる2点タッチが可能であることはいうまでもない。
図3では、親指の決定エリア34へのタッチを支点としてこれを中心に右手42を白矢印56のように回転させることにより中指のタッチ位置をずらし、他のメニューを選択することが可能である。また、親指は必ずしも固定している必要はなく、決定エリア54の中で自然な移動を伴ってもよい。このような中指のタッチ位置の移動に応答して太枠表示がオーディオメニュー50から行先メニュー48またはエアコンメニュー52に移動する。
なお、このようなメニュー選択の変更は、必ずしも上記のように2点のタッチ状態を保ったまま行う必要はなく、一度指を表示部12から完全に離し、その後新たな選択のために中指および親指のタッチを行ってもよいことは図2(A)の場合と同様である。また、2点のタッチは完全に同時に行う必要がないことも図2(A)の場合と同様である。図3のように右手用レイアウトにおいても、このレイアウトが表示されてからのメニュー選択画面では、メニューのいずれかおよび決定エリア54の2点の同時タッチ状態が検出されない限り、これに反応してメニューおよび決定エリアが太枠表示に変わることはないからである。
メニュー選択の確定は、図3(A)と同様にして、例えば、図3(A)のようにオーディオメニュー50および決定メニュー54が太枠表示となっている状態において、中指および親指のタッチを継続したまま黒矢印58で示すように親指を中指に向かってスライドさせ、決定エリア54をオーディオメニュー50に向かってドラグすれば、両者が重なる時点でオーディオメニュー50の選択が確定される。そして右手42を表示部12から離すと図3(B)に示すように選択が確定されたオーディオメニュー50の表示色が変わり、メニューの選択が確定されたことを表示する
なお、制御部4は、右下がりの2点同時タッチ状態が検知されたときであっても車両が走行中の場合は図2の左手用レイアウトを表示せず、代わりに「走行中は運転者によるメニュー変更操作禁止」の旨を表示部12上の表示またはスピーカ21のアナウンスにより運転者に告知する。これは、走行中の運転者の操作による事故を防止するためである。なお、制御部4が左下がりの2点同時タッチ状態が検知されたときは車両が停止中であっても走行中であっても図3の左手用レイアウトが表示されるので、走行中であれば助手席の同乗者にメニューの変更を依頼することができる。ここで、右手用レイアウトが表示されているとき、運転者の右手または左手の不自然な姿勢により右下がりの2点タッチをすることも不可能ではないが、運転者がこのような危険な行動を取らないよう、事前に使用説明書において告知徹底を行う。
図4は、図2(B)のようにして行先メニューの選択が決定することにより自動的に表示される行先入力用の表示画面図を示す。図4(A)は左手用レイアウトであり、図2(A)と同様にしてタッチされた2点を結んだ線が相対的に右下がりであることが検知されることにより表示される。図4では、親指のタッチ位置60と親指以外の指(図4では例として人差指)のタッチ位置62の2点の相対位置を検知している。
図4(A)に示した行先入力用の表示画面の左手用レイアウトでは、左手22の親指以外のタッチが予定される「あかさたなはまやらわ」の「あ」以外の各行をそれぞれ意味する「K」、「S」、「T」、「N」、「H」、「M」、「Y」、「R」、「W」の子音ボタン群64(簡単のため代表として「K」のみに番号付与)が表示部12の画面上端近傍に配置されるとともに、親指のタッチが予定される「あいうえお」の各段をそれぞれ意味する「a」、「i」、「u」、「e」、「o」の母音ボタン群66(簡単のため代表として「a」のみに番号付与)が表示部12の画面右端近傍に配置される。
次に、上記のような左手用レイアウトにおける仮名文字入力について説明する。例えば人差指が子音ボタン群64の一つ(例えば「T」)にタッチされ、同時に親指が母音ボタン群66の一つ(例えば「u」)にタッチされていると判断されると、親指のタッチ位置60と人差指のタッチ位置62の絶対位置が検出され、それに応答して図4(A)のようにタッチが検知された子音ボタン「T」および母音ボタン「u」が太枠で表示される。これらの組み合わせはローマ字の「Tu」、すなわち仮名の「つ」を意味する。このようにして、親指以外の指による子音ボタンのいずれかおよび親指による母音ボタンの2点タッチにより任意の子音と母音の組合せを指定することができる。なお、「あ」行の仮名については、親指以外の指によるブランクボタン68へのタッチと親指による母音ボタンの2点タッチにより指定することができる。さらに「ん」の指定については、親指以外の指によるブランクボタン68へのタッチと親指による「n」ボタン70の2点タッチにより指定することができる。
なお、上記の入力では濁音、半濁音、撥音、促音、拗音などの入力はできないが、行先入力は新規入力ではなく、元々地図上に登録されている地名などを検索するための情報なので、入力される文字列が増えることによってその配列からソフトウエアで推測することにより該当部分を濁音、半濁音、撥音、促音、拗音に自動修正する。なお、表示部において「G」、「P」、「Ky」などの子音ボタンの数を増やせば、濁音、半濁音、撥音、促音、拗音を直接入力することも可能である。
仮名入力においても、2点のタッチは完全に同時に行う必要はなく、まず人差指でまず子音ボタン群64またはブランクボタン68のいずれかにタッチしてから親指で母音ボタン群66または「n」ボタン70のいずれかにタッチしてもよいし、その逆でもよい。2点の組合せより指定された仮名の入力を確定させるためには、例えば、図4(A)のように子音ボタン群64の「T」ボタンおよび母音ボタン群66の「u」ボタンが太枠表示となっている状態において、人差指および親指のタッチを継続したまま黒矢印72で示すように親指を人差指に向かってスライドさせる。この親指の動きによって母音ボタン群66の「u」ボタンが子音ボタン群64の決定エリア34が行先メニュー24に向かってドラグされ、例えば所定以上両者が接近すると子音と母音の組合せによる仮名の入力が確定する。そして入力が新規確定した仮名は、入力ウインドウ74に「つ」のごとく確定済みの文字に続けて大文字で表示される。上記のような子音ボタンに母音ボタンをドラグしてくっつけることにより、仮名を確定させる操作は、仮名のローマ字書きに準じた感覚での操作となり、違和感が少ない。これは日本語のローマ字入力に適するが、類似した子音および母音の組合せ文字構造を持つハングル文字の入力にも適する。なお、ハングル文字の場合、パッチムの付加は文字の基本構成を入力したあと図4の「n」ボタン70または80のように母音ボタン群の列に配置されるパッチムボタンおよび子音ボタンの組合せを続けて追加指定することにより入力する。
図4の行先入力行先入力用の表示画面には、さらに数字入力用のテンキーボタン76が表示部12の画面中央部近傍に表示される。このようなテンキーボタン76の配置は、子音ボタン群64を表示部12の画面上端近傍に配置するとともに母音ボタン群66を表示部12の画面右端近傍に配置し、画面中央部に空きスペースを確保したことにより可能となる。テンキーボタン76による数字入力は通常通りテンキーボタンのいずれかをタッチする1点タッチにより行う。この場合、左手用レイアウト決定における任意位置の2点タッチのうちの1点目のタッチとの混同を避けるため、テンキーの1点タッチが検知されてから、所定時間(例えば1秒)待って、2点目が続けてタッチされないことを確認してから数字入力を確定する。逆に言えば、2点タッチを行う場合は、同時である必要はないものの、2点目のタッチを1点目のタッチから所定時間以内に続けて行うべきことがユーザに要請されることになる。このようにして、所定時間の設定により、1点タッチか2点タッチかの識別が行われる。
図4(B)は、行先入力のための右手用レイアウトであり、図3(A)と同様にしてタッチされた2点を結んだ線が相対的に左下がりであることが検知されることにより表示される。図4(B)に示した右手用レイアウトでは、右手42の親指以外のタッチが予定される子音ボタン群64およびブランクボタン68が図4(A)と同様にして表示部12の画面上端近傍に配置される。このとき操作上の便のために図4(B)のようにその位置を若干右側にシフトしてレイアウトされる。しかしながら、子音の配置順自体は混乱を避けるため図4(A)と同様となっている。また、レイアウトの余裕があれば、子音ボタン群64およびブランクボタン68のレイアウトは図4(A)の左手用レイアウトと図4(B)の右手用レイアウトで全く共通としてもよい。
これに対し、図4(B)における右手用レイアウトでは、右手42の親指のタッチが予定される母音ボタン群78および「n」ボタン80が、図4(A)の左手用レイアウトとは異なり、表示部12の画面左端近傍に配置される。但し、縦方向のボタンの配列自体は混乱を避けるため図4(A)と同じである。右手用レイアウトでは、このようなレイアウトにより、図3(A)と同様にして右手の自然な姿勢により仮名入力が行えるようにしている。図4(B)の右手用レイアウトにおける子音ボタンと母音ボタンの組合せによる仮名の指定および母音ボタンのドラグによる仮名入力の確定については図4(A)の左手用レイアウトの場合と同様なので説明は省略する。但し、入力ウインドウ82は手の影にならないよう、図4(B)では画面左寄りにシフトされている。なお、図4(B)の右手用レイアウトにおけるテンキーボタン76の配置は、図4(A)の左手用レイアウトにおけるものと共通である。
図4による行先入力の結果、入力ウインドウ78または82に所望の行先が表示されたとき、入力ウインドウ78または82をタッチすると表示部12には自車位置を含む地図が表示され、ナビゲーションが開始される。なお、図2と同様にして制御部4は、右下がりの2点同時タッチ状態が検知されたときであっても車両が走行中の場合は図4(A)の左手用レイアウトを表示せず、代わりに「走行中は運転者によるメニュー変更操作禁止」の旨を表示部12上の表示またはスピーカ21のアナウンスにより運転者に告知する。
図5から図9は、自車の位置84を含む地図86が表示部12に表示され、ナビゲーションが行われている状態における地図の拡大縮小操作を説明する画面図である。まず、図5は、走行中における左手操作と右手操作の違いを説明する画面図である。上記で説明したように右ハンドル車の場合、左手操作は運転者によって行われ、右手操作は助手席の同乗者によって行われる。この違いにより、本発明では右手操作と左手操作が異なるよう構成し、運転者に負担をかけないようにして危険を防止するとともに、助手席の同乗者からはその意図をより反映した操作が行えるよう構成している。
図5(A)は、親指のタッチ位置88および人差指のタッチ位置90の2点を結んだ線が相対的に右下がりであることが検知されており、その結果として左手操作であることを認識する。この場合は、2点の絶対位置がどこにあるかにかかわらずその相対位置のみを情報として以後の処理を行うので、運転者に正確なタッチ位置を要求することなく、左手の自然なタッチのみに基づいて処理が行われる。これに対し、図5(B)は、親指のタッチ位置92と人差指のタッチ位置94の2点を結んだ線が相対的に左下がりであることが検知されており、その結果として右手操作であることを認識する。この場合は、親指のタッチ位置92と人差指のタッチ位置94の2点の絶対位置を検知し、その2点を結ぶ線を対角線とする矩形領域96を認識して以後の処理を行うので、情報量が多くなる。そしてこの認識のため同乗者による右手操作の場合は、正確な2点のタッチを期待する。
図6は、図5(B)のようにして地図86に矩形領域96が認識された場合、その領域を表示部12いっぱいに拡大する操作を示す画面図である。矩形領域96を拡大するためには、図6(A)に示すように、親指および人差指をそれぞれのタッチ位置92および94から黒矢印98および100で示すように互いに離間するようスライドさせ、その後、右手42を表示部12から離す。制御部4は、この動きを拡大操作として認識し、図6(A)の矩形領域96内の地図部分を図(6(B)の地図102のように表示部12いっぱいに拡大する。このようにして、走行中の右手操作では、表示されている地図の所望の部分を切り取って表示部12いっぱいに拡大することができる。
図7は、図6の経過を経て地図が拡大された履歴がある場合において、その地図を所望の点を中心に所定の縮小率にて広域側に縮小する操作を示す画面図である。つまり、それ以前に右手により操作された履歴がある場合がこの縮小操作に該当する。図7(A)は、右手42の人差指のタッチ点104を検知することにより、縮小後の地図の中心位置106を決定する。この場合は1点タッチとなるので、2点タッチの1点目タッチと区別するため所定時間(例えば1秒)待って、その後2点目のタッチがないと1点タッチと認識する。そして中心位置106が決定されたあと右手42を表示部12から離すと、図7(B)に示すように中心位置106が地図の中央に来るように縮小地図108が表示される。このときの縮小率は1点タッチが行われる毎に所定率で縮小が行われるのでさらに縮小したい場合は、人差指による1点タッチを繰り返すことになる。それらの操作の途中で拡大の中心点を変更するのは任意である。
なお、図6および図7は、左下がりの2点タッチが検知された場合の右手操作として説明したが、車両が停止している場合は、右下がりの2点タッチが検知された場合においても、図5(B)のような矩形領域の設定が行われる。これは、運転中でない場合、危険なしに運転者に正確な操作を要求してもよいからであり、運転者は車両を停止させることによって、地図における所望の領域の拡大および所望の1点を中心とする地図の縮小を行うことができる。
図8は、図5(A)のようにして、2点の絶対位置がどこにあるかにかかわらず、親指のタッチ位置88および人差指のタッチ位置90の2点を結んだ線が相対的に右下がりであることだけを検知する場合において、地図の拡大操作を行う際の画面図である。この状態において地図を拡大するためには、図8(A)のように親指および人差指をそれぞれのタッチ位置88および90から白矢印110および112で示すように互いに離間するようスライドさせ、その後、左手22を表示部12から離す。制御部4は、この動きを拡大操作として認識し、図8(B)に示すように地図の中心部を固定して所定倍率で拡大した地図114を表示部12に表示する。このようにして、走行中の左手操作では、地図の位置の指定なしに、拡大操作が行われたことのみを検知して地図の中心を固定して拡大を行う。また、拡大率の指定もないので、地図は一回の拡大操作を検知する毎に所定率で拡大される。従ってさらに拡大したい場合は、2点タッチ位置の離間操作を繰り返すことになる。
図9は、図5(A)のようにして、2点の絶対位置がどこにあるかにかかわらず、親指のタッチ位置88および人差指のタッチ位置90の2点を結んだ線が相対的に右下がりであることだけを検知する場合において、図8とは逆に地図の縮小操作を行う際の画面図である。この状態において地図114を縮小するためには、図9(A)のように親指および人差指をそれぞれのタッチ位置116および118から白矢印120および122で示すように互いに接近するようスライドさせ、その後、左手22を表示部12から離す。制御部4は、この動きを縮小操作として認識し、図9(B)に示すように地図の中心部を固定して所定倍率で縮小した地図124を表示部12に表示する。このようにして、走行中の左手操作では、縮小操作の場合に縮小を行う。縮小率についても指定はなく、地図は一回の縮小操作を検知する毎に所定率で縮小される。従ってさらに縮小したい場合は、2点タッチ位置の接近操作を繰り返すことになる。
図10は、図1の実施例における制御部4の動作のフローチャートである。入出力部20から車両のエンジン(または電気自動車の場合は「モーター」、以下「エンジン」で代表)のがオンとなったことが伝えられるとフローがスタートし、ステップS2において表示すべき地図の初期縮尺が設定される。この初期縮尺は前回エンジンがオフになったときのものを記憶しておいてこれを採用してもよいし、毎回エンジンがオンになるたびに所定縮尺を採用するようにしてもよい。次いで、ステップSS4でGPS部14からの自車位置を示すGPS情報が取得されるとともに、ステップS6に至って自車位置を中心とする地図がステップS2で設定された倍率にて表示部12に表示される。
次いで、ステップS8では、操作部6によってメニュー表示を求める操作が行われたかどうかチェックする。ステップS8でメニュー表示操作が行われたことが検知されるとステップS10のメニュー選択処理に進む。これは、図2および図3で説明した操作を実行する処理であるがその詳細は後述する。メニュー処理が完了すると、ステップS12では、メニュー選択が確定したかどうかチェックし、確定していればステップS14に進んで行先入力メニューが選択されたかどうかチェックする。そして行先入力メニューの選択が確認された場合はステップS16の行先入力処理を実行し、その結果に基づいてステップS18の地図表示に移行する。行先入力処理の詳細は後述する。
一方、ステップS14で行先入力メニューの選択でないと判断されるとステップS20に進み、オーディオ処理またはエアコン処理等の他メニューの処理を行ってステップS18の地図表示に移行する。またステップS12でメニュー選択の確定が確認されない場合は、直ちにステップS18の地図表示に移行する。
ステップS18で地図が表示されるとステップS22で地図へのタッチが検知されたかどうかチェックする。また、ステップS8でメニュー表示操作が検知されない時はステップS6の地図表示を継続してステップS22の地図タッチ検知に移行する。ステップS22で地図タッチが検知されるとステップS24の地図タッチ処理に入る。その詳細は後述する。地図タッチ処理が完了すると、ステップS26に移行する。一方、ステップS22で地図タッチが検知されない時は直接ステップS26に移行する。ステップS26では、でエンジンがオフになったかどうかチェックし、エンジンオフが検知されないときはステップS4に戻る。以下、ステップS26でエンジンオフが検知されない限り、ステップS2からステップS26を繰り返し、各操作が検知されないときはステップS4で取得されるGPS情報を更新しながら地図表示を継続してナビゲーションを行うとともに、各操作が行われたときはそれに対応する。一方、ステップS26でエンジンオフが検知された時はフローを終了する。
図11は、図10のステップS10におけるメニュー選択処理の詳細を示すフローチャートであり、フローがスタートするとまずステップS32で右ハンドル車であるかどうかチェックする。右ハンドル車でなければステップS34で以下の処理における「右」、「左」をそれぞれ「左」、「右」に逆転させて読替え処理する旨の処理を行ってステップS36に移行する。一方、右ハンドル車であることが確認された場合は直接ステップS36に移行する。これらの左右逆転処理は、カーナビ装置2が車両に設置された時に必要となるもので、右ハンドル車であるか左ハンドル車であるかの情報は無線通信部18または入出力部20による車両との情報交換によって取得する。左右逆転読替えを行うかどうかの判断は、カーナビ装置2が一度車両に設置されたあとは答えが同じになるが、カーナビ装置2が持ち出し可能なポータブルのもので、その後右ハンドル車にも左ハンドル車にも持ち込まれる可能性がある場合は、処理の混乱による事故を自動的に避ける意義のあるものである。
ステップS16以降は、ステップS34における左右逆転読替えが行われない場合の右ハンドル車の場合についての処理を示す。まず、ステップS36では、右手レイアウトの表示が行われるとともに所定時間のカウントが開始される。そしてステップS38で右手レイアウト表示後所定時間が経過したかどうかのチェックが行われ、所定時間経過がなければステップS40で2点同時タッチ状態が検知されるかどうかチェックする。2点同時タッチ状態が検知されるとステップ42に移行し、検知された2点が右下がりかどうかチェックする。そして、右下がり2点であることが検知されると、運転者による左手操作がなされたものと看做し、ステップS44に進んで走行中かどうかチェックする。そして走行中でないことが確認されるとステップS46に進み、右手レイアウト表示に代えて左手レイアウト表示を行い、運転者による左手操作を可能としてステップS48に移行する。
一方ステップS44で走行中であることが検知されるとステップS50に進み、走行中は運転者によるメニュー選択操作は禁止されていることを告知し、ステップS52で右手レイアウト表示を行ってステップS48に移行する。なお、ステップS52は左手レイアウト表示がなされている場合にステップS52に至った時にこれに代えて右手レイアウト表示をおこなうためのものであり、はじめから右手レイアウトが表示されている時はステップS52では何も行わず、右手レイアウト表示を継続する。なお、ステップ42において検知された2点が右下がりであることが検知されない場合は左下がりの2点が検知されたことに相当し、これは助手席の同乗者による右手操作であることを意味するので、ステップS54で右手レイアウト表示を行ってステップS48に移行する。なお、ステップS54も左手レイアウト表示がなされている場合にステップS54に至った時にこれに代えて右手レイアウト表示をおこなうためのものであり、はじめから右手レイアウトが表示されている時はステップS54では何も行わず、右手レイアウトを継続してステップS48に移行する。
ステップS48では、図2(A)または図3(A)のように、メニューの一つと決定エリア34の両者へのタッチが検知されたかどうかチェックし、検知があればその検知情報に基づいてステップS56でその2点を更新記憶するとともに2点に対応するエリアを太枠表示する。なお、タッチ位置に変更がなく検知された2点の記憶に変更がなければ同じ情報が上書き更新され、太枠表示されるエリアも変わらない。そしてステップS58に進み、ステップS36で開始された所定時間カウントをリセットし、改めて時間カウントをスタートさせ、ステップS60に移行する。
ステップS60では、図2(A)の黒矢印40または図3(A)の黒矢印58で示すような決定エリア34または54のメニューへの接近ドラグが行われたかどうかチェックする。そして接近ドラグが検知されるとステップS62に進み、メニュー選択を確定してフローを終了する。また、ステップS38で所定時間の経過が検知されたときは直ちにフローを終了する。一方、ステップS60で接近ドラグが検知されなかったときはステップS38に戻り、以下、ステップS60で接近ドラグが検知されるかステップS38で所定時間の経過が検知されない限り、ステップS38からステップS60を繰り返し、走行と停止の状況変化やメニューへのタッチ変更に対応する。なお、ステップS40で2点の同時タッチ状態が検知されないとき、またはステップS54でメニューの一つと決定エリアとの2点タッチを検知されないときは、ステップS38に戻る。
なお、図11のフローにおいてステップS60での接近ドラグの検知をもってメニュー選択を確定しているのは、誤って2点タッチしたとしても直ちにメニュー選択を確定せず、もうワンステップの確認操作を入れる安全策を意味する。しかし、このような安全策よりも操作をシンプルにすることを優先する場合は、ステップS58およびステップS60を省略し、ステップS48でメニューの一つと決定エリアとの2点タッチが検知されてステップS54からステップ56に移行した後、直ちにステップS62に進み、メニュー選択を確定するよう構成してもよい。このように構成した場合は、図2(A)または図3(A)において、メニューの一つと決定エリア34の両者へのタッチが検知され、タッチされた領域が太枠のように変わった時点でメニュー選択が確定する。
図12は、図10のステップS16における行先入力処理の詳細を示すフローチャートであり、フローがスタートするとまずステップS72で左右逆転処理を行う。これは、図11のステップS32およびステップS34と同じものである。ステップS72の左右逆転処理が終わるとフローはステップS74以下に進む。図11と同様にして、ステップS74以下では、左右逆転処理において左右逆転読替えが行われない場合の右ハンドル車の場合についての処理を示す。
まず、ステップS76では、右手レイアウトの表示が行われるとともに所定時間のカウントが開始される。そしてステップS76で右手レイアウト表示後、所定時間が経過したかどうかのチェックが行われ、所定時間経過がなければステップS78で1点タッチが検知されるかどうかチェックする。そして、1点同時タッチ状態が検知されるとステップ80に移行し、所定の識別時間が経過したかどうかチェックする。この識別時間は、2点タッチが厳密に同時には行われないことを前提とし、ステップS78で検知された1点タッチが、2点タッチを意図している場合の1点タッチか、それとも意図しての1点タッチかを識別するためのものである。そして、ステップS80で識別時間が経過したことが検知されない場合はステップS82に進み、2点同時タッチ状態の検知の有無をチェックする。この検知ができない場合はステップS80に戻り、以下、識別時間が経過するか2点同時タッチ状態が検知されるかしない限りステップS80およびステップS82を繰り返す。
ステップS82で2点同時タッチ状態が検知されるとステップS84の左右レイアウト切換処理に入る。この処理は、図11のステップS42からステップS46およびステップS50からステップS54と同じ処理であり、右手レイアウトと左手レイアウトの切換および走行中の左手レイアウトを禁止するためのものである。そしてステップS84の左右レイアウト切換処理が終わるとステップS86に移行する。
ステップS86では、図4のように、子音ボタン群64またはブランクボタン68の一つと母音ボタン群66(または78)または「n」ボタン70(または80)の一つの両者へのタッチが検知されたかどうかチェックし、検知があればその検知情報に基づいてステップS88でその2点を更新記憶するとともに2点に対応するエリアを太枠表示してステップS90に移行する。なお、図11のフローと同様、タッチ位置に変更がなく検知された2点の記憶に変更がなければ同じ情報が上書き更新され、太枠表示されるエリアも変わらない。
ステップS90では、図4(A)の黒矢印72または図4(B)の黒矢印82で示すような母音ボタン(または「N」ボタン)の子音ボタン(またはブランクボタン)への接近ドラグが行われたかどうかチェックする。そして接近ドラグが検知されるとステップS92に進み、一字分の仮名文字入力を確定記憶してステップS94に移行する。一方、ステップで識別時間の経過が検知された時は1点タッチであったと看做してステップS96に移行し、これが図4のテンキー76の一つへのタッチであるかどうかチェックする。そしてテンキータッチであった場合はステップS98に進み、数字入力を確定してステップS94に移行する。このように数字入力については1点タッチと識別時間の経過のみで一文字分の数字入力を確定する。
ステップS94で所定時間カウントをリセットし、改めてカウントをスタートさせてステップS100に移行する。ここでの所定時間リセットスタートは次の文字入力操作を末意義があるので、ステップS74でスタートさせた所定時間とは異なった文字入力待ちに好適な時間に設定することも可能である。なお、ステップS96でテンキーの一つへのタッチであることが検知できない場合は、意味のない1点タッチであったと看做して何も入力を確定せず直ちにステップS100に移行する。
ステップS100では、ステップS92で新たに確定記憶した一文字分を含め、記憶されている仮名文字列から行先を推定可能かどうかチェックする。そして文字数が少なく推定ができないときはさらに文字を入力することを可能にするためステップS76に戻る。また、ステップS78で1点タッチが検知されないとき、またはステップS86で子音ボタン群等の一つと母音ボタン群等の一つの両者へのタッチが検知されなかったとき、またはステップS90で所定時間内の母音ボタンドラグが検知できなかったときもステップS76に戻る。以下、ステップS100で行先が推定可能であると判断されるかまたはステップS76で所定時間の経過が検知されるかしない限り、ステップS76からステップS100を繰り返し、新たな文字入力を可能とするとともに走行と停止の状況変化や右手/左手レイアウト変更に対応する。
一方、ステップS100において行先推定が可能と判断されたときはステップS102に進み、入力された文字列に基づいて行先を推定しフローを終了する。なお、ステップS76で所定時間の経過が検知されたときは直ちにフローを終了する。なお、図12のフローにおいてステップS90での接近ドラグの検知をもって仮名入力を確定しているのは、図11の場合と同様、誤って2点タッチしたとしても直ちに仮名入力を確定せず、もうワンステップの確認操作を入れる安全策を意味する。しかし、このような安全策よりも操作をシンプルにすることを優先する場合は、図11の場合と同様、ステップS90を省略し、ステップS86で子音ボタン群等の一つと母音ボタン群等の一つの2点タッチが検知されれば直ちにステップS92に進み、仮名入力を確定するよう構成してもよい。このように構成した場合は、図4において、子音ボタン群等の一つと母音ボタン群等の一つの2点タッチが検知され、タッチされた領域が太枠のように変わった時点でメニュー選択が確定する。
図13は、図10のステップS24における地図タッチ処理の詳細を示すフローチャートであり、フローがスタートするとまずステップS112で左右逆転処理を行う。これは、図12のステップS72と同様、図11のステップS32およびステップS34と同じものである。ステップS112の左右逆転処理が終わるとフローはステップS114以下に進む。図11および図12と同様にして、ステップS114以下では、左右逆転処理において左右逆転読替えが行われない場合の右ハンドル車の場合についての処理を示す。
まず、ステップS114では、図10のステップS22で地図タッチが検知されてから所定時間内に2点同時タッチ状態が検知されるかどうかチェックする。2点同時タッチ状態が検知されるとステップ116に移行し、検知された2点が右下がりかどうかチェックする。そして、右下がり2点であることが検知されると、運転者による左手操作がなされたものと看做し、ステップS118に進んで走行中かどうかチェックする。そして走行中であることが検知されるとステップS120に移行する。
ステップS120からステップS126は、図8および図9の操作に該当するものである。まずステップS120では、ステップS114で2点同時タッチ状態が検知されてから所定時間内にその2点が相対的に接近するドラグが行われたかどうかチェックする。そして接近ドラグが検知されるとステップS122に進み、表示されている地図の中心を固定して所定比率で地図を縮小し、ステップS124に移行する。これは、図9の操作に該当する。一方、ステップS120において所定時間内の接近ドラグが検知できなかったときは、直接ステップS124に移行する。
ステップS124では、ステップS114で2点同時タッチ状態が検知されてから所定時間内にその2点が相対的に離間するドラグが行われたかどうかチェックする。そして離間ドラグが検知されるとステップS126に進み、表示されている地図の中心を固定して所定比率で地図を拡大し、フローを終了する。これは、図8の操作に該当する。一方、ステップS124において所定時間内の離間ドラグが検知できなかったときは、直ちにフローを終了する。この場合は地図の縮尺に変化は生じない。なお、図13においては、ステップS120およびステップS122の位置とステップS124およびステップS126の位置を差替えてもよい。
一方、ステップS116で右下がり2点が検知されなかったときは、検知された2点が左下がりであることを意味するのでステップS128に移行し、検知された2点の絶対位置が決定する領域を記憶する。これは、図5(B)における操作の状態に該当する。次いでステップS130において所定時間が経過したかどうかチェックし、経過が検知されない場合はステップS132に進んで検知された2点を相対的に離間するドラグが行われたかどうかチェックする。そして離間ドラグが検知されなければステップS130に戻り、以下、ステップS130とステップS132を繰り返して所定時間内の2点間ドラグを待つ。そしてステップS132で2点間ドラグが検知されるとステップS134に進み、ステップS128で決定記憶された領域内の地図を表示部12いっぱいに拡大し、フローを終了する。これは、図6の操作の状態に該当する。一方、ステップS130で所定時間経過が検知された時は直ちにフローを終了する。この場合は地図の拡大は行われない。
また、ステップS114において、図10のステップS22で地図タッチが検知されてから所定時間内の2点同時タッチ状態が検知されないときは、図10のステップS22で1点タッチが検知されたことを意味するから、ステップS136に移行する。ステップS136では、図10のステップS22で地図タッチが検知される直前に2点タッチ位置で決定された領域内の地図が拡大された履歴があるかどうかチェックする。そしてこのような履歴があればステップS138に進み、図10のステップS22で検知されたタッチ位置を中心に地図を所定比率で縮小してフローを終了する。これは、図7の操作に該当する。一方、ステップS136で拡大履歴が検知されない場合は直ちにフローを終了する。この場合は地図の拡大は行われない
上記実施例に示した種々の特徴は、その具体的な実施に限るものではなく、開示した利点を享受できる限り種々の実施において活用可能である。例えば、上記実施例では右手用レイアウトと左手レイアウトの切換を走行中かどうかの検知と関連づけており、これは、走行中であっても比較的危険の少ない一定の操作を運転者に許すとともに、助手席の同乗者からは走行中であっても複雑な総祖や正確さを要する操作を可能とするものであって、一律に走行中の操作を制限する場合よりもフレキシブルな操作を可能とする点で有用である。また、実施例では、運転者による操作であるか同乗者による操作であるかを右下がり2点が検知されるか左下がり2点が検知されるかによって判断しており、この構成は運転者か同乗者かを識別する他の手段を要しない点で有用である。しかしながら、右手用レイアウトを運転者が無理な姿勢で操作することによる事故を絶対に防止することを重視する場合は、運転者か同乗者かを識別する赤外線検知等を別途設け、これによって右手用レイアウトと左手用レイアウトを切り換えるよう攻勢してもよい。また、構成を簡単にしてカーナビ操作による事故を防止することを優先する場合は、右手用レイアウトであるか左手用レイアウトであるかにかかわらず、走行中の複雑な操作を禁止するように構成してもよい。以上いずれの場合においても、手の構造に合わせた右手用レイアウトと左手用レイアウトの切り換えは、手による2点操作を容易にする上で有用である。
また、上記実施例はカーナビにおける実施を示したが、開示された種々の特徴のいくつかはカーナビにおける実施に限るものではなく、開示した利点を享受できる限り種々の機器において実施可能である。例えば、デジタルスチルカメラやデジタルムービーカメラにおけるタッチパネル表示部、携帯電話などのモバイル機器におけるタッチパネル表示部において広く活用が可能である。さらには、上記において開示された右手による2点タッチ操作と左手による2点タッチ操作の切り換えなど種々の特徴のいくつかは表示機能を有さないタッチパネルにおいても活用可能なものである。