以下に、本発明の電子機器を、タッチパネルが実装された表示部を有するスマートフォンやタブレットなどに適用した実施の形態について、添付図面を参照して詳細に説明する。
<装置構成>図1を参照して、本実施形態の電子機器100の構成及び機能について説明する。
主制御部112、内部記憶媒体113、メモリ114、入力部115、条件設定部116、表示制御部117、記憶媒体I/F119、および通信I/F121が内部バス101に接続され、各部は、内部バス101を介して互いにデータの受け渡しを行える。
タッチパネル102は、例えば、図1に示すように、タッチセンサ(センサ電極)103a、103bが2次元状に配置された静電容量式のタッチセンサ103を含み、指やペンなどの導電性物体であるタッチ操作部104(操作体)との間に静電容量Cを発生させる。なお、タッチセンサ103の形状は菱形以外であってもよい。タッチセンサ103における横軸方向センサ103aは図中のX軸方向(水平方向)のタッチ操作による静電容量を発生するセンサであり、縦軸方向センサ103bは図中のY軸方向(垂直方向)のタッチ操作による静電容量を発生するセンサである。図示の例では、発生容量Cは横軸方向センサ103a又は縦軸方向センサ103bとGNDとの間の容量を示しているが、横軸方向センサ103aと縦軸方向センサ103bの間の容量を検出してもよい。
タッチセンサ駆動回路106は、タッチ検出部107、座標位置算出部109、傾斜状態判定部111、タッチ入力角度判定部124、タッチ状態判定部123を含む。タッチ検出部107は、各センサ103a、103bでの発生容量(あるいはセンサ間容量)Cをタッチ検出閾値108と比較することでタッチ操作の有無を判定し、例えば、発生容量105がタッチ検出閾値108より大きい場合にタッチ有と判定する。座標位置算出部109は、各センサ103a、103bで検出された発生容量Cから、例えば、重心110を算出してタッチ位置座標の算出を行う。なお、タッチセンサ103が2次元状以上に配置されている場合は、縦、横、高さの軸方向ごとに重心110の算出を行う。傾斜状態判定部111は、タッチ検出部107でタッチ有と判定されたタッチセンサの発生容量Cを用いてタッチ操作を行ったタッチ操作部104のタッチパネル面に対する傾斜状態を判定する(傾斜判定)。タッチ入力角度判定部124は、タッチ検出部107でタッチ有と判定されたタッチセンサのセンサ間容量Cを用いてタッチパネル面に沿う方向の所定軸(パネル面内軸)に対するタッチ操作部104のタッチ入力角度を判定する(タッチ入力角度判定)。タッチ状態判定部123は、タッチ検出部107でタッチ有と判定されたタッチセンサの発生容量Cの分布、傾斜状態判定部111やタッチ入力角度判定部124での判定結果からタッチ操作の方向やタッチ領域の大きさを判定する。
主制御部112は、電子機器100全体を統括して制御するCPUやMPUを含む。
内部記憶媒体113は、画像データその他のデータ、主制御部112が実行するための後述するプログラムなどを格納するハードディスクやメモリカードである。
メモリ114は、RAMなどであり、主制御部112は、内部記憶媒体113に格納されたプログラムをワークメモリとしてのメモリ114に展開し、実行することで電子機器100の各部を制御する。なお、主制御部112の動作プログラムの格納場所は、内部記憶媒体113に限られず、例えばEEPROMなどの不揮発性メモリに予め記憶されていてもよい。
入力部115は、タッチ操作部104によるタッチパネル102に対するタッチ操作を受け付け、タッチ操作により発生する静電容量Cに応じた検出信号を生成し、主制御部112と、後述する条件設定部116に出力する。
条件設定部116は、入力部115から出力される検出信号に基づいて、後述するタッチ操作判定条件として、例えば、タッチ操作部104の進入方向や傾斜角度、タッチ入力角度に応じて移動距離などの閾値を変更する。
主制御部112は、タッチパネル102に対するタッチ操作に応じて入力部115から出力される検出信号と条件設定部116で設定されたタッチ操作判定条件に基づいて、電子機器100の各部を制御する。これにより、電子機器100に、ユーザ操作に応じた処理を実行させることができる。
表示制御部117は、主制御部112からの表示制御信号に基づいて、画像を表示するための表示信号を生成し、表示部118に出力する。このようにして、表示制御部117は、例えば、主制御部112からの表示制御信号に応じて、GUI(Graphical User Interface)画面を表示部118に表示させる。
なお、タッチパネル102と表示部118とは一体的に構成することができる。例えば、タッチパネル102を光の透過率が表示部118の表示を妨げないように構成し、表示部118の表示パネル面の上層に取り付ける。そして、タッチパネル102に対するタッチ入力座標と、表示部118上の表示座標とを対応付ける。これにより、あたかもユーザが表示部118に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。
記憶媒体I/F119は、メモリカード等の外部記憶媒体120が着脱可能とされ、主制御部112からの制御信号に基づいて、外部記憶媒体120に対してデータの読み出しや書き込みを行う。なお、外部記憶媒体120は、メモリカード等に限らず、CDやDVD、ブルーレイ等の光学的なディスクであってもよい。
通信I/F121は、主制御部112からの制御信号に基づいて、LANやインターネット等の無線または有線のネットワーク122に接続し、サーバや外部機器と通信を行う。
なお、主制御部112は、タッチパネル102の操作面に対する以下の操作を検出可能である。
・タッチパネル102にタッチしていない状態から指やペンでタッチしたこと(すなわち、タッチの開始)。この操作を、タッチダウン(Touch−Down)と呼ぶ。
・タッチパネル102を指やペンでタッチしている状態であること。この操作を、タッチオン(Touch−On)と呼ぶ。
・タッチパネル102を指やペンでタッチしたまま移動していること。この操作を、タッチムーブ(Touch−Move)(タッチ移動操作)と呼ぶ。
・タッチパネル102へタッチしていた指やペンを離したこと(すなわち、タッチの終了)。この操作を、タッチアップ(Touch−Up)と呼ぶ。
・タッチパネル102に何もタッチしていない状態を、タッチオフ(Touch−Off)と呼ぶ。
タッチダウンが検出されると、同時にタッチオンであることも検出される。タッチダウンの後、タッチアップが検出されない限りは、通常はタッチオンが検出され続ける。タッチムーブが検出されるのもタッチオンが検出されている状態である。タッチオンが検出されていても、タッチ位置が移動していなければタッチムーブは検出されない。タッチしていた全ての指やペンがタッチアップしたことが検出された後は、タッチオフとなる。タッチムーブは、指の震えなどの微小な移動をタッチムーブと誤検知しないように、閾値以上の移動があるとタッチムーブであると判定する。後述する各実施形態では、このタッチムーブと判定されるまでの移動距離の閾値を、タッチする指やペンの進入方向(タッチ位置とは反対側の指の付け根やペンの端部などの移動方向)に応じて、タッチムーブの方向ごとに変更する。
タッチパネル102に対する上記の操作や状態、並びに、タッチパネル102上に指やペンがタッチしている位置座標は内部バス101を通じて主制御部112に通知される。主制御部112は、通知された情報に基づいてタッチパネル102上にどのような操作が行われたかを判定する。タッチムーブについてはタッチパネル102上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル102上の垂直成分・水平成分ごとに判定できる。またタッチパネル102上をタッチダウンから一定のタッチムーブを経てタッチアップをしたとき、ストロークを描いたこととする。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル102上にタッチパネル102上に指やペンをタッチしたままある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル102上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でタッチムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行われたと判定できる。
後述する各実施形態では、フリックについては、所定距離(フリックされたと判定される距離閾値)を、タッチする指やペンの進入方向に応じて、タッチムーブの方向ごとに変更するする。また、所定距離以上を、所定速度未満でタッチムーブしたことが検出された場合はドラッグが行われたと判定するものとする。
以下、図2〜図16を参照して、本発明に係る実施形態のタッチ操作判定処理について説明する。
[実施形態1]
本実施形態では、タッチ操作を行ったタッチ操作部104のタッチパネル面に対する傾斜状態に応じてタッチ操作部104の進入方向(タッチ進入方向)を判定し、このタッチ進入方向に基づいてタッチ操作判定条件を変更する処理を説明する。
まず、図2を参照して、本実施形態によるタッチ操作部104の傾斜状態判定方法について説明する。
タッチセンサ201は、静電容量Cが最も大きい発生容量205となるセンサ(最大容量センサ)に対応する。
タッチセンサ202、203は、最大容量センサ201の周囲に隣接するセンサ(隣接センサ)に対応する。
差分値204は、最大容量センサ201の発生容量205から隣接センサ202の発生容量206を差し引いた値である。差分値207は、最大容量センサ201の発生容量205から隣接センサ203の発生容量208を差し引いた値である。なお、差分値204と差分値207を合わせて差分値Aと呼ぶ。
第1の閾値209は、タッチ操作部104が傾いている可能性があるか否かを判定するために、差分値204、207に対して設定される判定基準である。
タッチセンサ210は、最大容量センサ201に隣接しておらず、隣接センサ202、203と隣接している別のセンサ(離間センサ)に対応する。
差分値211は、隣接センサ202の発生容量206から離間センサ210の発生容量212を差し引いた値である。なお、差分値211を差分値Bと呼ぶ。
第2の閾値213は、タッチ操作部104が傾いている可能性があるか否かを判定するために、差分値211に対して設定される判定基準である。
第3の閾値214は、タッチ操作部104が傾いている可能性があるか否かを判定するために、隣接センサ203の発生容量208に対して設定される判定基準である。
第4の閾値215は、タッチ操作部104が傾いている可能性があるか否かを判定するために、隣接センサ203の発生容量208に対して設定される判定基準である。
図2(a)、(c)、(e)は、タッチ操作部104が傾いていると判定される場合の操作体の接近による静電容量Cの分布を例示している。図2(b)、(d)、(f)は、タッチ操作部104が傾いていないと判定される場合の操作体の接近による静電容量Cの分布を例示している。
タッチ操作部104が傾いている場合は、タッチ操作部104の先端部(最大容量センサ201)から基部(隣接センサ202、203と離間センサ210)まで発生容量Cの差分値が小さい状態である。これに対して、タッチ操作部104が傾いていない場合は、タッチ操作部104の周囲(隣接センサ202、203)と基部(離間センサ210)の発生容量Cの差分値が大きくなる。
次に、図3を参照して、本実施形態によるタッチ操作を行ったタッチ操作部104の傾斜角度の推定方法およびタッチ進入方向の判定方法について説明する。
タッチセンサ301、302は、最大容量センサ201に対してタッチ操作部104が傾斜する方向側にあるタッチセンサ(傾斜側センサ)に対応する。
差分値303は、最大容量センサ201の発生容量205から傾斜側センサ301の発生容量305を差し引いた値である。差分値304は、最大容量センサ201の発生容量205から傾斜側センサ302の発生容量306を差し引いた値である。
傾斜角度307は、タッチ操作部104とタッチパネル102とがなす角度である。なお、傾斜の度合いを表す指標であれば角度以外でもよい。なお、傾斜角度307を傾斜角度θと呼ぶ。
第5の閾値308は、タッチ進入方向の判定に影響を及ぼす程度にタッチ操作部104が傾いている可能性があるか否かを判定するために、傾斜角度307に対して設定される判定基準である。
図3(a)は、タッチ操作部104の傾斜角度θが大きい(傾斜角度307が第5の閾値308を上回る)場合の静電容量Cの分布を例示している。
図3(b)は、タッチ操作部の傾斜角度θが小さい(傾斜角度307が第5の閾値308を下回る)場合の静電容量Cの分布を例示している。
図3(c)〜(j)は、タッチ操作部104の傾斜角度θが大きい場合(図3(a)参照)に判定されるタッチ進入方向の具体例を示している。なお、タッチセンサ103は、表示部118の表示パネル面に2次元状に配置されているものとする。また、説明の便宜上、タッチ進入方向は上下左右に4つの斜め方向を加えた8方向とする。タッチ進入方向は、X軸方向成分、Y軸方向成分別(横方向成分、縦方向成分別)に、タッチ操作があった場合の最大容量センサの両隣のセンサの出力値の差が閾値以上であり、かつ、両隣のセンサのうち大きい方の隣接センサ側から進入したものと判定する。タッチ操作があった場合の最大容量センサの両隣のセンサの出力値の差が閾値未満である場合には、その方向成分からの進入はなかったものと判定する。このようなX軸方向(横方向)成分、Y軸方向(縦方向成分)成分別の進入方向の判定の組合せで進入方向判定を行う。
図3(c)では、タッチ進入方向が下からであると判定する。X軸方向(横方向)成分では最大容量センサの両隣のセンサの出力値の差が閾値未満であり、X軸方向の進入ではないと判定している。Y軸方向(縦方向成分)成分では、最大容量センサの両隣のセンサの出力値の差が閾値以上であり、下側のセンサの出力が大きいため、Y軸方向成分では下からの進入であると判定している。X軸成分(なし)とY軸成分(下)の組合せより、タッチ進入方向が下からであると判定する。
図3(d)では、タッチ進入方向が左下からであると判定する。X軸方向(横方向)成分では最大容量センサの両隣のセンサの出力値の差が閾値以上であり、左側のセンサの出力が大きいため、X軸方向成分では左からの進入であると判定している。Y軸方向(縦方向成分)成分では、最大容量センサの両隣のセンサの出力値の差が閾値以上であり、下側のセンサの出力が大きいため、Y軸方向成分では下からの進入であると判定している。X軸成分(左)とY軸成分(下)の組合せより、タッチ進入方向が左下からであると判定する。以下、図3(e)〜図3(j)も同様の判定方法によってタッチ進入方向を判定している。
図3(e)では、タッチ進入方向が左からであると判定する。図3(f)では、タッチ進入方向が左上からであると判定する。図3(g)では、タッチ進入方向が上からであると判定する。図3(h)では、タッチ進入方向が右上からであると判定する。図3(i)では、タッチ進入方向が右からであると判定する。図3(j)では、タッチ進入方向が右下からであると判定する。
図4は、本実施形態のタッチ進入方向に応じてタッチ操作判定条件を変更する対象方向(条件変更対象方向)の選択テーブル401を例示している。
テーブル401は、タッチ進入方向ごとに条件変更対象方向(操作判定されやすくなる方向)を具体的に示している。なお、ここでは、説明の容易化のため、判定可能な操作方向は上下左右の4方向、タッチ進入方向は上下左右に4つの斜め方向を加えた8方向とする。例えば、タッチ進入方向が上からの場合は、下方向へ移動するタッチ操作があったと判定する条件を変更する(下方向にタッチムーブ又はフリックがあったと判定されるための距離の閾値を通常より小さくする)。このように、いずれの方向についても、条件変更対象方向へ移動するタッチ操作(タッチムーブ又はフリック)があったと判定されるための距離の閾値を通常時より、また、条件変更対象方向以外の方向よりも小さくする。テーブル401の利用例については、図6で後述する。
次に、図5を参照して、本実施形態によるタッチ進入方向に応じてタッチ操作判定条件を制御する処理について説明する。
以下では、説明の便宜上、図2のように最大容量センサ201に対して2つの隣接センサ202、203が存在し、一方の隣接センサ202に隣接して離間センサ210が存在する場合について説明する。
なお、図5の処理は、主制御部112が内部記憶媒体113に格納されたプログラムをメモリ114に展開して実行することにより実現される。後述する図9、図13及び図16の処理でも同様である。
S501では、主制御部112は、タッチ検出部107によりタッチパネル102に対するタッチダウンが検出されるまで待機し、タッチダウンが検出された場合はS502に進む。
S502では、主制御部112は、最大容量センサ201を特定する。なお、タッチセンサの配置が2次元状以上の場合、軸方向ごとに同様の処理を行う。
S503では、主制御部112は、タッチ操作部104が傾いている可能性があるか否かを判定するため、傾斜状態判定部111により差分値204、207(差分値A)を算出する。
S504では、主制御部112は、座標位置算出部109により算出された最大容量センサ201のタッチ位置の座標から、最大容量センサ201が端部にあるか否かを判定し、端部にある場合はS507へ進み、端部にない場合はS505へ進む。
S505では、主制御部112は、手のひらなどの面によるタッチ操作であるか否かを判定する。ここで、タッチ状態判定部123は、S503で算出した差分値Aがいずれも第1の閾値209を下回っているか否かを判定し、下回っている場合はS506へ進み、下回っていない場合はS507へ進む。
S506では、主制御部112は、面によるタッチ操作を除外するためタッチ検出状態を解除する。
S507では、主制御部112は、タッチ操作部104が傾いている可能性があるか否かを判定する。ここで、傾斜状態判定部111は、差分値204、207のいずれかが第1の閾値209を下回っているか否かを判定する。判定の結果、下回っている場合はタッチ操作部104が傾いている可能性があると判定してS508へ進み、下回っていない場合はタッチ操作部104が傾いていないと判定してS519へ進む。以下、差分値Aが第1の閾値209を下回ったタッチセンサは隣接センサ202であるとする。
S508では、主制御部112は、隣接センサ202に隣接する離間センサ210が存在するか否かを判定するために、隣接センサ202が端部にあるか否かを判定する。判定の結果、端部にある場合は離間センサ210が存在しないと判定してS511へ進み、端部にない場合は離間センサ210が存在すると判定してS509へ進む。
S509では、主制御部112は、傾斜状態判定部111によりタッチ操作部104が傾いているか否かを判定するため、隣接センサ202の発生容量206と離間センサ210の発生容量212の差分値211(差分値B)を算出する。
S510では、主制御部112は、タッチ操作部104が傾いているか否かを判定する。ここで、傾斜状態判定部111は、S509で算出された差分値211が第2の閾値213を下回っているか否かを判定する。判定の結果、下回っている場合は、タッチ操作部104が傾いていると判定してS514へ進み(図2(a)参照)、下回っていない場合は更なる判定を行うためにS511へ進む(図2(b)参照)。
S511では、主制御部112は、座標位置算出部109により算出された最大容量センサのタッチ位置の座標から、最大容量センサ201が端部にあるか否かを判定する。判定の結果、端部にある場合は、傾斜状態判定部111によりタッチ操作部104が傾いていないと判定してS519へ進み、端部にない場合は、タッチ操作部104が傾いている可能性があると判定してS512又はS513へ進む。なお、S511では、S508から遷移した場合はS512へ進み、S510から遷移した場合はS513へ進む。
S512では、主制御部112は、タッチ操作部104が傾いているか否かを判定する。ここで、傾斜状態判定部111は、差分値207(差分値A)が第1の閾値209を下回らないもう一方の隣接センサ203の発生容量208が第3の閾値214を上回っているか否かを判定する。判定の結果、上回っている場合は、タッチ操作部104が傾いていると判定してS514へ進み(図2(c)参照)、上回っていない場合はタッチ操作部104が傾いていないと判定してS519へ進む(図2(d)参照)。
S513では、主制御部112は、タッチ操作部104が傾いているか否かを判定する。ここで、傾斜状態判定部111は、差分値207(差分値A)が第1の閾値209を下回らないもう一方の隣接センサ203の発生容量208が第4の閾値215を上回っているか否かを判定する。判定の結果、上回っている場合はタッチ操作部104が傾いていると判定してS514へ進み(図2(e)参照)、上回っていない場合はタッチ操作部104が傾いていないと判定してS519へ進む(図2(f)参照)。
S514では、主制御部112は、傾斜状態判定部111によりタッチ操作部104が傾いていると判定し、その傾斜方向を推定する。なお、S514では、S510から遷移した場合は最大容量センサ201を始点とし、離間センサ210の方向に傾斜する直線方向をタッチ操作部104の傾斜方向として推定する(図2(a)参照)。また、S512から遷移した場合は最大容量センサ201を始点とし、隣接センサ202の方向に傾斜する直線方向をタッチ操作部104の傾斜方向として推定する(図2(c)参照)。S513から遷移した場合は最大容量センサ201を始点とし、隣接センサ203の方向に傾斜する直線方向をタッチ操作部104の傾斜方向として推定する(図2(e)参照)。
S515では、主制御部112は、傾斜状態判定部111によりタッチ操作部104の傾斜角度θを推定するため、差分値303、304を算出する。差分値303、304が大きい場合、傾斜角度307は大きくなる(図3(a)参照)。差分値303、304が小さい場合、傾斜角度307は小さくなる(図3(b)参照)。
S516では、主制御部112は、タッチ操作部104の傾斜角度θが所定の角度より傾いているかを判定する。ここで、傾斜状態判定部111は、傾斜角度307が第5の閾値308を下回っているか否かを判定する。判定の結果、下回っている場合はタッチ進入方向の判定に影響を及ぼす程度にタッチ操作部104が傾いていると判定してS517へ進み、下回っていない場合はタッチ進入方向の判定に影響を及ぼさないと判定してS521へ進む。
S517では、主制御部112は、タッチ操作部104の傾斜角度θが所定の角度より傾いているので、傾斜角度θが小さい条件でのタッチ進入方向を判定する(図3(c)〜(j)参照)。このように、操作体と操作面とのなす角度が所定角度未満であると判定された場合(S516でYESの場合)に、操作体の操作面への進入方向に応じて異なる判定条件によって上記タッチ移動操作の操作方向を判定する。一方、操作体と操作面とのなす角度が所定角度以上であると判定された場合(S516でNOの場合)に、操作体の操作面への進入方向に応じない判定条件によって上記タッチ移動操作の操作方向を判定する。
S518では、主制御部112は、条件設定部116により選択テーブル401を参照して、タッチ操作判定条件を設定する。
S519では、主制御部112は、タッチ操作部104が傾斜していないと判定する。
S520では、主制御部112は、条件設定部116によりタッチ操作判定条件を初期条件に設定する。
S521では、主制御部112は、タッチ検出部107によりタッチパネル102に対するタッチアップが検出されるまで待機し、タッチアップが検出された場合はS522に進む。
S522では、主制御部112は、条件設定部116によりタッチ操作判定条件を初期化してS501へ戻る。
次に、図6を参照して、図5で説明したタッチ操作判定条件制御処理について具体例を挙げて説明する。
タッチ操作部601は、タッチ操作開始時のタッチ操作部104に対応する。タッチ操作部602は、タッチ操作部601をタッチしたまま移動した後のタッチ操作部104に対応する。位置603は、タッチ操作部601のタッチ位置である。位置604は、タッチ操作部602のタッチ位置である。操作量605は、位置603から位置604へのX方向の移動量である。操作量606は、位置603から位置604へのY方向の移動量である。
閾値607〜610はそれぞれ、タッチ操作部104が上方向、右方向、下方向、左方向に移動したときの操作量605、606を判定するための判定基準である。操作量605、606が閾値607〜610よりも大きい場合は、当該方向へのタッチ操作が行われたと判定し、閾値607〜610よりも小さい場合は、操作が行われていないと判定する。
変更後閾値611〜614はそれぞれ、タッチ進入方向に応じて閾値607〜610から変更された判定基準である。なお、変更後閾値611〜614は、閾値607〜610よりも小さい値であるものとする。また、タッチ進入方向ごとに任意の値が設定可能であるものとする。
軌跡615〜618はそれぞれ、左下方向、左上方向、右上方向、右下方向からのタッチ操作時にタッチ操作部104により操作可能な方向を示している。このような軌跡を描くように操作される場合は、左方向成分や右方向成分の移動量が減少する。
図6(a)は、タッチ操作時のタッチ操作部104の移動量を示しており、例えば、位置603を(X1,Y1)、位置604を(X2,Y2)とすると、操作量605は|X2−X1|、操作量606は|Y2−Y1|となる。
図6(b)〜(i)はそれぞれ、タッチ進入方向ごとに設定されるタッチ操作判定条件を示している。
図6(b)のように、タッチ進入方向が下からの場合、タッチしたまま同方向(下方向)へ移動する操作に比べて、タッチしたまま反対方向(上方向)へ移動する操作がしにくい。このため、上方向への操作性を向上するため、閾値607を変更後閾値611へ変更する。すなわち、タッチしたまま上方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さく、また、上方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図6(c)のように、タッチ進入方向が左下からの場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡615のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値612、614へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図6(d)のように、タッチ進入方向が左からの場合、タッチしたまま同方向(左方向)へ移動する操作に比べて、タッチしたまま反対方向(右方向)へ移動する操作がしにくくなる。このため、右方向への操作性を向上するため、閾値608を変更後閾値612へ変更する。すなわち、タッチしたまま右方向へ移動する操作時の移動距離の閾値を変更前の閾値よりも小さくし、また、右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図6(e)のように、タッチ進入方向が左上からの場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡616のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値612、614へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図6(f)のように、タッチ進入方向が上からの場合、タッチしたまま同方向(上方向)へ移動する操作に比べて、タッチしたまま反対方向(下方向)へ移動する操作がしにくい。このため、下方向への操作性を向上するため、閾値609を変更後閾値613へ変更する。すなわち、タッチしたまま下方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、下方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図6(g)のように、タッチ進入方向が右上からの場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡617のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値612、614へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図6(h)のように、タッチ進入方向が右からの場合、タッチしたまま同方向(右方向)へ移動する操作に比べて、タッチしたまま反対方向(左方向)へ移動する操作がしにくい。このため、左方向への操作性を向上するため、閾値610を変更後閾値614へ変更する。すなわち、タッチしたまま左方向へ移動する操作時の移動距離の閾値を変更前の閾値よりも小さくし、また、左方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図6(i)のように、タッチ進入方向が右下からの場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡618のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値612、614へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
いずれのタッチ進入方向にも共通して、タッチ進入方向と反対方向(例えば、タッチパネルのうち、指の付け根が近付いている辺と対向する辺へ向かう方向)へタッチしたまま移動する操作があったと判定する移動距離の閾値を、変更前より小さくする。また、矩形のタッチパネルに対して斜め方向から指が進入している場合は、左右方向へタッチしたまま移動する操作があったと判定する移動距離の閾値を、変更前よりも小さくする。
次に、タッチ操作判定閾値を変更した場合の動作について説明する。
以下では、図6(b)の場合(タッチ進入方向が下からで、上方向への移動距離の閾値が変更前より小さい場合)の例を説明するが、それ以外のタッチ進入方向の場合でもそれぞれ、閾値を変更する方向が異なる以外は同様である。
図6(b)のようにタッチ進入方向が下からの場合、上方向へのタッチムーブがあったと判定する移動距離の閾値、あるいは、上方向へのフリックがあったと判定する移動距離の閾値を、それ以外の方向へのタッチムーブまたはフリックがあったと判定するそれぞれの閾値よりも小さくする。また、上方向へのタッチムーブがあったと判定する移動距離の閾値、あるいは、上方向へのフリックがあったと判定する移動距離の閾値を、変更前の閾値よりも小さくする。このようにすることで、例えば、指をタッチパネル102の下から進入させてタッチ操作を行う場合には、タッチしたまま上向きに比較的少しの距離だけ移動すれば、上向きのタッチムーブだと判定される。そのため、タッチムーブに追従して表示された画像などの表示アイテムをスクロール(表示位置移動)させる操作時などにおいて、上方向への移動は他の方向に比べて比較的少しの指の移動でスクロール状態に移行させることができる。
また、タッチしたまま上向きに比較的少しの距離だけ素早く移動してから離せば、上向きのフリックであると判定される。そのため、フリック操作によって表示内容を切り替える(例えば、表示画面をフリックすることで、指を離した後もフリックした方向に慣性力でスクロールが継続される)際に、上方向への指示を他の方向に比べて比較的少しの指の移動で行うことができる。すなわち、上方向への操作が容易になる。
さらに、タッチムーブの移動軌跡を用いたタッチジェスチャー入力機能が割り当てられている場合にも、予め決められたタッチジェスチャー操作と判定される閾値を変更する。この場合、例えば、通常時は上方向に10mm(タッチジェスチャー操作時の移動距離の閾値)以上のタッチムーブを検出したことに応じて、表示画像にお気に入り属性が付与される。これに対して、図6(b)のように指をタッチパネル102の下から進入させてタッチ操作を行った場合は、通常時よりも上方向のタッチジェスチャー操作時の移動距離の閾値を小さくする。これにより、上方向に5mm以上のタッチムーブを検出したことに応じて、表示画像にお気に入り属性が付与される。一方、同じ画面で、右方向へのタッチジェスチャー操作に対して画像送り(表示画像を順次切り替える)機能が割り当てられていた場合は、以下のように動作する。例えば、タッチムーブによる移動時の右方向成分が、他の方向に割り当てられたタッチジェスチャー操作の条件を満たす前に、右方向へ10mm以上のタッチムーブが検出されたことに応じて画像送りを実行する。ここで、右上方向に斜め45度のタッチムーブが長い距離行われたとする。この場合、タッチムーブの右方向成分が10mmに達する前に、上方向成分が5mmに達するため、このタッチムーブは上方向へのタッチジェスチャー操作であると判定され、画像送りは行われず、表示画像にお気に入り属性が付与される。このように、上方向以外の他の方向に比べて、上方向へのタッチムーブであると判定され易くなる。
なお、タッチムーブ、フリック、タッチジェスチャーの移動距離の閾値は、距離以外の値である場合もある。例えば、タッチしたまま移動する操作の距離の絶対値が所定値を超えたことに応じて、いずれかの方向へ移動する操作(タッチムーブ、フリック、タッチジェスチャーなど)が行われたと判定する。そして、タッチ開始点(x0,y0)からその時点でタッチされている位置(x1,y1)までの移動距離の横方向成分|x1−x0|と縦方向成分|y1−y0|を比較し、大きい成分の方向への操作があったものと判定する。この場合、条件変更対象方向の成分に1より大きい重み係数を乗算することにより比較を行うことで、条件変更対象方向への操作であることが判定されやすくなるようにしてもよい。また、通常時は横方向成分|x1−x0|に対する縦方向成分|y1−y0|が1以上であると判定されると縦方向への操作であると判定するところを、横方向成分|x1−x0|に対する縦方向成分|y1−y0|の割合が0.8以上であれば縦方向への操作であると判定するようにしてもよい。すなわち、タッチしたまま移動する操作の方向を、方向ごとの移動成分の割合から判定する場合には、条件変更対象方向(操作判定されやすくなる方向)のそれ以外の方向に対する割合が変更前より小さくても条件変更対象方向への操作であると判定されるようにタッチ操作判定条件を変更する。
以上のように、本実施形態によれば、タッチ操作部の進入方向や傾斜角度に応じてタッチ操作判定条件を緩和するので、タッチ操作の仕方に関わらず、ユーザが意図しているタッチ操作を正しく判定できる装置を安価に実現することができる。また、ユーザにとっては、タッチしたまま移動する操作を簡単に行えるようになる。
[実施形態2]
実施形態2では、タッチ領域の大きさに基づいて、タッチ操作を行った親指や人差し指などの種類を判別することにより、より的確にタッチ操作判定条件を変更する処理を説明する。
まず、図7を参照して、本実施形態によるタッチ領域の大きさを判定する方法について説明する。
タッチ操作部701は、タッチ領域が大きいタッチ操作部104であり、例えば、親指でのタッチ操作に対応する。
タッチ操作部702は、タッチ操作部701に比べて、タッチ領域が小さいタッチ操作部104であり、例えば、人差し指でのタッチ操作に対応する。
第6の閾値703は、静電容量Cに関するタッチ領域の大きさを判定する閾値であり、例えば、タッチ操作時の発生容量105が第6の閾値703を上回るタッチセンサ数に基づいてタッチ領域の大きさ(面積)が判定される。
図7(a)は、タッチ操作部701によるタッチ領域の大きさ判定方法を説明する図であり、例えば、6個以上のタッチセンサが第6の閾値703を超えている場合、タッチ領域の大きさ(面積)を「大」と判定する。
図7(b)は、タッチ操作部702によるタッチ領域の大きさ判定方法を説明する図であり、例えば、2個以上かつ6個未満のタッチセンサが第6の閾値703を超えている場合、タッチ領域の大きさ(面積)を「小」と判定する。
図8は、本実施形態のタッチ進入方向に応じた条件変更対象方向の選択テーブル801を例示している。
テーブル801は、タッチ進入方向ごとにタッチ領域の大きさを考慮した条件変更対象方向を具体的に示している。なお、図4と同様に、説明の容易化のため、判定可能な操作方向は上下左右の4方向、タッチ進入方向は上下左右に4つの斜め方向を加えた8方向とする。例えば、タッチ進入方向が左下からの場合でタッチ領域が「大」の場合は、左方向及び右方向のタッチ操作判定条件を変更する。テーブル801の利用例については、図6と同様である。
次に、図9を参照して、本実施形態によるタッチ進入方向及びタッチ領域の大きさに応じてタッチ操作判定条件を制御する処理について説明する。
なお、図9のS901〜S917、S920〜S923は、図5のS501〜517、S519〜S522と同様の処理であるため説明を省略し、相違点を以下に説明する。
S918では、主制御部112は、タッチ状態判定部123によりタッチ領域の大きさを判定する。
S919では、主制御部112は、条件設定部116によりテーブル801を参照してタッチ操作判定条件を設定し、その後の処理を行う。
以上のように、本実施形態によれば、上記実施形態1の効果に加えて、タッチ領域の大きさに応じてタッチ操作判定条件を緩和するので、タッチ操作の仕方に関わらず、ユーザが意図しているタッチ操作を正しく判定できる装置を安価に実現することができる。また、ユーザにとっては、タッチしたまま移動する操作を簡単に行えるようになる。
[実施形態3]
実施形態3では、タッチ操作部104のタッチ進入方向に対して、パネル面内軸に対するタッチ入力角度を判定し、このパネル面内軸に対するタッチ入力角度に基づいてタッチ操作判定条件を変更する処理を説明する。
まず、図10を参照して、本実施形態のタッチ入力角度判定部124によるパネル面内軸に対するタッチ入力角度を判定する方法について説明する。
センサ交点1001は、上述した横軸方向センサ103aと縦軸方向センサ103bが交わる部分を示している。各センサ交点1001においてタッチ操作部104がタッチパネル102へ接触あるいは接近することによりセンサ間容量1002が発生する。
タッチ領域1003は、タッチ操作部104がタッチパネル102に接触している領域である。タッチ領域1003の形状は、例えばセンサ間容量1002が第7の閾値1004を超えているセンサ交点1005(後述するセンサ交点1006を含む)によって楕円形状で近似される。タッチ領域1003の近似形状としての楕円の長軸1007の長さをa、短軸1008の長さをbとすると、基準軸1009に対する長軸1007の角度1010は、角度1010をαとすると、以下の式から求められる。
α=[arccos{(b2−a2)/(a2+b2)}]/2
センサ交点1006は、センサ交点1005の中で最もセンサ間容量Cの大きいセンサ交点である。
横軸方向センサ交点群1011a〜1011cはそれぞれタッチ領域1003を含む各センサ交点の横軸方向のセンサ間容量Cを行ごとに示したものである。
縦軸方向センサ交点群1012a〜1012dはそれぞれタッチ領域1003を含むセンサ交点の発生容量Cの縦軸方向のセンサ間容量Cを列ごとに示したものである。
センサ間容量1013はセンサ間容量1002の中で第7の閾値1004を超えたものであり、センサ交点1005に対応する。
センサ間容量1014はセンサ間容量1002の中で最も発生容量の大きいものであり、センサ交点1006に対応する。
タッチ入力角度1015は基準軸1009の基準方向1016とタッチ領域1003の近似楕円の長軸1007(タッチ操作部104のタッチ進入方向1017)とのなす角度である。なお、タッチ入力角度の度合いを表す指標であれば角度以外でもよい。以下、タッチ入力角度1015の角度の値をα’とする。
タッチ進入方向1017は、センサ交点1005の中で最もセンサ間容量Cの大きいセンサ交点1006と、この最大容量のセンサ交点1006から離間したセンサ交点1018との位置関係に基づいて決定される。例えば図10(a)では、タッチ進入方向1017は、最大容量のセンサ交点1006を始点とした、センサ交点1006から離れたセンサ交点1018の方向(左下方向)となる。そして、基準方向1016(0°)を下方向とすると、タッチ入力角度1015は、α’=αとなる。なお、時計周り方向に0°〜360°とする。
図10(a)は、タッチ操作部104のタッチ進入方向が左下からである場合のタッチ入力角度1015を例示している。図10(b)は、タッチ操作部104のタッチ進入方向が左上からである場合のタッチ入力角度1015を例示しており、α’=180°−αとなる。図10(c)は、タッチ操作部104のタッチ進入方向が右上からである場合のタッチ入力角度1015を例示しており、α’=180°+αとなる。図10(d)は、タッチ操作部104のタッチ進入方向が右下からである場合のタッチ入力角度1015を例示しており、α’=360°−αとなる。
図11は、本実施形態のパネル面内軸に対するタッチ入力角度の具体例を示している。図11(a)では基準方向1016に対するタッチ入力角度1015がα’=0°(360°)であると判定される。図11(b)ではタッチ入力角度1015がα’=45°であると判定される。図11(c)ではタッチ入力角度1015がα’=90°であると判定される。図11(d)ではタッチ入力角度1015がα’=135°であると判定される。図11(e)ではタッチ入力角度1015がα’=180°であると判定される。図11(f)ではタッチ入力角度1015がα’=225°であると判定される。図11(g)ではタッチ入力角度1015がα’=270°であると判定される。図11(h)ではタッチ入力角度1015がα’=315°であると判定される。
図12は、本実施形態のパネル面内軸に対するタッチ入力角度に応じた条件変更対象方向の選択テーブル1201を例示している。
テーブル1201は、パネル面内軸に対するタッチ入力角度ごとに条件変更対象方向を具体的に示している。なお、図4や図8と同様に、説明の容易化のため、判定可能な操作方向は上下左右の4方向、パネル面内軸に対するタッチ入力角度範囲は8方向とする。例えば、パネル面内軸に対するタッチ入力角度1015がα’=0°〜10°、α’=350°〜360°の場合は上方向のタッチ操作判定条件を変更する。テーブル1201の利用例については、図14で後述する。
次に、図13を参照して、本実施形態のパネル面内軸に対するタッチ入力角度に応じてタッチ操作判定条件を制御する処理について説明する。
S1301では、主制御部112は、タッチ検出部107によりタッチパネル102に対するタッチダウンが検出されるまで待機し、タッチダウンが検出された場合はS1302に進む。
S1302では、主制御部112は、タッチ入力角度判定部124によりパネル面内軸に対するタッチ入力角度を判定する。
S1303では、主制御部112は、条件設定部116により選択テーブル1201を参照して、S1302で判定されたタッチ入力角度に応じた条件変更対象方向のタッチ操作判定条件を設定する。
S1304では、主制御部112は、タッチ検出部107によりタッチパネル102に対するタッチアップが検出されるまで待機し、タッチアップが検出された場合はS1305に進む。このように、タッチダウン時の入力角度に応じてタッチ操作判定条件を変更するが、タッチダウン後にタッチされたままタッチ位置、形状、面積が変わった場合にはタッチ操作判定条件は変更しない。これは、タッチムーブによってタッチダウン時とは異なる進入方向となった場合は、タッチダウン時ほどユーザにとって自然な進入方向ではないため、タッチ操作判定条件を変更しても操作感の向上が望めない可能性があるためである。言い換えれば、タッチ操作判定条件の変更は、タッチダウン時から指をタッチムーブさせる場合の操作感を向上させるものである。なお、S1304でタッチアップを検出していない場合にS1302に戻り、タッチ中は動的にタッチ操作判定条件を変えるようにしてもよい。前述のS521、S922、後述のS1605でタッチアップが検出されなかった場合も同様である。すなわち、基本的にはタッチダウン時からのタッチムーブの操作性を向上させるためにタッチダウン時の進入方向に基づいてタッチ操作判定条件を変更するが、タッチ中に動的にタッチ判定条件を変えるようにしてもよい。
S1305では、主制御部112は、条件設定部116によりタッチ操作判定条件を初期化してS1301へ戻る。
次に、図14を参照して、図13で説明したタッチ操作判定条件制御処理について具体例を挙げて説明する。
なお、図14において、図6、図10及び図11で説明したものと同様の部分には同一の符号を付して説明を省略し、相違点を以下に説明する。
変更後閾値1401〜1404はそれぞれ、タッチ入力角度1015に応じて閾値607〜610から変更された判定基準である。なお、変更後閾値1401〜1404は、閾値607〜610よりも小さい値であるものとする。また、タッチ入力角度ごとに任意の値が設定可能であるものとする。
図14(a)は、図6(a)と同様に、タッチ操作時のタッチ操作部104の移動量を示しており、例えば、位置603を(X1,Y1)、位置604を(X2,Y2)とすると、操作量605は|X2−X1|、操作量606は|Y2−Y1|となる。
図14(b)〜(i)はそれぞれ、パネル面内軸に対するタッチ入力角度ごとに設定されるタッチ操作判定条件を示している。
図14(b)のようにタッチ進入方向1017が下からであって、タッチ入力角度1015がα’=0°(360°)であった場合、タッチしたまま反対方向(上方向)へ移動する操作がしにくい。このため、上方向への操作性を向上するため、閾値607を変更後閾値1401へ変更する。すなわち、タッチしたまま上方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さく、また、上方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図14(c)のようにタッチ進入方向1017が左下からであって、タッチ入力角度1015がα’=45°であった場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡615のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値1402、1404へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図14(d)のようにタッチ進入方向1017が左からであって、タッチ入力角度1015がα’=90°であった場合、タッチしたまま反対方向(右方向)へ移動する操作がしにくくなる。このため、右方向への操作性を向上するため、閾値608を変更後閾値1402へ変更する。すなわち、タッチしたまま右方向へ移動する操作時の移動距離の閾値を変更前の閾値よりも小さくし、また、右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図14(e)のようにタッチ進入方向1017が左上からであって、タッチ入力角度1015がα’=135°であった場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡616のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値1402、1404へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図14(f)のようにタッチ進入方向1017が上からであって、タッチ入力角度1015がα’=180°であった場合、タッチしたまま反対方向(下方向)へ移動する操作がしにくい。このため、下方向への操作性を向上するため、閾値609を変更後閾値1403へ変更する。すなわち、タッチしたまま下方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、下方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図14(g)のようにタッチ進入方向1017が右上からであって、タッチ入力角度1015がα’=225°であった場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡617のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値1402、1404へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図14(h)のようにタッチ進入方向1017が右からであって、タッチ入力角度1015がα’=270°であった場合、タッチしたまま反対方向(左方向)へ移動する操作がしにくい。このため、左方向への操作性を向上するため、閾値610を変更後閾値1404へ変更する。すなわち、タッチしたまま左方向へ移動する操作時の移動距離の閾値を変更前の閾値よりも小さくし、また、左方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
図14(i)のようにタッチ進入方向1017が右下からであって、タッチ入力角度1015がα’=315°であった場合、タッチしたまま左方向又は右方向へ移動する操作時にユーザが意図した操作とならず軌跡618のように操作される可能性がある。このため、左方向又は右方向への操作性を向上するため、閾値608、610をそれぞれ変更後閾値1402、1404へ変更する。すなわち、タッチしたまま左方向又は右方向へ移動する操作時の移動距離の閾値を、変更前の閾値よりも小さくし、また、左方向又は右方向以外へ移動する操作時の移動距離の閾値よりも小さくする。
いずれのタッチ進入方向にも共通して、タッチ進入方向と反対方向へタッチしたまま移動する操作があったと判定する移動距離の閾値を、変更前より小さくする。また、矩形のタッチパネルに対して斜め方向から指が進入している場合は、左右方向へタッチしたまま移動する操作があったと判定する移動距離の閾値を、変更前よりも小さくする。その他の構成は、実施形態1の図6で説明した通りである。
以上のように、本実施形態によれば、タッチ操作部104のパネル面内軸に対するタッチ入力角度に応じてタッチ操作判定条件を緩和するので、タッチ操作の仕方に関わらず、ユーザが意図しているタッチ操作を正しく判定できる装置を安価に実現することができる。また、ユーザにとっては、タッチしたまま移動する操作を簡単に行えるようになる。
[実施形態4]
実施形態4では、タッチ操作部104のパネル面内軸に対するタッチ入力角度に加えて、タッチ領域の大きさに基づいて、タッチ操作を行った親指や人差し指などの種類を判別することにより、より的確にタッチ操作判定条件を変更する処理を説明する。
なお、本実施形態によるタッチ領域の大きさを判定する方法については、実施形態2の図7で説明したタッチセンサをセンサ交点に読み替えた内容と同様である。
図15は、本実施形態のパネル面内軸に対するタッチ入力角度に応じた条件変更対象方向の選択テーブル1501を例示している。
テーブル1501は、タッチ入力角度ごとにタッチ領域の大きさを考慮した条件変更対象方向を具体的に示している。なお、図12と同様に、説明の容易化のため、判定可能な操作方向は上下左右の4方向、タッチ入力角度範囲は図12と同様に8方向とする。例えば、パネル面内軸に対するタッチ入力角度がα’=0°〜10°、α’=350°〜360°の場合でタッチ領域の大きさが「大」の場合は、上方向のタッチ操作判定条件を変更する。テーブル1501の利用例については、図14と同様のため説明を省略する。なお、親指でのタッチ操作であれば、装置本体を把持する手の親指による操作である可能性が高い。従って、親指の可動域の影響で、ユーザが左右に真っ直ぐタッチムーブさせたつもりでも、意図せず軌跡615〜618のような弧を描くタッチムーブとなってしまう可能性が高い。一方で、人差指での操作であれば、装置本体を把持する手ではない方の手の人差指で操作している可能性が高い。このような装置本体を把持する手ではない方の手の人差指でのタッチ操作は自由度が高く、ユーザが意図通りに動かしやすい。すなわち、上述の親指の弧を描くような操作が不用意に行われる可能性は低い。従って、図15のように、タッチ領域が小さい場合は、親指ではなく人差指であると想定され、左右へのタッチムーブのつもりの操作が弧を描くタッチムーブとなる可能性が低いため、弧を描く方向のタッチムーブに対する条件の変更は行わない(図15中の斜線部)。一方、タッチ領域が大きい場合は、親指による操作であると想定されるため、前述のように弧を描くタッチムーブでも左右へのタッチムーブと判定され易くなるよう、条件を変更している。なお、図8も同様の意図である。
次に、図16を参照して、本実施形態のパネル面内軸に対するタッチ入力角度及びタッチ領域の大きさに応じてタッチ操作判定条件を制御する処理について説明する。
なお、図16のS1601〜S1602、S1605〜S1606は、図13のS1301〜S1302、S1304〜S1305と同様の処理であるため説明を省略し、相違点を以下に説明する。
S1603では、主制御部112は、タッチ状態判定部123によりタッチ領域の大きさを判定する。
S1604では、主制御部112は、条件設定部116によりテーブル1501を参照してタッチ操作判定条件を設定し、その後の処理を行う。
以上のように、本実施形態によれば、上記実施形態3の効果に加えて、タッチ領域の大きさに応じてタッチ操作判定条件を緩和するので、タッチ操作の仕方に関わらず、ユーザが意図しているタッチ操作を正しく判定できる装置を安価に実現することができる。また、ユーザにとっては、タッチしたまま移動する操作を簡単に行えるようになる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、実施形態1,2では、タッチ操作の有無をタッチセンサの発生容量に基づいて判定しているが、実施形態3,4のようにセンサ間容量に基づいて判定してもよい。また、実施形態3,4でのタッチ操作の有無を、タッチセンサの発生容量に基づいて判定してもよい。また、タッチセンサ103の出力は一定時間におけるコンデンサの充放電回数のように、タッチ操作に伴う静電容量Cの変化により変化するものであればよい。また、タッチ操作部104の傾斜状態の判定指標は差分値以外でもよく、静電容量Cの大きさに基づくものであればよい。また、傾斜角度θは、1つのタッチセンサの発生容量105の差分値から推定してもよく、タッチ操作部104の傾斜方向側のタッチセンサ数に応じて変化させてもよい。また、判定可能な操作方向を上下左右の4方向としたが、任意の数であってもよい。また、判定可能なタッチ進入方向を上下左右に4つの斜め方向を加えた8方向とし、タッチ入力角度範囲を8方向としたが、任意の数としてもよい。また、本実施形態では、操作性を改善すべき条件変更対象方向のタッチ操作判定条件が緩和されるように閾値が小さくなる方向に変更したが、操作性が悪化しない方向についてタッチ操作判定条件が厳格になるように閾値が大きくなる方向に変更してもよい。また、図7及び図15では、タッチ領域の大きさとして「大」と「小」の2パターンを判定したが、任意の数としてよい。判定閾値、センサ数に関しても任意の値としてよい。また、図10では、接触領域1013を楕円形状と近似してタッチ入力角度を算出したが、これ以外の算出方法を用いてもよい。また、基準方向1016を下方向としたが、任意の方向としてもよい。また、実施形態3では、タッチ進入方向1017を、最大容量のセンサ交点1006とこのセンサ交点1006から離間したセンサ交点1018との位置関係に基づいて決定されるが、これ以外の方法を用いて決定してもよい。また、タッチ入力角度α’は時計周り方向に0°〜360°としているが、他の方向、例えば反時計回りとしてもよい。
なお、主制御部112の制御は1つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
また、上述した実施形態においては、本発明をタッチパネルが実装された表示部を有するスマートフォンやタブレットなどの電子機器に適用した場合を例に説明したが、本発明はこの例に限定されず、表示部にタッチ検出機能が実装された装置であれば適用可能である。すなわち、本発明は、パーソナルコンピュータやその一種であるタブレット、携帯電話やその一種であるスマートフォン(眼鏡型端末や腕時計型端末を含む)、PDA(携帯情報端末)、携帯型の画像ビューワ、表示装置を備えるプリンタ、デジタルフォトフレーム、音楽プレーヤ、ゲーム機、電子ブックリーダ、ファクシミリや複写機などのOA機器、心電図や血圧計などの医療機器などに適用可能である。
[他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。