(57)【要約】【課題】タッチパネルに対する操作に応じた適切な動作を実行すること。【解決手段】本願の情報処理装置は、指の動きを検出するタッチパネルと、タッチパネルによって検出された指の動きを、情報処理装置上で動作するアプリケーションへの操作指示に相当する入力イベントへ変換する変換部とを備え、変換部は、タッチパネルによって、タッチパネルに指が置かれたことが検出された場合に、タッチパネルによって検出された指の動きを、所定の期間もしくは所定の回数、入力イベントへ変換することを抑制する。また、変換部は、タッチパネルによって検出された指の位置と、前回入力イベントへ変換した指の位置とを比較し、その差が所定値以下の場合には、タッチパネルによって検出された指の位置を入力イベントへ変換することを抑制する。【選択図】        図３
2010108103.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
指の動きを検出するタッチパネルと、
前記タッチパネルによって検出された指の動きを、前記情報処理装置上で動作するアプリケーションへの操作指示に相当する入力イベントへ変換する変換部とを備え、
前記変換部は、前記タッチパネルによって、該タッチパネルに指が置かれたことが検出された場合に、前記タッチパネルによって検出された指の動きを、所定の期間もしくは所定の回数、前記入力イベントへ変換することを抑制することを特徴とする情報処理装置。
【請求項２】
前記変換部は、前記タッチパネルによって検出された指の位置と、前回入力イベントへ変換した指の位置とを比較し、その差が所定値以下の場合には、前記タッチパネルによって検出された指の位置を前記入力イベントへ変換することを抑制することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変換部は、ドラッグ動作が検出された場合に、前記所定値をより小さな値に変化させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
情報処理装置における入力制御方法であって、
タッチパネルにおいて指の動きを検出する検出ステップと、
前記検出ステップにおいて検出された指の動きを、前記情報処理装置上で動作するアプリケーションへの操作指示に相当する入力イベントへ変換する変換ステップとを含み、
前記変換ステップは、前記タッチパネルによって、該タッチパネルに指が置かれたことが検出された場合に、前記タッチパネルによって検出された指の動きを、所定の期間もしくは所定の回数、前記入力イベントへ変換することを抑制することを特徴とする入力制御方法。
【請求項５】
前記変換ステップは、前記タッチパネルによって検出された指の位置と、前回入力イベントへ変換した指の位置とを比較し、その差が所定値以下の場合には、前記タッチパネルによって検出された指の位置を前記入力イベントへ変換することを抑制することを特徴とする請求項４に記載の入力制御方法。
【請求項６】
前記変換ステップは、ドラッグ動作が検出された場合に、前記所定値をより小さな値に変化させることを特徴とする請求項５に記載の入力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置および入力制御方法に関し、特に、タッチパネルに対する操作に応じた適切な動作を実行することができる情報処理装置および入力制御方法に関する。
【背景技術】
【０００２】
従来より、利用者が情報や指示を入力するための入力部として、タッチパネルを備えた情報処理装置が知られている。タッチパネルによる情報や指示の入力は、利用者が指先で画面に触れることにより実行され、キーボードやマウス等のかさばる機器を必要としないため、携帯電話等の携帯端末において利用されることが多い。
【０００３】
【特許文献１】特開平１１−２０３０４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、タッチパネルによる情報や指示の入力には、キーボードやマウス等の他のデバイスによる情報や指示の入力と比べて、入力結果が誤って認識されて誤作動を生じさせることが多いという問題があった。
【０００５】
例えば、キーボード入力の場合、複数のボタンのうち、どのボタンが押下されたかを認識すればよいので、誤作動が生じることはほとんどない。一方、タッチパネルによる入力の場合、１枚のタッチパネルに対して指がどのように触れたかを解析して、ドラッグやダブルタップを認識する複雑な処理が必要であるために、利用者が行った操作が誤認識され、誤作動を生じさせることが多かった。
【０００６】
また、タッチパネルによる入力の場合、指がブレ易いといった利用者の特性のために誤作動が生じることがあった。例えば、ダブルタップは、タッチパネルへのタップ操作が所定の期間内に連続した場合に認識されるが、指がブレ易い利用者の場合、タップ時に指の移動が検出されてしまい、２回目のタップを行っても連続したタップと認識されないことがあった。
【０００７】
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、タッチパネルに対する操作に応じた適切な動作を実行することができる情報処理装置および入力制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本願の開示する情報処理装置は、一つの態様において、指の動きを検出するタッチパネルと、前記タッチパネルによって検出された指の動きを、情報処理装置上で動作するアプリケーションへの操作指示に相当する入力イベントへ変換する変換部とを備え、前記変換部は、前記タッチパネルによって、該タッチパネルに指が置かれたことが検出された場合に、前記タッチパネルによって検出された指の動きを、所定の期間もしくは所定の回数、前記入力イベントへ変換することを抑制する。
【０００９】
なお、本願の開示する情報処理装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも上述した課題を解決するために有効である。
【発明の効果】
【００１０】
本願の開示する情報処理装置および入力制御方法の一つの態様によれば、タッチパネルに対する操作に応じた適切な動作を実行することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本願の開示する情報処理装置および入力制御方法の好適な実施の形態を詳細に説明する。
【実施例】
【００１２】
まず、本実施例に係る入力制御方法について説明する。本実施例に係る入力制御方法は、タッチパネルに対して行われた操作の検出結果を分析し、その操作に応じた適切な動作が実行されるように制御を行う。
【００１３】
具体的には、本実施例に係る入力制御方法は、タッチパネルに対する操作に応じた適切な動作が実行されるようにするために、ガード機能を実現する。以下に、ガード機能について説明する。
【００１４】
利用者がタッチパネルに指を置いている場合、利用者が指を動かしているつもりはなくても、タッチパネルの指検出誤差や指の微妙な動きにより、タッチパネルにおいて指の移動が検出されることがある。この意図しない指の動きが、情報処理装置上で稼動するアプリケーションに伝わると、思わぬ誤作動を生じさせることがある。
【００１５】
このような意図しない指の動きの検出による誤作動を防止するために、本実施例に係る入力制御方法では、今回検出された指の位置に関する情報が、アプリケーション等に前回通知された指の位置に関する情報と比較される。そして、指の位置の座標値の差が予め決められたガード値の範囲内であれば、今回検出された指の位置に関する情報は、アプリケーション等に通知されることなく廃棄される。
【００１６】
このように、アプリケーション等に前回通知した指の位置と近い範囲での指の移動に関する情報を廃棄することにより、意図しない指の動きがアプリケーション等に通知されなくなり、誤作動の発生が抑制される。
【００１７】
ここで、
解像度：８６４×４８０ピクセル
対角のサイズ：３．２インチ
指の動きに関する情報を出力する間隔：３３ｍｓ
という仕様のタッチパネル上で、利用者が標準的な速度でドラッグ動作を行った場合を例にして、ガード値の好ましい大きさについて説明する。
【００１８】
ガード値を横：５０ピクセル、縦：３０ピクセルとした場合、図５−１に示すように、ドラック動作の開始後、指の動きを示す情報が、ガード機能によって４個分連続して廃棄されてしまう。このように指の動きを示す情報が数多く廃棄されると、指の動きに対するアプリケーション等の追随性が悪くなる。
【００１９】
一方、ガード値を縦：２５ピクセル、横：１５ピクセルと半分にした場合、図５−２に示すように、ドラック動作の開始後、指の動きを示す情報がガード機能によって廃棄される回数が、大きく減って１回となっている。この程度の廃棄であれば、指の動きに対するアプリケーション等の追随性が悪いと利用者に知覚されることはない。
【００２０】
ガード値をさらに小さくすることにより、指の動きに対するアプリケーション等の追随をさらに改善することもできるが、その場合、意図しない指の動きの検知に起因する誤作動を防止するというガード機能の目的が達成されなくなる。したがって、上記の仕様のタッチパネルの場合、ガード値を縦：２５ピクセル、横：１５ピクセル程度に設定することが好ましい。
【００２１】
このように、ガード値は、意図しない指の動きの検知による誤作動を防止するというガード機能の目的を達成でき、かつ、ドラッグ操作に関して利用者が違和感を覚えない程度の値に設定される。
【００２２】
なお、通常時は、ガード値を大きめに設定しておき、ドラッグ操作の開始が判明してから、指がタッチパネルから離れてドラッグ操作が終了するまで、ガード値を小さくすることとしてもよい。このような制御を行えば、意図しない指の動きの検知に起因する誤作動を確実に防止しつつ、ドラッグ操作に対するアプリケーション等の追随性の劣化をほぼ完全に解消することができる。
【００２３】
また、本実施例に係る入力制御方法は、上記のガード機能に関する制御に加えて、ダブルタップの検出漏れを解消するための制御を含む。ダブルタップは、利用者が所定の期間内にタッチパネルを連続してタップした場合に認識される操作であるが、タップの際に、指がわずかに滑る等して、タップ以外に指の動きがタッチパネルに検出されることがある。このように２つのタップの間に指の動き等の別の事象が検出されると、タップが連続して検出されないために、利用者の操作がダブルタップとして認識されないことがある。
【００２４】
この問題は、上記のガード機能を利用して解消することもできる。すなわち、ガード機能によって、タップ後に検出された指の動きを無視することができれば、利用者の操作は、ダブルタップとして正しく認識されるようになる。しかし、タップ時は指に勢いが加わっているため、タップ動作時に検出される指の移動量は、利用者がタッチパネル上に静止させているときの指の移動量よりも大きくなる。したがって、タップ動作時の指の動きをガード機能によって無視してダブルタップの認識率を向上させるには、ガード値を大きく設定する必要があり、上述したようにドラッグ操作に対するアプリケーション等の追随性が劣化する。
【００２５】
そこで、本実施例に係る入力制御方法では、タップが検出された後、検出された指の動きを所定の期間だけ廃棄する。タップ時に指が滑ったとしても、指の動きが検出される時間は短い。そのため、タップが検出された後、検出された指の動きを所定の期間だけ廃棄することにより、ダブルタップ操作がなされた場合に、２つのタップの間に何も検出されなかったこととなり、ダブルタップが正しく認識されるようになる。
【００２６】
なお、タップ検出後に指の動きの検出結果を廃棄する期間は、タップ時に滑った指の動きが認識されることがなく、かつ、ドラッグ動作の初動が鈍く感じられる程度が小さくて済む期間に設定することが好ましい。検証したところ、タップ時に指の動きが検出される期間は、最大で１００ｍｓ程度であったため、タップ検出後に指の動きの検出結果を廃棄する期間は、１００ｍｓ程度であることが好ましい。
【００２７】
また、上記の仕様のタッチパネルのように、指が置かれている場合に指の動きに関する情報を一定の間隔で出力するタッチパネルの場合は、タップが検出された後、検出された指の動きを所定の回数だけ廃棄することとしてもよい。例えば、上記の仕様のタッチパネルのように、指が置かれている場合に指の動きに関する情報を３３ｍｓ間隔で出力する場合は、検出された指の動きを３回だけ廃棄すれば、１００ｍｓの期間だけ廃棄した場合と同じ効果が得られる。
【００２８】
次に、本実施例に係る入力制御方法を実行する装置の構成について、携帯電話機を例にして説明する。図１は、本実施例に係る携帯電話機Ｃの構成を示す図である。図１（Ａ）において、１はタッチパネル、２は操作キーを示す。
【００２９】
携帯電話機Ｃは、上部筐体と下部筐体からなる折りたたみ型で、ヒンジ部３を折り曲げることにより、図１（Ｂ）のような形状となる。ヒンジ部３は、回転可能に構成されており、折り曲げ時に、タッチパネル１を内側に向けることも、外側に向けることもできる。タッチパネル１を外側にして折りたたまれた場合、携帯電話機Ｃは、折りたたまれた形状のままで、タッチパネル１を介して各種操作を受け付け、受け付けた操作に対応する処理を実行する。
【００３０】
図２は、携帯電話機Ｃのタッチパネル１関連の機能構成を示すブロック図である。１はタッチパネル、４はタッチパネルドライバ、５はＯＳ（Operating System）、６はフレームワーク、７はアプリケーションを示す。タッチパネルドライバ４は、タッチパネル１で検出された指に関するイベントを基に、指の動作を判断して、様々な種類のイベントをＯＳ５へ通知する。
【００３１】
タッチパネル１において検出されるイベントには、座標イベント、指ありイベント／指なしイベント等の種類が含まれる。座標イベントは、タッチパネル１上における指の位置を示すイベントである。指ありイベント／指なしイベントは、タッチパネル１に指が触れたこと、もしくは、指が離れたことを示すイベントである。
【００３２】
これらのイベントに基づいて、タッチパネルドライバ４がＯＳ５へ通知するイベントには、座標イベント、タップＤＯＷＮ、タップＵＰイベント等の種類が含まれる。座標イベントは、タッチパネル１上における指の位置を示すイベントである。タップＤＯＷＮイベントは、タッチパネル１に指が触れたことと指が置かれた位置を示すイベントである。タップＵＰイベントは、タッチパネル１から指が離れたことを示すイベントである。
【００３３】
タッチパネルドライバ４は、利用者が意図しない誤作動が発生するのを防止するために、本実施例に係る入力制御方法を実行する。すなわち、タッチパネルドライバ４は、ＯＳ５へタッチＤＯＷＮイベントを通知した後、ガード値内の範囲で指の移動が検出されても、指の位置を座標イベントとして通知しない。また、タッチパネルドライバ４は、タッチパネル１に指が触れたことを示すタップＤＯＷＮイベントを通知した後、タッチパネル１から通知される座標イベントを所定の回数だけ廃棄する。
【００３４】
ＯＳ５は、タッチパネルドライバ４から通知される座標イベントやタップＤＯＷＮイベント等を分析し、利用者が行った操作を判定して判定結果をフレームワーク６へ通知する。具体的には、ＯＳ５は、利用者が行った操作が、シングルタップであるのか、ダブルタップであるのか、ドラッグであるのか等を判定し、判定結果に応じたイベントをフレームワーク６へ通知する。
【００３５】
フレームワーク６は、ＯＳ５から通知されたイベントを、アプリケーション７へ通知する。アプリケーション７は、フレームワーク６から通知されたイベントに基づいて各種処理を実行する。
【００３６】
図３は、図２に示したタッチパネルドライバ４で実行される処理のフローチャートである。タッチパネルドライバ４は、タッチパネル１からイベントを受信する（ステップＳ１）。そして、タッチパネルドライバ４は、タッチパネル１から受信したイベント毎に処理を振り分ける（ステップＳ２）。
【００３７】
ステップＳ１で受信したイベントが指ありイベントであれば、タッチパネルドライバ４は、ＯＳ５に対して、指がタッチパネル１に置かれたこととその位置を示す座標をタップＤＯＷＮイベントで通知する（ステップＳ３）。そして、タッチパネルドライバ４は、ＯＳ５に通知した座標を記憶し（ステップＳ４）、座標カウンタを０にクリアし（ステップＳ５）、当該のイベントに関する処理を終了する。
【００３８】
ステップＳ１で受信したイベントが座標イベントであれば、タッチパネルドライバ４は、座標カウンタに１を加算する（ステップＳ６）。ここで、座標カウンタの値が閾値である３より小さければ（ステップＳ７否定）、タッチパネルドライバ４は、当該のイベントに関する処理を終了する。
【００３９】
なお、ここで閾値を３としているのは、一例であり、タップ時に滑った指の動きが認識されることがなく、かつ、ドラッグ動作の初動が鈍く感じられる程度が小さくて済む値であればどのような値でもよい。また、回数を閾値とする代わりに、時間を閾値としてもよい。この場合、ステップＳ５では、座標カウンタを０にクリアする処理ではなく、タイマをリセットする処理を実行する。
【００４０】
ステップＳ６で、座標カウンタの値が閾値である３以上となった場合は（ステップＳ７肯定）、タッチパネルドライバ４は、ＯＳ５へ前回通知した座標と、今回通知された座標の差分を算出する（ステップＳ８）。そして、座標の差分がガード値よりも大きければ（ステップＳ９肯定）、タッチパネルドライバ４は、ＯＳ５に対して、指の位置を示す座標を座標イベントで通知する（ステップＳ１０）。そして、タッチパネルドライバ４は、ＯＳ５に通知した座標を記憶し（ステップＳ１１）、当該のイベントに関する処理を終了する。
【００４１】
ステップＳ８で算出した座標の差分がガード値よりも小さければ（ステップＳ９否定）、タッチパネルドライバ４は、当該のイベントに関する処理を終了する。
【００４２】
ステップＳ１で受信したイベントが指なしイベントであれば、タッチパネルドライバ４は、ＯＳ５に対して、指がタッチパネル１から離れたことを示す座標をタップＵＰイベントで通知する（ステップＳ１２）。そして、タッチパネルドライバ４は、当該のイベントに関する処理を終了する。
【００４３】
次に、本実施例に係る入力制御方法の効果について具体例を示して説明する。図４−１は、従来の入力制御の具体例を示す図である。図４−１に示す例では、利用者がダブルタップの操作をした場合に、タップＤＯＷＮイベントに続けて座標イベントがタッチパネルドライバ４からＯＳ５へ通知されている。この座標イベントにより、ＯＳ５では、ダブルタップの検出処理が途中でキャンセルされ、ダブルタップの検出が失敗に終わっている。
【００４４】
図４−２は、本実施例に係る入力制御の具体例を示す図である。図４−２に示す例では、利用者がダブルタップの操作をした場合に、タッチパネル１において指ありイベントに続いて検出された座標イベントが、タッチパネルドライバ４において廃棄されている。このため、ＯＳ５へは、タップＤＯＷＮイベントとタップＵＰイベントのみが続けて通知され、ＯＳ５におけるダブルタップの認識が成功している。
【００４５】
上述してきたように、本実施例では、ガード機能や、タップ検出後に所定期間（所定回数）だけ座標イベントを廃棄することにより、誤差動の原因となるイベントを上位に通知しないこととしたので、タッチパネルに対する操作に応じた適切な動作を実行することができる。
【図面の簡単な説明】
【００４６】
【図１】本実施例に係る携帯電話機の構成を示す図である。
【図２】携帯電話機のタッチパネル関連の機能構成を示すブロック図である。
【図３】図２に示したタッチパネルドライバで実行される処理のフローチャートである。
【図４−１】従来の入力制御の具体例を示す図である。
【図４−２】本実施例に係る入力制御の具体例を示す図である。
【図５−１】ガード値を横：５０ピクセル、縦：３０ピクセルとした場合の動作の一例を示す図である。
【図５−２】ガード値を横：２５ピクセル、縦：１５ピクセルとした場合の動作の一例を示す図である。
【符号の説明】
【００４７】
１    タッチパネル
２    操作キー
３    ヒンジ部
４    タッチパネルドライバ
５    ＯＳ
６    フレームワーク
７    アプリケーション
【図１】
2010108103.tif 000003
【図２】
2010108103.tif 000004
【図３】
2010108103.tif 000005
【図４−１】
2010108103.tif 000006
【図４−２】
2010108103.tif 000007
【図５−１】
2010108103.tif 000008
【図５−２】
2010108103.tif 000009