【実施例】
【0018】
以下、図面を参照して本発明の好適な実施例について説明する。
【0019】
[全体構成]
図1は、本発明の実施例に係る電子機器の構成を示すブロック図である。電子機器1の外観を
図2に示す。電子機器1は、小型のタッチ入力装置として構成され、例えばラップトップPCのタッチ入力部分に搭載される。また、好適には、電子機器1は、車両のステアリング部分に搭載し、運転手が表示部としてのナビゲーション装置のディスプレイやヘッドアップディスプレイに表示された操作画像を見ながら操作する入力装置として使用することもできる。
【0020】
具体的に、電子機器1は、制御部20と、駆動装置30と、タッチパッド(接触面)50とを備える。電子機器1は、表示部5に接続される。制御部20は、例えば操作入力における選択物としてのアイコンなどを含む操作画像を外部の表示部5に出力して表示させる。これにより、ユーザは、アイコンなどを含む操作画像を見ることができる。
【0021】
タッチパッド50は、既知の静電式や感圧式のものを使用することができる。タッチパッド50は、ユーザが指などの接触体により接触面に接触した位置の座標を検出して、その位置座標を制御部20へ供給する。
【0022】
駆動装置30は、タッチパッド50をその接触面に沿った方向に移動させる機構を備える。駆動装置30の具体的な構造については後述する。
【0023】
制御部20は、外部の表示部5へ操作画像データを出力して操作画像を表示させつつ、タッチパッド50から接触体の接触位置を取得し、タッチパッド50へのユーザの入力を認識する。なお、制御部20は、タッチパッド50から取得した接触位置に基づいて、表示部5に表示された操作画像上に、接触位置を示すカーソルを表示させる。
【0024】
また、制御部20は、タッチパッド50から取得した接触位置に基づいて、その接触位置の移動方向、移動量などを分析する。そして、制御部20は、接触体の接触位置、接触位置の移動方向及び移動量などに基づいて、駆動装置30を制御してタッチパッド50を移動させる。これにより、ユーザが指による入力操作を行っているときに、必要に応じてタッチパッド50が移動することになる。なお、駆動装置30によるタッチパッド50の移動については後述する。
【0025】
[駆動装置]
次に、駆動装置30の構造について説明する。
図3(a)は電子機器1の外観を示す斜視図である。
図3(a)においては、タッチパッド50の部分を透明として一部の内部構造を示している。駆動装置30は、電子機器1の筐体31の内部に設けられている。
【0026】
図3(b)は、電子機器1の筐体31のうちの上部カバーを取り外した状態を示している。筐体31の上部カバーの下には、タッチパッド(接触面)50が設けられている。
【0027】
図4(a)は、さらにタッチパッド50を取り外した状態の電子機器1を示しており、駆動装置30を構成する内部構造が示されている。タッチパッド50の下には、タッチパッド50を下方から支持する一対の支持部材32a、32bが設けられている。
【0028】
図4(b)は、支持部材32aの部分の拡大図である。支持部材32aは、送りねじ36xが形成された回転軸36aに嵌合している。即ち、支持部材32aの下端部分に設けられた穴に回転軸36aが挿入されている。回転軸36aは円形の回転体35と一体化されており、回転体35はベルト34を介してモータ33に連結されている。モータ33の回転はベルト34を介して回転体35に伝えられ、回転体35と一体化している回転軸36aを回転させる。回転軸36aの先端部には送りねじ36xが形成されているので、回転軸36aが回転すると、支持部材32aは矢印で示す移動方向90へ移動する。即ち、支持部材32aは、回転軸36aの回転方向に対応する方向へ、回転軸36aの回転量に応じた距離だけ移動する。なお、支持部材32aの上面には圧力センサ32xが設けられている。
【0029】
図5(a)は、支持部材32aの部分を斜め下方から見た斜視図である。なお、モータ33の図示は省略している。回転軸36aの送りねじ36xに嵌合する嵌合部材37が支持部材32aに連結されている。回転軸36aの回転によって嵌合部材37が移動方向90へ移動し、それに伴って支持部材32aも移動方向90へ移動する。
【0030】
図5(b)は嵌合部材37を支持部材32aから取り外した状態を示す。支持部材32aにはばね部材38が取り付けられている。嵌合部材37は、支持部材32aと連結された状態では、ばね部材38により回転軸36aの方向へ付勢されている。ばね部材38の付勢力により、嵌合部材37と回転軸36aの送りねじ36xとの嵌合が確保されている。
【0031】
図5(c)は、支持部材32aの部分を斜め上方から見た斜視図である。先にも述べたように、支持部材32aの上面には圧力センサ32xが設けられている。圧力センサ32xは、ユーザの指などの接触体による押圧力を検出する。例えば、圧力センサ32xが所定値以上の押圧力を検出したときには、制御部20はそれをアイコンの選択決定と判定することができる。
【0032】
図6(a)は、モータ33をベルト34側から見た斜視図である。回転軸36aの回転体35側の端部、即ち、回転体35の外側にはばね部材39が設けられている。ばね部材39は、回転軸36aを、送りねじ36xが形成されている端部側へ付勢している。この付勢力により、回転軸36aのがたつきが防止される。
【0033】
図4(a)に戻り、支持部材32bは軸36b上を移動方向90に移動可能に構成されている。支持部材32bにはモータ33の回転力は与えられていないが、支持部材32aの移動によりタッチパッド50が移動し、それに伴って支持部材32bは軸36b上を移動方向90に移動する。
【0034】
こうして、モータ33の回転により、支持部材32a、32b及びタッチパッド50が移動方向90に移動する。制御部20は、モータ33に対して回転方向及び回転量を示す信号を与えることにより、モータ33を制御する。
【0035】
図6(b)は駆動装置30の応用例を示す。この応用例は、タッチパッド50の位置を初期化するための構成である。具体的に、モータ33の回転軸に対して、磁石41が取り付けられる。また、磁石41の近傍に、磁石41の磁極を検知するセンサ42を設ける。センサ42は磁石41の磁極を検出して制御部20へ送る。制御部20は、磁極の検出回数に基づいて、モータ33の回転数、即ちモータ33が何回回転したかを算出する。
【0036】
タッチパッド50の初期状態では、タッチパッド50が移動方向90の中央にある状態、即ち、いずれの方向にも同じ量だけ移動可能な状態であることが望ましい。そこで、初期化として、制御部20は、支持部材32aが移動限界位置に至るまでモータ33を一方向に回転(例えば右回転)させ、次に支持部材32aが逆側の移動限界位置に至るまでモータ33を逆方向に回転(例えば左回転)させる。制御部20は、この間のモータ33の回転数を算出することにより、支持部材32aの移動可能範囲に相当するモータ33の回転数(「移動可能回転数」と呼ぶ。)を算出する。そして、制御部20は、支持部材32aが回転軸32aに沿ったいずれかの端部にある状態から、移動可能回転数の1/2だけ回転させた位置を支持部材32a、即ちタッチパッド50の初期位置とする。制御部20は、例えば電子機器1の電源が入れられたときに、このタッチパッド50の初期化を行う。
【0037】
[タッチパッドの移動制御]
次に、タッチパッド50の移動制御について説明する。タッチパッド50は、ユーザの指などの接触体のタッチパッド50上における位置を検出し、制御部20へ伝える。制御部20は、接触体の接触位置の移動を検出し、接触位置、接触位置の移動方向及び移動量(以下、これらをまとめて「位置情報」と呼ぶ。)に基づいて、接触体による操作中に駆動装置30を制御してタッチパッド50を移動させる。以下、具体的な移動方法について説明する。
【0038】
(第1の移動方法)
図7(a)〜(c)は、タッチパッド50の第1の移動方法を説明する図である。各図において、左側は表示部5に表示される操作画像を示し、右側は指60によるタッチパッド50の操作状態を示す。表示部5に表示される操作画像には、接触体である指60に対応する位置にカーソル51が表示される。また、ユーザによって選択される選択物として、アイコン7が表示されている。
【0039】
第1の移動方法は、ユーザがタッチパッド50上で指を動かし、アイコン7の位置にカーソル51が到達したときにタッチパッド50を少しだけ動かすものである。まず、
図7(a)に示すように、指60に対応するカーソル51の位置がアイコン7と離れている場合、タッチパッド50は静止している。その後、
図7(b)に示すように、ユーザが指60を上方へ移動させると、それに応じてカーソル51はアイコン7へ近づいていくが、タッチパッド50は未だ静止している。そして、ユーザが指60をさらに上方に移動させ、
図7(c)に示すようにカーソル51がアイコン7の領域内に入ると、制御部20は駆動装置30を制御してタッチパッド50を図中の下方向へ少し移動させる。これにより、カーソル51がアイコン7の位置に到達したこと、即ち、アイコン7の選択状態となったことをユーザに伝えることができる。
【0040】
上記の例では、ユーザが指60を上方へ移動してきたので、アイコン7の位置でタッチパッド50は下方へ少し動く。逆に、ユーザが指60を下方へ移動させてアイコン7の位置に到達した場合には、タッチパッド50は上方へ少し動くことになる。
【0041】
なお、ユーザは、アイコン7の選択状態において、その位置でさらに指60でタッチパッド50を強く押すことにより、当該アイコン7の選択を決定(確定)することができる。具体的には、タッチパッド50の下に設けられた圧力センサ32xは所定値以上の押圧力を検出すると検出信号を制御部20へ送り、制御部20が現在のカーソル51の位置にあるアイコン7の選択を決定(確定)させる。
【0042】
第1の移動方法において、タッチパッド50を動かす方向は、アイコン7に到達するまでにカーソル51が移動してきた方向、即ち、指60が移動してきた方向と逆方向とする。これにより、ユーザは、指60を一方向へ移動していったときに、ある場所でタッチパッド50が逆方向に少し動くことにより、さらなる指60の移動を止められるような感じとなり、指60がアイコン7を選択する位置に到達したことを感覚的に知ることができる。この方法は、特に電子機器1が車両のステアリングに搭載された場合のように、ユーザが操作中に表示部5を凝視しつづけられない状況では特に有効である。
【0043】
第1の移動方法において、タッチパッド50を移動させる量は予め決められた量とする。アイコン7の位置に到達したことをユーザに伝えることを目的としているので、移動量は少しで構わない。また、その後にユーザがアイコン7の選択を決定するための押圧を行うことを考慮すると、第1の移動方法における移動量は選択中のアイコン7の幅以下、又は、平均的なアイコン7の幅以下とするのがよい。即ち、第1の移動方法によるタッチパッド50の移動量は、その移動後においても、カーソル51が依然としてアイコン7の範囲内に位置する程度の小さな量とすることが好ましい。
【0044】
(第2の移動方法)
図8(a)〜(c)は、タッチパッド50の第2の移動方法を説明する図である。各図において、左側は表示部5に表示される操作画像を示し、右側は指60によるタッチパッド50の操作状態を示す。表示部5に表示される操作画像には、接触体である指60に対応する位置にカーソル51が表示される。また、ユーザによって選択される選択物として、アイコン7が表示されている。
【0045】
第2の移動方法は、ユーザの指60の移動に伴ってカーソル51がアイコン7の付近へ移動し、アイコン7の周辺領域に到達したときに、カーソル51がアイコン7の領域内へ入るようにタッチパッド50を移動させるものである。まず、
図8(a)に示すように、指60に対応するカーソル51の位置がアイコン7と離れている場合、タッチパッド50は静止している。その後、
図8(b)に示すように、ユーザが指60を上方へ移動させると、それに応じてカーソル51はアイコン7へ近づいていくが、タッチパッド50は未だ静止している。そして、ユーザが指60をさらに上方に移動させ、
図8(c)に示すようにカーソル51がアイコン7の所定の周辺領域8内に入ると、制御部20は駆動装置30を制御して、カーソル51の位置がアイコン7の領域内に入るまで、タッチパッド50を図中の上方向へ移動させる。これにより、カーソル51がアイコン7の周辺領域8まで移動したときに、カーソル51をアイコン7の領域内へと引き込むことができる。
【0046】
なお、アイコン7の周辺領域8は予め決められている。例えば、各アイコン7の外側に所定距離の領域としてもよい。また、アイコン毎、アイコンの種類毎に決めてもよい。
【0047】
タッチパッド50の移動量は、カーソル51の位置と、アイコン7の領域とに基づいて制御部20が決定する。例えば、制御部20は、カーソル51の現在位置と、対象となるアイコン7の中央位置との距離を算出し、その距離だけカーソル51を移動させることとしてもよい。この場合、カーソル51は常に対象となるアイコン7の中央位置まで引き込まれることとなる。
【0048】
タッチパッド50の移動方向は、カーソル51がアイコン7の周辺領域8に入ったときのカーソル51とアイコン7の位置関係により決まる。上記の例では、ユーザが指60を上方へ移動させてきてカーソル51がアイコン7の周辺領域8に入ったので、そのときにカーソル51は未だアイコン7よりも下方にある。よって、制御部20は、カーソル51がアイコン7の領域に入るまでタッチパッド50を上方へ移動させる。逆に、ユーザが指60を下方へ移動させてカーソル51がアイコン7の周辺領域に到達した場合には、その時点でカーソル51は未だアイコン7より上方にあるので、制御部20はカーソル51がアイコン7の領域に入るまでタッチパッド50を下方へ移動させることになる。
【0049】
この方法も、電子機器1が車両のステアリングに搭載された場合のように、ユーザが操作中に表示部5を凝視しつづけられない状況では特に有効である。ユーザはカーソル51を希望のアイコン7の周辺まで移動させれば、タッチパッド50が移動することにより、カーソル51をアイコン7の位置に引き込んでくれる。即ち、タッチパッド50の移動はユーザによるアイコン7の選択をアシストすることになる。よって、ユーザは、カーソル51がアイコン7の領域内に正確に入るまで表示部5を凝視しながら指60を移動させる必要がない。
【0050】
(第3の移動方法)
図9(a)〜(c)は、タッチパッド50の第3の移動方法を説明する図である。各図において、左側は表示部5に表示される操作画像を示し、右側は指60によるタッチパッド50の操作状態を示す。表示部5に表示される操作画像には、接触体である指60に対応する位置にカーソル51が表示される。
【0051】
第3の移動方法は、操作画面を継続してスクロールする方法である。通常、タッチパッドを利用して操作画面を継続してスクロールする場合、ユーザはタッチパッドから指を離して繰り返し指を移動させる必要がある。例えば、操作画面を下方向へスクロールする場合、ユーザは指をタッチパッドの下端付近に接触させてタッチパッドの上端付近まで移動させ、次に、指をタッチパッドから一旦離して再度タッチパッドの下端付近から上端付近まで移動させ、この作業を繰り返すことになる。これに対し、第3の移動方法では、制御部20は、タッチパッド50から指60が離された時に、指60の移動方向と逆側の方向に所定の距離だけタッチパッド50を移動する。即ち、第3の移動方法は、ユーザが指を離したときに、タッチパット50を初期位置に戻す動作を入れている。これによりタッチパット50の位置が徐々にずれてしまうような動作パターンであっても、ユーザが指を離している間に、パットが自動的に初期位置に戻るので、タッチパット50の可動範囲が有限であってもユーザは同じ動作を繰り返すことができる。
【0052】
具体的に、ユーザはまず
図9(a)に示すように指60をタッチパッド50の下端付近に接触させ、次に
図9(b)に示すように指60を上方へ移動させる。これに伴い、カーソル51も上方へ移動する。ここで、指60がタッチパット50から離れた時に、制御部20は
図9(c)に示すように、タッチパッド50を下方へ所定距離dだけ移動させる。好ましくは、制御部20はタッチパット50を初期位置に戻すことが好ましい。これにより、タッチパット50の位置を初期位置から徐々にずらすような動作パターンをユーザが行っても、有限の可動範囲を持つタッチパット50を用いることができる。
【0053】
また、カーソルが表示領域の境界近傍まで到達した場合、ユーザに「カーソル51をこれ以上移動できないこと」を知らせるために、制御部20にタッチパット50を上下方向への移動を繰り返しさせて、小刻みな移動をさせても構わない。
【0054】
また、表示部5の表示領域において山を含む地図が表示されており、カーソル51を移動させて、でこぼこの山を乗り越えさせる場合、山をカーソル51が乗り越える前においては指60の移動量に対してタッチパット50の動きをゆっくり短めに設定しても構わない。
【0055】
そして、カーソル51が山を乗り越えた後において、指の移動量に対してタッチパット50の動きを速く、長めに設定する。更に、カーソル51が停止する位置において、指60の移動量と反対方向にタッチパット50の動きを「速く」「短め」に設定する。このような制御を制御部20がすることで、指60が山を乗り越える前にはユーザに軽い抵抗感を与え、山を乗り越えると指60が持っていかれる感をユーザに与え、カーソル51の停止位置では制御部20がユーザに軽いクリック感を伴ってユーザは指60を自然に止めることができる。
【0056】
(タッチパッドの移動処理)
次に、上述した移動方法によるタッチパッドの移動処理の一例を説明する。
図10は、タッチパッド50の移動処理のフローチャートである。この処理は、
図1に示す制御部20が駆動装置30、タッチパッド50などを制御することにより実行される。なお、制御部20をコンピュータにより構成し、そのコンピュータが予め用意されたプログラムを実行することにより以下の処理を行うこととしてもよい。なお、
図10に示す移動処理は、上述の第1〜第3の移動方法の全てを行う場合のものであるが、本発明の適用はこれには限定されず、第1〜第3の移動方法のうちの任意の1つ、2つのみを採用してもよい。
【0057】
まず、制御部20は、タッチパッド50における接触体の接触位置をタッチパッド50から取得し、接触位置が所定距離d移動したか否かを判定する(ステップS11)。接触位置が所定距離d移動した場合(ステップS11;Yes)、制御部20は駆動装置30を制御してタッチパッド50を接触位置の移動方向と逆方向へ距離dだけ戻す(ステップS12)。これは上記の第3の移動方法に相当する。一方、接触位置が所定距離d移動していない場合(ステップS11;No)、処理はステップS13へ進む。
【0058】
次に、制御部20は、接触位置がアイコンの周辺領域内に入っているか否かを判定する(ステップS13)。接触位置がアイコンの周辺領域内に入っている場合(ステップS13;Yes)、制御部20は、駆動装置30を制御し、接触位置がアイコンの領域内に入るようにタッチパッド50を移動させる(ステップS14)。これは上記の第2の移動方法に相当する。一方、接触位置がアイコンの周辺領域に入っていない場合(ステップS13;No)、処理はステップS15へ進む。
【0059】
次に、制御部20は、接触位置がアイコンの領域内に入っているか否かを判定する(ステップS15)。接触位置がアイコンの領域内に入っている場合(ステップS15;Yes)、制御部20は駆動装置30を制御して、それまでの接触位置の移動方向と逆方向へタッチパッド50を少し移動する(ステップSS16)。これは上記の第1の移動方法に相当する。次に、制御部20は、タッチパッド50の下方の圧力センサ52xの出力に基づいて、タッチパッド50に対する押し込みがあったか否かを判定する(ステップS17)。これは、現在選択状態となっているアイコンをユーザが決定(確定)させる入力を行ったか否かの判定である。押し込みがあった場合(ステップS17;Yes)、制御部20はユーザによるアイコンの選択を確定し(ステップS18)、処理を終了する。
【0060】
一方、接触位置がアイコンの領域内に入っていない場合(ステップS15;No)、及び、タッチパッド50の押し込みがなかった場合(ステップS17;No)、処理はステップS11へ戻る。
【0061】
[変形例1]
上述した実施例では、カーソル51を用いてアイコン7を選択する場合を記載した。一方で、カーソル51を用いないでアイコン7を選択する電子機器として、例えば、ユーザがタッチパット50上で指を移動して、所定の位置までアイコン7を移動することで、アイコン7を選択させる、タッチパネル等の表示部5がある。この表示部5において、表示部5の表示領域内において、所定の位置に配置されたアイコン7を選択状態にするという設定が制御部20になされている。このようなカーソル51を用いない表示部5にも本発明を適用することは可能である。選択されたアイコン7は、選択される前の状態におけるアイコン7の画像の一部を変化させて選択物マークを表示することで、選択状態にあることを、ユーザに視認させる。例えば、アイコン7が表示部5の所定の位置に到達した場合、アイコン7の枠(例:青色)を赤色に変化させたり、アイコン7の背色(例:青色)を赤色に変化させたりすることが挙げられる。すなわち、赤色に変化したアイコン7の枠や背景色が、選択物マークとなる。
【0062】
カーソル51を用いた表示部5を備えるパソコン等では、アイコン7にカーソルを移動させることでアイコン7を選択物とする。すなわち、表示部51の表示領域内において、選択物となる位置は決まっていない。
【0063】
一方、カーソル51を用いない表示部5の場合、選択物となる位置は表示部5の表示領域内において、予め決められている。
[タッチパッドの移動制御]
前述の実施例と重複する記載は省略する。
【0064】
(第1の移動方法)
この変形例1における第1の移動方法では、ユーザがタッチパッド50上で指を動かし、表示部に表示されるアイコン7の位置を所定の位置に到達させた時、タッチパッド50は少しだけ動かされる。これにより、アイコン7が定位置に到達したこと、即ち、アイコン7の選択状態となったことをユーザに伝えることができる。
【0065】
(第2の移動方法)
第2の移動方法では、ユーザの指60の移動に伴って表示部に表示されるアイコン7の位置を定位置の周辺領域に到達させたときに、アイコン7を定位置へと移動するようにタッチパッド50を移動させるものである。
【0066】
(第3の移動方法)
前述した実施例と同様に、第3の移動方法では、制御部20は、タッチパッド50から指60が離れたときに、タッチパット50が初期位置に戻る。これによりタッチパット50の位置が初期位置から徐々にずれてしまうようなユーザの動作パターンであっても、ユーザが指60をタッチパット50から離している間に、タッチパット50が自動的に初期位置に戻るので、タッチパット50の可動範囲が有限であってもユーザは同様の動作を繰り返すことができる。
【0067】
[変形例2]
上記の実施例では、駆動装置30が操作画像における上下方向に移動可能となっているが、本発明はこれには限定されず、操作画像における左右方向に移動可能としてもよい。また、駆動装置30がタッチパッド50を2軸方向に移動可能な構造とし、上下左右の2軸方向に移動させてもよい。
【0068】
上記の実施例では、タッチパッドへの接触体として主としてユーザの指を挙げているが、タッチペン、スタイラスなどの物体を接触体として用いてもよい。