以下、本発明に係るスクロール装置、スクロール方法及びプログラムの各実施形態について、図面を参照して説明する。本実施形態のスクロール装置は、データを画面に表示する表示部を含む電子機器であり、例えば携帯電話機、スマートフォン、タブレット端末、デジタルスチルカメラ、PDA(personal digital assistant)又は電子書籍端末である。以下、各実施形態のスクロール装置の一例として、携帯端末(例えばスマートフォン)を用いて説明する。
なお、本発明は、装置としてのスクロール装置、又はスクロール装置をコンピュータとして動作させるためのプログラムとして表現することも可能である。更に、本発明は、スクロール装置により実行される各動作(ステップ)を有するスクロール方法として表現することも可能である。即ち、本発明は、装置、方法及びプログラムのうちいずれのカテゴリーにおいても表現可能である。
(各実施形態に必要な用語の説明)
以下の説明において、タッチパネルに近接又は接触する物体(指示媒体)の一例としてユーザの指(例えば人差し指)を用いて説明するが、指に限らず、導電性のスタイラスでも良い。タッチパネルに近接又は接触する物体(指示媒体)は、タッチパネルの構造及び検知方式に応じて、タッチパネルへの近接及び接触が検出可能なものであれば限定されない。
また、タッチパネルの水平面を表す2軸をx軸及びy軸とし、タッチパネルの水平面に対する鉛直軸の方向、即ち物体の高さ方向を表す軸をz軸とする。
以下の説明において、「接触座標」は、タッチパネルが指の接触を検知した時のタッチパネルの水平面上の位置を特定するための座標(x、y)を示し、「近接座標」は、タッチパネルが指の近接を検知した時の空間上の近接検知可能領域内の位置を特定するための座標(x、y、z)を示す。近接座標のz座標値は、タッチパネルの水平面から指が空間上に離間している高さを表す。
以下の説明において、タッチパネルの面上から離間する方向に向かって空間上の所定の近接検知可能領域内の位置に指をかざす操作を「ホバー操作」と定義する。特に、ホバー操作の一例であって、ホバー操作によってかざされた空間上の位置からタッチパネルの面に対して略平行にスライド(移動)する操作を、「ホバースライド操作」と定義し、更に、指を動かさずに近接検知可能領域内の位置に指をかざし続ける操作を「ホバーホールド操作」と定義する。
また、指がタッチパネルの面上に直接接触する操作は「ホバー操作」ではなく、「タッチ操作」となる。タッチ操作の一例であって、指をタッチパネルの面上に接触させた状態においてスライド(移動)する操作を、「タッチスライド操作」と定義する。
更に、タッチ操作の一例であって、指がタッチパネルの水平面上をタッチ操作して素早く払う又は弾く操作を、「フリック操作」又は「タッチフリック操作」と定義する。一方、ホバー操作の一例であって、フリック操作のように、タッチパネルの面上から離間した空間上の所定の近接検知可能領域内において指を素早く払う又は弾く操作を、「ホバーフリック操作」と定義する。以下、「タッチフリック操作」と「ホバーフリック操作」とを区別して記載する。
なお、ホバー操作が検知されるための所定の近接検知可能領域、即ち指とタッチパネルの面上との距離は、タッチパネルが検出する静電容量に反比例するので、タッチパネルが検出可能な静電容量の範囲に対応する値であることが好ましい。
また、指がタッチパネルの近接検知可能領域内に進入すると、タッチパネルは、指が近接したことを検知する。このように、タッチパネルの近接検知可能領域外の高さから近接検知可能領域内の高さに指をかざすように、指の近接状態が検知され始めるための操作を「ホバーイン」と定義し、タッチパネルから離間して近接検知可能領域内から近接検知可能領域外に指を移動するように、指の近接状態が検知されなくなるための操作を「ホバーアウト」と定義する。
また、スクロールを開始するための初期操作(例えばタッチフリック操作)の実行時の速度、即ちスクロール初速度をピークとして、初期操作時からの経過時間に伴ってスクロール速度が徐々に低下して最終的にゼロになるというスクロールを、「慣性スクロール」と定義する。
(第1の実施形態)
第1の実施形態では、携帯端末100は、指の接触操作(例えばタッチフリック操作)に応じて慣性スクロールを開始した後、指のホバー操作(例えばホバーホールド操作)が検知されている間では、慣性スクロールを中断して慣性スクロールのスクロール速度の時間変化量(後述参照)をゼロに変更することで、指のホバー操作が検知された時のスクロール速度とスクロール方向とを維持した状態でスクロールを実行する。
(第1の実施形態の携帯端末100の機能的構成)
先ず、第1の実施形態の携帯端末100の機能的構成について、図1を参照して説明する。図1は、第1の実施形態の携帯端末100の機能的構成を示すブロック図である。図1に示す携帯端末100は、近接検知部5、接触検知部10、近接座標評価部15、接触座標評価部20、近接状態管理部25、接触操作判定部30、アプリケーション50、表示画面データ生成部60及び表示部70を含む。スクロール制御部としてのアプリケーション50は、状態変化制御部53及び変化量調整部56を含む。
近接検知部5は、予め定められた周期で、携帯端末100のユーザの指FGがタッチパネルTPに近接しているか否かを検知する。近接検知部5は、例えば指FGがホバー操作(ホバースライド操作、ホバーホールド操作、ホバーフリック操作も含む)した場合に、指FGがタッチパネルTPに近接したことを検知する。近接検知部5は、指FGがタッチパネルTPに近接した旨の近接検知信号を近接座標評価部15に出力する。
接触検知部10は、予め定められた周期で、携帯端末100のユーザの指FGがタッチパネルTPに接触したか否かを検知する。接触検知部10は、例えば指FGがタッチ操作(タッチスライド操作、タッチフリック操作も含む)した場合に、指FGがタッチパネルTPに接触したことを検知する。接触検知部10は、指FGがタッチパネルTPに接触した旨の接触検知信号を接触座標評価部20に出力する。
なお、近接検知部5と接触検知部10とはタッチパネルTPを用いて構成可能であり、図1では近接検知部5と接触検知部10とは別々の構成としているが、両者をタッチパネルTPとして一纏めに構成しても良い。
近接座標評価部15は、近接検知部5が出力した近接検知信号を基に、指FGのタッチパネルTPに対する近接座標(x、y、z)を算出して近接状態管理部25に出力する。近接座標(x、y、z)のうち、x成分及びy成分はタッチパネルTPの面上の位置を表す座標値であって、z成分は指FGとタッチパネルTPとの間のz軸方向の距離、即ち、指FGのタッチパネルTPに対する高さを表す座標値である。
接触座標評価部20は、接触検知部10が出力した接触検知信号を基に、指FGがタッチパネルTPに接触した接触座標(x、y)を算出して接触操作判定部30に出力する。
近接状態管理部25は、近接座標評価部15が出力した近接座標(x、y、z)を基に、指FGがタッチパネルTPに対して近接しているか否かを表す近接状態を管理している。例えば、近接状態管理部25は、指FGがタッチパネルTPの近接検知可能領域外の位置から近接検知可能領域内の位置に移動したことで、指FGがホバーインしたことを検知する。また、近接状態管理部25は、指FGがタッチパネルTPの近接検知可能領域内の位置から近接検知可能領域外の位置に移動したことで、指FGがホバーアウトしたことを検知する。近接状態管理部25は、指FGがタッチパネルTPに対して近接しているか否かを表す近接状態をアプリケーション50に通知する。
接触操作判定部30は、接触座標評価部20が出力した接触座標(x、y)を基に、指FGがタッチパネルTPに行ったタッチ操作の種別を判定する。ここで、接触操作判定部30が判定するタッチ操作の種別は、例えば、タッチ操作、タッチスライド操作、タッチフリック操作であるが、これらの操作に限定されない。接触操作判定部30は、判定したタッチ操作の種別、即ちいずれかのタッチ操作が行われたことをアプリケーション50に通知する。
また、接触操作判定部30は、例えば指FGがタッチフリック操作した場合に、接触座標評価部20が出力した接触座標(x、y)を基に、タッチフリック操作において指FGがタッチパネルTPの面上を払う又は弾く時の指FGの移動速度を算出してアプリケーション50に通知する。
なお、接触操作判定部30は、近接座標評価部15が算出した近接座標(x、y、z)と接触座標評価部20が算出した接触座標(x、y)との両方を用いて、タッチフリック操作における指FGの移動速度を算出しても良い。これにより、接触操作判定部30は、タッチフリック操作において指FGがタッチパネルTPの面上を払う又は弾く時の指FGの移動速度を高精度に算出できる。
アプリケーション50は、携帯端末100に予めインストールされているアプリケーションプログラムである。各実施形態におけるアプリケーション50の内容は特に限定されない。例えば、アプリケーション50は、ユーザの入力操作に応じて、該当する地図コンテンツを表示部70に表示させる地図アプリケーションである。
状態変化制御部53は、接触操作判定部30が判定したタッチ操作の種別がタッチフリック操作である場合に、指FGがタッチパネルTPの面上を払う又は弾く時の移動速度に応じて、慣性スクロールのスクロール初速度を算出する。状態変化制御部53は、スクロール初速度と慣性スクロールにおけるスクロール速度の時間変化量の初期値(例えば加速度。以下同様)とを用いて経時変化するスクロール速度の特性を決定し、決定したスクロール速度に応じた慣性スクロールを実行する。
なお、スクロール速度の時間変化量の一例である加速度(<0)は、状態変化制御部53において既知であり、慣性スクロールのスクロール速度を経過時間に応じて低減するための摩擦係数に対応する。更に、スクロール速度の時間変化量は、タッチフリック操作が行われた時点からの経過時間に拘わらず固定の初期値でも良いし、経過時間と共に初期値から減少しても良い。
状態変化制御部53は、算出したスクロール初速度とスクロール速度の時間変化量とに応じて、表示部70の画面に表示されている地図コンテンツの慣性スクロールを開始する(図2(B)参照)。従って、慣性スクロールが継続すると、タッチフリック操作が行われた時点のスクロール初速度をピークとして、タッチフリック操作が行われた時点からの経過時間に応じて、スクロール速度が徐々に低減して最終的に慣性スクロールが停止する(図3に示すスクロール曲線C0参照)。
変化量調整部56は、指FGがホバーインしたことが近接状態管理部25により検知されると、スクロール速度の時間変化量をゼロとするように状態変化制御部53に指示する。状態変化制御部53は、変化量調整部56からの指示に応じて、スクロール速度の時間変化量をゼロに変更する。これにより、状態変化制御部53は、慣性スクロールを中断し、指FGのホバーインが検知された時における慣性スクロールのスクロール速度及びスクロール方向を維持した状態で、スクロールを実行する。
また、変化量調整部56は、指FGがホバーアウトしたことが近接状態管理部25により検知されると、スクロール速度の時間変化量を元の値に変更するように状態変化制御部53に指示する。ここで、元の値とは、近接状態管理部25が指FGのホバーインを検知した時における慣性スクロールのスクロール速度の時間変化量の値である。状態変化制御部53は、変化量調整部56からの指示に応じて、スクロール速度の時間変化量を元の値に変更する。これにより、状態変化制御部53は、指FGのホバーインが検知された時におけるスクロール速度に応じた慣性スクロールを再開できる。
表示制御部としての表示画面データ生成部60は、アプリケーション50のスクロール前又はスクロール後における表示画面データを生成して表示部70の画面に表示させる。なお、図1では、表示画面データ生成部60は、アプリケーション50とは別の構成としているが、アプリケーション50の中に含む構成でも良い。
表示部70は、画面にデータを表示する機能を有し、表示画面データ生成部60が出力した表示画面データを画面に表示する。表示画面データは、アプリケーション50において表示部70の画面に表示されるデータである。
(第1の実施形態の動作概要)
次に、本実施形態の携帯端末100の動作概要を、図2を参照して説明する。図2(A)〜(D)は、第1の実施形態の携帯端末100の動作概要を示す模式図である。
図2(A)は、表示部70の画面にアプリケーション50の地図コンテンツが表示された様子を示す。タッチパネルTPは、表示部70の画面に対応して搭載されている。例えば指FGがタッチパネルTPの右上方向に向かってタッチフリック操作すると、携帯端末100は、タッチフリック操作において指FGが移動した方向に、地図コンテンツの慣性スクロールを開始する(図2(B)参照)。図2(B)は、携帯端末100が指FGのタッチフリック操作と同じ方向に慣性スクロールを開始した時の様子を示す。
携帯端末100は、指FGがタッチフリック操作後にタッチパネルTPに対してホバー操作したことによって、指FGがホバーインした状態を検知すると、慣性スクロールにおけるスクロール速度の時間変化量をゼロに変更して慣性スクロールを中断する。更に、携帯端末100は、指FGのホバーインが検知された時のスクロール速度及びスクロール方向を一定に保持した状態でスクロールを実行する(図2(C)参照)。図2(C)は、指FGがタッチパネルTPに対してホバー操作したことによって、携帯端末100がスクロール速度及びスクロール方向を一定に保持した状態でスクロールを実行している様子を示す。これにより、指FGがホバーホールド操作を続けている間は、携帯端末100は、指FGのホバーインが検知された時のスクロール速度及びスクロール方向を維持でき、スクロールのための繰り返し操作を必要とせず、地図コンテンツのスクロールを素早く実行できる。
携帯端末100は、ホバーホールド操作していた指FGがタッチパネルTPの近接検知可能領域の位置から離れることによって、指FGのホバーアウトを検知すると、慣性スクロールにおけるスクロール速度の時間変化量を元の値に変更して慣性スクロールを再開する(図2(D)参照)。図2(D)は、指FGがタッチパネルTPの近接検知可能領域の位置から離れたことによってホバーアウトが検知された時の様子を示す。
(第1の実施形態の携帯端末100の動作)
次に、本実施形態の携帯端末100の動作について、図3及び図4を参照して説明する。図3は、第1の実施形態におけるスクロール速度の経時変化を示すグラフである。図4は、第1の実施形態の携帯端末100の動作を説明するフローチャートである。図3において、時刻t0はタッチフリック操作が行われた時刻、時刻t1及び時刻t3はホバーアウトの状態が検知された時刻、時刻t2は指FGがホバーインした状態が検知された時刻である。
図3では、3個のスクロール曲線C0,C1,C2が図示されている。スクロール曲線C0は、従来の慣性スクロールに対応したスクロール曲線である。即ち、時刻t0におけるスクロール初速度v0をピークとし、時刻t0からの経過時間に伴ってスクロール速度vが徐々に低減して最終的にゼロになり慣性スクロールが停止する。
スクロール曲線C1は、時刻t0においてタッチフリック操作とホバーインとが同時に検知された場合のスクロール曲線である。スクロール曲線C1では、時刻t0においてタッチフリック操作とホバーインとが同時に検知されているので、時刻t0から時刻t1までは慣性スクロールが中断されて等速度のスクロールが実行される。このため、スクロール初速度v0と同じスクロール速度vが維持される。また、時刻t1においてホバーアウトが検知されているので、時刻t1以降は等速度のスクロールが終了して慣性スクロールが再開されるので、スクロール曲線C0と同様にスクロール速度vは徐々に低減して最終的にゼロになり慣性スクロールが停止する。
スクロール曲線C2は、時刻t0においてタッチフリック操作が検知され、時刻t2においてホバーインが検知された場合のスクロール曲線である。スクロール曲線C2では、時刻t2においてホバーインが検知されているので、時刻t2における慣性スクロールのスクロール速度v1と同じスクロール速度vが時刻t2から時刻t3まで維持される。また、時刻t3においてホバーアウトが検知されているので、時刻t3以降は等速度のスクロールが終了して慣性スクロールが再開されるので、スクロール曲線C0と同様にスクロール速度vは徐々に低減して最終的にゼロになり慣性スクロールが停止する。
図4において、接触操作判定部30は、接触座標評価部20が出力した接触座標(x、y)を基に、指FGがタッチパネルTPに行ったタッチ操作の種別を判定する(S11)。接触操作判定部30は、タッチ操作の種別がタッチフリック操作であると判定した場合には(S11、YES)、判定したタッチ操作の種別、即ちいずれかのタッチ操作が行われたことをアプリケーション50に通知する。
また、接触操作判定部30は、例えば指FGがタッチフリック操作した場合に、接触座標評価部20が出力した接触座標(x、y)を基に、タッチフリック操作において指FGがタッチパネルTPの面上を払う又は弾く時の指FGの移動速度を算出してアプリケーション50に通知する。
状態変化制御部53は、接触操作判定部30が出力した指FGの移動速度に応じて、慣性スクロールのスクロール初速度を算出する。状態変化制御部53は、スクロール初速度と慣性スクロールにおけるスクロール速度の時間変化量の初期値とを用いて経時変化するスクロール速度の特性を決定し、決定したスクロール速度に応じた慣性スクロールを実行する(S12)。
近接状態管理部25は、近接座標評価部15が出力した近接座標(x、y、z)を基に、指FGがタッチパネルTPに対して近接しているか否かを検知する(S13)。近接状態管理部25は、指FGがホバーインしたことを検知した場合には(S13、YES)、指FGがホバーインしたことをアプリケーション50に通知する。
変化量調整部56は、近接状態管理部25からの通知に応じて、スクロール速度の時間変化量をゼロとするように状態変化制御部53に指示する。状態変化制御部53は、変化量調整部56からの指示に応じて、スクロール速度の時間変化量をゼロに変更する(S14)。これにより、状態変化制御部53は、慣性スクロールを中断し、指FGのホバーインが検知された時における慣性スクロールのスクロール速度及びスクロール方向を維持した状態で、スクロールを実行する(S12)。
一方、近接状態管理部25は、指FGがホバーアウトしたことを検知した場合には(S13、NO)、指FGがホバーアウトしたことをアプリケーション50に通知する。変化量調整部56は、近接状態管理部25からの通知に応じて、スクロール速度の時間変化量を元の値に変更するように状態変化制御部53に指示する。状態変化制御部53は、変化量調整部56からの指示に応じて、スクロール速度の時間変化量を元の値に変更する。これにより、状態変化制御部53は、指FGのホバーインが検知した時におけるスクロール速度に応じた慣性スクロールを再開する(S15)。従って、スクロール速度は、指FGのホバーインが検知された時のスクロール速度から、経過時間と共に徐々に低減していく。
状態変化制御部53は、スクロール速度がゼロより大きいか否かを判定する(S16)。状態変化制御部53は、スクロール速度がゼロより大きいと判定した場合には(S16、YES)、現在のスクロール速度に応じたスクロールを継続する(S12)。一方、状態変化制御部53は、スクロール速度がゼロ以下、即ちゼロであると判定した場合には(S16、NO)、携帯端末100におけるスクロールは終了する。
以上により、本実施形態の携帯端末100は、指FGのタッチフリック操作に応じて慣性スクロールを開始した後、指FGがホバーインしたことを検知すると、慣性スクロールを中断し、近接状態管理部25が指FGのホバーインを検知した時における慣性スクロールのスクロール速度及びスクロール方向を維持した状態で、スクロールを実行する。
これにより、本実施形態の携帯端末100は、指FGが例えばホバーホールド操作を続けている間は、指FGのホバーインが検知された時のスクロール速度及びスクロール方向を維持でき、地図コンテンツのスクロールを素早く実行できる。即ち、携帯端末100は、慣性スクロールを複数回行うための繰り返し操作を必要とせずに、大きな表示サイズを有するコンテンツのスクロールを簡易に実行できる。
なお、図3及び図4には図示していないが、本実施形態の携帯端末100は、指FGのホバーアウトを検知した後にホバーインを再検知した場合には、指FGのホバーインが再検知された時における慣性スクロールのスクロール速度及びスクロール方向を維持した状態で、スクロールを実行しても良い。
また、本実施形態の携帯端末100は、指FGがホバーホールド操作している状態において更にホバーフリック操作を検知した場合には、ホバーフリック操作における指FGの移動速度に応じて、指FGのホバーインが検知された時の等速のスクロール速度を更に増加した上で、等速のスクロールを実行しても良い。これにより、携帯端末100は、ホバーインが検知された時のスクロール速度がユーザにとって好ましくない場合でも、ユーザのホバーフリック操作に応じて、適切なスクロール速度に応じたスクロールを実行できる。
(第2の実施形態)
第2の実施形態では、携帯端末200は、指の接触操作(例えばタッチフリック操作)に応じて慣性スクロールを開始した後、指のホバー操作が検知されている間では、慣性スクロールを中断してスクロール速度が所定の収束速度(後述参照)になるまでスクロール速度を徐々に低減していき、スクロール速度が収束速度になった後はスクロール速度を一定に維持した状態でスクロールを実行する。
(第2の実施形態の携帯端末200の機能的構成)
第2の実施形態の携帯端末200の機能的構成について、図5を参照して説明する。図5は、第2の実施形態の携帯端末200の機能的構成を示すブロック図である。図5に示す携帯端末200は、近接検知部5、接触検知部10、近接座標評価部15、接触座標評価部20、近接状態管理部25、接触操作判定部30、アプリケーション50A、表示画面データ生成部60及び表示部70を含む。スクロール制御部としてのアプリケーション50Aは、状態変化制御部53A、変化量調整部56A及び一時速度保持部59を含む。図5に示す携帯端末200の各部の説明では、図1に示す携帯端末100と同一の構成には同一又は同様の符号を用いて説明を省略又は簡略化し、異なる内容について説明する。
状態変化制御部53Aは、慣性スクロールのスクロール初速度を基にして、収束速度を算出して一時速度保持部59に保存する。ここで、収束速度とは、指FGのホバーインが検知された後のスクロールにおけるスクロール速度の下限値であり、以下の各実施形態でも同様である。収束速度は、慣性スクロールにおけるスクロール初速度に応じて定められた値でも良いし、慣性スクロールにおけるスクロール初速度に拘わらない固定値でも良い。以下の各実施形態では、収束速度は、例えば状態変化制御部53Aが慣性スクロールにおけるスクロール初速度に応じて算出した値(例えばスクロール初速度の1/2の値)であるとして説明する。
変化量調整部56Aは、指FGがホバーインしたことが検知されると、スクロール速度を一時速度保持部59に保存された収束速度に収束するように、スクロール速度の時間変化量の変更を状態変化制御部53Aに指示する。状態変化制御部53Aは、変化量調整部56Aからの指示に応じて、スクロール速度の時間変化量を変更する。これにより、状態変化制御部53Aは、慣性スクロールを中断し、スクロール速度を収束速度に収束させるようにスクロールを実行する。従って、本実施形態では、携帯端末200は、指FGがホバーインしたことが検知されている間では、収束速度未満とならないスクロール速度を維持した状態で、スクロールを実行できる。
(第2の実施形態の携帯端末200の動作)
次に、本実施形態の携帯端末200の動作について、図6及び図7を参照して説明する。図6は、第2の実施形態におけるスクロール速度の経時変化を示すグラフである。図7は、第2の実施形態の携帯端末200の動作を説明するフローチャートである。図6において、時刻t0はタッチフリック操作と同時にホバーインが検知された時刻、時刻t4はスクロール速度vが収束速度v2になった時刻、時刻t5はホバーアウトが検知された時刻である。スクロール曲線C0は、図3に示すスクロール曲線C0と同一のため、説明を省略する。また、図7に示すフローチャートの説明では、図4に示すフローチャートの説明と同一の動作については同一の符号を用いて説明を省略又は簡略化し、異なる内容について説明する。
スクロール曲線C4では、時刻t0においてタッチフリック操作とホバーインとが同時に検知されているため慣性スクロールが中断し、時刻t0から時刻t5まではスクロール速度vが徐々に低減している。また、スクロール速度vが収束速度v2になった時刻t4から時刻t5まではスクロール速度vが収束速度v2に維持されている。更に、時刻t5においてホバーアウトが検知されて慣性スクロールが再開されるので、スクロール速度vは収束速度v2から徐々に低減して最終的にゼロになり慣性スクロールが停止する。
図7において、近接状態管理部25は、指FGがホバーインしたことを検知した場合には(S13、YES)、指FGがホバーインしたことをアプリケーション50に通知する。変化量調整部56Aは、スクロール速度vを一時速度保持部59に保存された収束速度v2に収束するように、スクロール速度vの時間変化量の変更を状態変化制御部53Aに指示する。状態変化制御部53Aは、変化量調整部56Aからの指示に応じて、スクロール速度の時間変化量を変更する。これにより、状態変化制御部53Aは、慣性スクロールを中断し、スクロール速度を収束速度に収束させるようにスクロールを実行する。
状態変化制御部53Aは、現在のスクロール速度vが一時速度保持部59に保存された収束速度v2より大きいか否かを判定する(S21)。状態変化制御部53Aは、現在のスクロール速度vが一時速度保持部59に保存された収束速度v2より大きいと判定した場合には(S21、YES)、スクロール速度vを収束速度v2に収束するように徐々に低減する(S22)。
接触操作判定部30は、ホバー操作(例えばホバーホールド操作)していた指FGがタッチ操作したか否かを判定する(S23)。接触操作判定部30は、ホバー操作していた指FGがタッチ操作したと判定した場合には(S23、YES)、ホバー操作していた指FGがタッチ操作したことをアプリケーション50に通知する。状態変化制御部53Aは、接触操作判定部30からの通知に応じて、スクロール速度vを直ぐに若しくは滑らかにゼロに設定してスクロールを停止する(S24)。なお、ホバー操作していた指FGがタッチ操作していない場合には(S23、NO)、スクロールは停止されずに継続されるので、携帯端末200の動作はステップS12に戻る。
一方、状態変化制御部53Aは、スクロール速度vが収束速度v2に等しいと判定した場合には(S21、NO)、指FGのホバー操作(例えばホバーホールド操作)が検知されている限り、スクロール速度vを収束速度v2に維持した状態でスクロールを実行する(S12)。
なお、指FGがホバーアウトしたことが検知された後に、状態変化制御部53Aは、慣性スクロールにおけるスクロール速度がゼロより大きいと判定した場合には(S16、YES)、現在のスクロール速度に応じたスクロールを継続する(S14A)。
以上により、本実施形態の携帯端末200は、指FGのタッチフリック操作に応じて慣性スクロールを開始した後、指のホバー操作が検知されている間では、慣性スクロールを中断してスクロール速度vが収束速度v2になるまでスクロール速度vを徐々に低減し、スクロール速度vが収束速度v2になった後はスクロール速度vを一定に維持した状態でスクロール速度を実行する。
これにより、本実施形態の携帯端末200は、指FGがホバーインした状態が検知された時の慣性スクロールのスクロール速度がユーザの意図に合わない場合でも、指FGのホバー操作が検知されている間では、スクロール速度vを収束速度v2まで徐々に低減し、収束速度v2を維持したスクロールを実行できるので、例えばユーザがコンテンツを流し読みしたい場合に適切なスクロール速度でスクロールを実行できる。
(第3の実施形態)
第3の実施形態では、携帯端末300は、第2の実施形態の動作に加え、指のホバー操作が一定時間以上検知された場合には、自動スクロール(後述参照)を開始する。携帯端末300は、自動スクロールの間、第2の実施形態と同様に、スクロール速度を収束速度になるまで徐々に低減し、スクロール速度が収束速度になった後はスクロール速度を一定に維持した状態で自動スクロールを実行する。
(第3の実施形態の携帯端末300の機能的構成)
第3の実施形態の携帯端末300の機能的構成について、図8を参照して説明する。図8は、第3の実施形態の携帯端末300の機能的構成を示すブロック図である。図8に示す携帯端末300は、近接検知部5、接触検知部10、近接座標評価部15、接触座標評価部20、近接状態管理部25、接触操作判定部30、アプリケーション50B、表示画面データ生成部60B、表示部70及びタイマ制御部80を含む。スクロール制御部としてのアプリケーション50Bは、状態変化制御部53B、変化量調整部56B及び一時速度保持部59を含む。図8に示す携帯端末300の各部の説明では、図5に示す携帯端末200と同一の構成には同一又は同様の符号を用いて説明を省略又は簡略化し、異なる内容について説明する。
タイマ制御部80は、携帯端末300における時間の計時機能を有し、計時した時間情報をアプリケーション50Bに出力する。
状態変化制御部53Bは、指FGがホバーインしたことが近接状態管理部25により検知された場合には、タイマ制御部80が出力した時間情報を基に、指FGがタッチフリック操作した後に一定時間以上ホバー操作したか否かを判定する。一定時間は、状態変化制御部53Bの動作において予め規定された値でも良いし、適宜変更されても良い。
状態変化制御部53Bは、指FGが一定時間以上ホバー操作したと判定した場合には、慣性スクロールを中断して自動スクロールを開始する。ここで、自動スクロールとは、指FGの近接状態の有無に拘わらず、自動的にスクロール速度vを収束速度v2まで徐々に低減し、スクロール速度vが収束速度v2になった後は収束速度v2を維持した状態でスクロールを実行する動作である。なお、状態変化制御部53Bは、指FGがタッチ操作したことが接触操作判定部30により検知されると、自動スクロールを終了する。
表示制御部としての表示画面データ生成部60Bは、状態変化制御部53Bが自動スクロールを実行している間には、自動スクロールを実行している状態を示す指標(例えばマーク)を表示部70の画面に表示させ、自動スクロールが終了した場合には自動スクロールを実行している状態を示す指標を表示部70の画面から非表示させる。これにより、表示画面データ生成部60Bは、自動スクロールを実行している状態をユーザに認知させることができる。
(第3の実施形態の携帯端末300の動作)
次に、本実施形態の携帯端末300の動作について、図9〜図11を参照して説明する。図9は、第3の実施形態におけるスクロール速度の経時変化を示すグラフである。図10は、第3の実施形態の携帯端末300の動作を説明するフローチャートである。図11は、第3の実施形態の携帯端末300の動作Aの詳細を説明するフローチャートである。図9において、時刻t0はタッチフリック操作とホバーインとが同時に検知された時刻、時刻t4はスクロール速度vが収束速度v2になった時刻、時刻t5はホバーアウトが検知された時刻、時刻t6はタッチフリック操作が行われた時刻t0から一定時間が経過した時刻である。スクロール曲線C0は、図3に示すスクロール曲線C0と同一のため、説明を省略する。また、図10に示すフローチャートの説明では、図7に示すフローチャートの説明と同一の動作については同一の符号を用いて説明を省略又は簡略化し、異なる内容について説明する。
スクロール曲線C5では、時刻t0においてタッチフリック操作とホバーインとが同時に検知されているため慣性スクロールが中断し、第2の実施形態と同様に、時刻t0以降はスクロール速度vがスクロール初速度v0から収束速度v2に収束するように徐々に低減し、時刻t4においてスクロール速度vは収束速度v2になっている。また、時刻t0から一定時間が経過した時刻t6において自動スクロールが開始されるので、時刻t5において指FGがホバーアウトしたことが検知されても、第2の実施形態のように慣性スクロールが再開されることはなく、スクロール速度vは収束速度v2のまま維持される。
なお、スクロール曲線C5では、時刻t0においてタッチフリック操作とホバーインとが同時に検知されている例を示しているが、時刻t0以降の時刻にホバーインが検知された場合には、自動スクロールを開始するための一定時間の起算時刻は、ホバーインが検知された時刻である。
図10において、本実施形態の携帯端末300の動作は、第2の実施形態の携帯端末200の動作のステップS13とステップS21との間に、動作Aが新たに追加されており、その他の図10に示す本実施形態の携帯端末300の動作は図7に示す第2の実施形態の携帯端末200の動作と同一であるため、異なる内容、即ち動作Aについて以下説明する。
図11において、近接状態管理部25は、指FGがホバーインしたことを検知した場合には(S13、YES)、指FGがホバーインしたことをアプリケーション50に通知する。状態変化制御部53Bは、タイマ制御部80が出力した時間情報を基に、指FGがタッチフリック操作した後に一定時間以上ホバー操作したか否かを判定する(S31)。指FGがタッチフリック操作した後に一定時間以上ホバー操作していないと判定された場合には(S31、NO)、携帯端末300の動作はステップS21に進む。
状態変化制御部53Bは、指FGがタッチフリック操作した後に一定時間以上ホバー操作したと判定した場合には(S31、YES)、慣性スクロールを中断して自動スクロールを開始する。更に、状態変化制御部53Bは、自動スクロール中の現在のスクロール速度vが一時速度保持部59に保存された収束速度v2より大きいか否かを判定する(S32)。状態変化制御部53Bは、自動スクロール中の現在のスクロール速度vが一時速度保持部59に保存された収束速度v2より大きいと判定した場合には(S32、YES)、スクロール速度vを収束速度v2に収束するように徐々に低減し(S33)、現在のスクロール速度vに応じた自動スクロールを実行する(S34)。一方、状態変化制御部53Bは、自動スクロール中の現在のスクロール速度vが一時速度保持部59に保存された収束速度v2より大きくない、即ち収束速度v2であると判定した場合には(S32、NO)、スクロール速度vを低減せずに、現在のスクロール速度vに応じた自動スクロールを実行する(S34)。
接触操作判定部30は、ホバー操作(例えばホバーホールド操作)していた指FGがタッチ操作したか否かを判定する(S35)。接触操作判定部30は、ホバー操作していた指FGがタッチ操作したと判定した場合には(S35、YES)、ホバー操作していた指FGがタッチ操作したことをアプリケーション50に通知する。状態変化制御部53Bは、接触操作判定部30からの通知に応じて、自動スクロール中のスクロール速度vを直ぐに若しくは滑らかにゼロに設定して自動スクロールを停止する(S36)。なお、ホバー操作していた指FGがタッチ操作していない場合には(S35、NO)、自動スクロールは停止されずに継続されるので、携帯端末300の動作はステップS32に戻る。
以上により、本実施形態の携帯端末300は、タッチフリック操作後に指FGのホバー操作が一定時間以上検知された場合には、慣性スクロールを中断して自動スクロールを開始する。携帯端末300は、自動スクロールの間、第2の実施形態と同様に、自動スクロール中のスクロール速度vを収束速度v2になるまで徐々に低減していき、スクロール速度vが収束速度v2になった後は、ホバーイン及びホバーアウトの有無に拘わらずにスクロール速度vを一定に維持した状態で自動スクロールを実行する。
これにより、本実施形態の携帯端末300は、指FGがタッチフリック操作後から一定時間の間ホバー操作を行うことで、慣性スクロールを中断して自動スクロールを簡単に開始するので、自動スクロール中においては指FGをホバーアウトさせてもスクロール速度vは自動スクロールが開始した時のスクロール速度に維持されるので、指FGに負担をかけることなく、スクロール速度vを収束速度v2に収束させるように徐々に低減した自動スクロールを実行できる。
(第4の実施形態)
第4の実施形態では、携帯端末300は、第3の実施形態の動作に加え、自動スクロール中に指のホバー操作(例えばホバーホールド操作)が検知された場合には、自動スクロールを一時停止、もしくは現在のスクロール速度よりも遅い所定の一定速度に減速し、指がホバーアウトしたことが検知された場合には、自動スクロールを再開する。
(第4の実施形態の携帯端末300の機能的構成)
第4の実施形態の携帯端末300の機能的構成は、図8に示す携帯端末300の構成と同様であるため、同一の内容の説明は省略又は簡略化し、異なる内容について説明する。
状態変化制御部53Bは、自動スクロール中に、指FGがホバーアウトしていた状態からホバーインした状態が近接状態管理部25により検知されたか否かを判定する。状態変化制御部53Bは、自動スクロール中に、指FGがホバーアウトしていた状態からホバーインした状態が近接状態管理部25により検知された場合には、ホバーインが検知された時の自動スクロールのスクロール速度を一時速度保持部59に保存する。
変化量調整部56Bは、自動スクロール中に、指FGがホバーアウトしていた状態からホバーインした状態が近接状態管理部25により検知された場合には、自動スクロールを一時停止するように状態変化制御部53Bに指示する。状態変化制御部53Bは、変化量調整部56Bからの指示に応じて、自動スクロールを一時停止する。なお、状態変化制御部53Bは、自動スクロールを一時停止する代わりに、自動スクロールのスクロール速度を、現在のスクロール速度よりも遅い一定速度に減速しても良い。以下の説明においても、自動スクロールの一時停止には、現在のスクロール速度よりも遅い一定速度への減速も含まれるものとする。
また、状態変化制御部53Bは、自動スクロールの一時停止中に、指FGがホバーインしていた状態からホバーアウトした状態が近接状態管理部25により検知されたか否かを判定する。状態変化制御部53Bは、自動スクロールの一時停止中に、指FGがホバーインしていた状態からホバーアウトした状態が近接状態管理部25により検知された場合には、現在のスクロール速度(=0)を一時速度保持部59に保存されていたスクロール速度に変更する。
変化量調整部56Bは、自動スクロールの一時停止中に、指FGがホバーインしていた状態からホバーアウトした状態が近接状態管理部25により検知された場合には、自動スクロールを再開するように状態変化制御部53Bに指示する。状態変化制御部53Bは、変化量調整部56Bからの指示に応じて、一時速度保持部59に保存されていたスクロール速度に応じた自動スクロールを再開する。
(第4の実施形態の携帯端末300の動作)
次に、本実施形態の携帯端末300の動作について、図12〜図15を参照して説明する。図12は、第4の実施形態におけるスクロール速度の経時変化を示すグラフである。図13は、第4の実施形態の携帯端末300の動作を説明するフローチャートである。図14は、第4の実施形態の携帯端末300の動作Aの詳細を説明するフローチャートである。図15は、第4の実施形態の携帯端末300の動作Bの詳細を説明するフローチャートである。図12において、時刻t0はタッチフリック操作とホバーインとが同時に検知された時刻、時刻t4はスクロール速度vが収束速度v2になった時刻、時刻t5はホバーアウトが検知された時刻、時刻t6はタッチフリック操作が行われた時刻t0から一定時間が経過した時刻、時刻t7は指FGがホバーアウトしていた状態からホバーインした状態が検知された時刻、時刻t8は指FGがホバーインしていた状態からホバーアウトした状態が検知された時刻である。スクロール曲線C0は、図3に示すスクロール曲線C0と同一のため、説明を省略する。また、図13及び図14に示す各フローチャートの説明では、図10及び図11に示す各フローチャートの説明と同一の動作については同一の符号を用いて説明を省略又は簡略化し、異なる内容について説明する。
スクロール曲線C6では、時刻t0においてタッチフリック操作とホバーインとが同時に検知されているため慣性スクロールが中断し、時刻t0以降は第2の実施形態と同様にスクロール速度vがスクロール初速度v0から収束速度v2に収束するように徐々に低減していき、時刻t4においてスクロール速度vは収束速度v2になっている。また、時刻t0から一定時間が経過した時刻t6において自動スクロールが開始されるので、時刻t5において指FGがホバーアウトしたことが検知されても、第2の実施形態のように慣性スクロールが再開されることはなく、スクロール速度vは収束速度v2のまま維持される。
更に、スクロール曲線C6では、時刻t6以降の自動スクロール中に、時刻t7において指FGがホバーアウトしていた状態からホバーインした状態が検知されると、自動スクロールは一時停止し、スクロール速度は0となる。時刻t8において指FGがホバーインしていた状態からホバーアウトした状態が検知されると、自動スクロールは再開する。再開直後の自動スクロールのスクロール速度は、時刻t7の直前における自動スクロールのスクロール速度である。
なお、スクロール曲線C6では、時刻t0においてタッチフリック操作とホバーインとが同時に検知されている例を示しているが、時刻t0以降の時刻にホバーインが検知された場合には、自動スクロールを開始するための一定時間の起算時刻は、指FGがホバーインした状態が検知された時刻である。
図14において、本実施形態の携帯端末300の動作は、第3の実施形態の携帯端末300の動作のステップS34とステップS35との間に、動作Bが新たに追加されており、その他の図13及び図14に示す本実施形態の携帯端末300の動作は図10及び図11に示す第3の実施形態の携帯端末300の動作と同一であるため、異なる内容、即ち動作Bについて以下説明する。
図15において、状態変化制御部53Bは、ステップS34において自動スクロールを実行している場合に、指FGがホバーアウトしていた状態からホバーインした状態が近接状態管理部25により検知されたか否かを判定する(S41)。状態変化制御部53Bは、自動スクロール中に、指FGがホバーアウトしていた状態からホバーインした状態が近接状態管理部25により検知されたと判定した場合には(S41、YES)、ホバーインが検知された時の自動スクロールのスクロール速度を一時速度保持部59に保存する(S42)。
変化量調整部56Bは、自動スクロールを一時停止するように状態変化制御部53Bに指示する。状態変化制御部53Bは、変化量調整部56Bからの指示に応じて、自動スクロールを一時停止し(S43)、又は自動スクロールのスクロール速度vを滑らかにゼロに設定して自動スクロールを停止する(S43)。
状態変化制御部53Bは、自動スクロールの一時停止中に、指FGがホバーインしていた状態からホバーアウトした状態が近接状態管理部25により検知されたか否かを判定する(S44)。自動スクロールの一時停止中に、指FGがホバーインしていた状態からホバーアウトした状態が検知されない場合には(S44、NO)、本実施形態の携帯端末300の動作はステップS35に進み、ステップS35においてタッチ操作が検出されるまで、ステップS44の動作が繰り返される。
状態変化制御部53Bは、自動スクロールの一時停止中に、指FGがホバーインしていた状態からホバーアウトした状態が近接状態管理部25により検知されたと判定した場合には(S44、YES)、現在のスクロール速度(=0)を一時速度保持部59に保存されていたスクロール速度に変更する(S45)。
変化量調整部56Bは、自動スクロールを再開するように状態変化制御部53Bに指示する。状態変化制御部53Bは、変化量調整部56Bからの指示に応じて、一時速度保持部59に保存されていたスクロール速度に応じた自動スクロールを再開する(S45)。ステップS45の後、本実施形態の携帯端末300の動作は、ステップS32に戻る。
一方、状態変化制御部53Bは、自動スクロール中に、指FGがホバーアウトしていた状態からホバーインした状態が検知されない場合には(S41、NO)、自動スクロールを継続する。接触操作判定部30は、指FGがタッチ操作したか否かを判定する(S46)。
接触操作判定部30は、指FGがタッチ操作したと判定した場合には(S46、YES)、指FGがタッチ操作したと判定した旨をアプリケーション50に通知する。この後、本実施形態の携帯端末300の動作は、ステップS36に進む。また、タッチ操作が検知されていない場合には(S46、NO)、自動スクロールが継続されるので、本実施形態の携帯端末300の動作はステップS32に戻る。
以上により、本実施形態の携帯端末300は、自動スクロール中にホバーアウトしていた指FGがホバーインした状態が検知された場合には、検知前の自動スクロールにおけるスクロール速度を一時速度保持部59に保存して自動スクロールを一時停止する。また、携帯端末300は、自動スクロールの一時停止中にホバー操作していた指FGがホバーアウトしたことが検知された場合には、一時速度保持部59に保存されていたスクロール速度に応じた自動スクロールを再開する。
なお、自動スクロールでは、再開時のスクロール速度が収束速度v2である場合には収束速度v2が維持され、収束速度v2より大きい場合には収束速度v2に収束されるように徐々に低減していく。
これにより、本実施形態の携帯端末300は、自動スクロール中に例えばユーザが気になったコンテンツが表示され始めた場合に、指FGをホバーホールド操作することで、自動スクロールを簡単に一時停止でき、更に、ユーザが気になったコンテンツの閲覧を終了した後に指FGのホバーホールド操作を止めてホバーアウトすることで、自動スクロールを簡単に再開でき、ユーザの意図に合わせた臨機応変なスクロールを実行できる。
(第5の実施形態)
第3及び第4の各実施形態では、携帯端末300は、指がタッチフリック操作した後に一定時間以上のホバー操作を検知した場合に、自動スクロールを開始した。
第5の実施形態では、携帯端末300は、一定時間以上のホバー操作ではなく、指がタッチフリック操作したことを検知した場合に、自動スクロールを開始する。
(第5の実施形態の携帯端末300の機能的構成)
第5の実施形態の携帯端末300の機能的構成は、図8に示す携帯端末300の構成と同様であるため、第3又は第4の実施形態の携帯端末300と同一の内容の説明は省略又は簡略化し、異なる内容について説明する。
状態変化制御部53Bは、指FGがタッチフリック操作したことが接触操作判定部30により検知されたか否かを判定する。状態変化制御部53Bは、指FGがタッチフリック操作したことが接触操作判定部30により検知された場合に、慣性スクロールを中断して自動スクロールを開始する。
(第5の実施形態の携帯端末300の動作)
次に、本実施形態の携帯端末300の動作について、図16及び図17を参照して説明する。図16は、第5の実施形態におけるスクロール速度の経時変化を示すグラフである。図13は、第6の実施形態の携帯端末300の動作を説明するフローチャートである。図16において、時刻t0はタッチフリック操作が検知された時刻、時刻t4はスクロール速度vが収束速度v2になった時刻、時刻t5はホバーアウトが検知された時刻、時刻t7は指FGがホバーアウトしていた状態からホバーインした状態が検知された時刻、時刻t8は指FGがホバーインしていた状態からホバーアウトした状態が検知された時刻である。
スクロール曲線C7では、時刻t0においてタッチフリック操作が検知されているため慣性スクロールが中断し、時刻t0以降は第2の実施形態と同様にスクロール速度vがスクロール初速度v0から収束速度v2に収束するように徐々に低減し、時刻t4においてスクロール速度vは収束速度v2になっている。また、本実施形態では時刻t0において自動スクロールが開始されているので、時刻t5においてホバーアウトが検知されても、第2の実施形態のように慣性スクロールが再開されることはなく、スクロール速度vは収束速度v2のまま維持される。
更に、スクロール曲線C7では、時刻t0以降の自動スクロール中に、時刻t7において指FGがホバーアウトしていた状態からホバーインした状態が検知されると、自動スクロールは一時停止し、スクロール速度は0となる。時刻t8において指FGがホバーインしていた状態からホバーアウトした状態が検知されると、自動スクロールは再開する。再開直後の自動スクロールのスクロール速度は、時刻t7の直前における自動スクロールのスクロール速度である。
図17において、状態変化制御部53Bは、指FGがタッチフリック操作したことが接触操作判定部30により検知されたか否かを判定する(S51)。状態変化制御部53Bは、指FGがタッチフリック操作したことが接触操作判定部30により検知されたと判定した場合に(S51、YES)、自動スクロールを開始する(S52)。なお、自動スクロールの初速度は、指FGがタッチフリック操作した時の指FGのタッチパネルTPを払う又は弾く時の移動速度に応じて、状態変化制御部53Bにより算出される。
状態変化制御部53Bは、現在の自動スクロールのスクロール速度vが一時速度保持部59に保存された収束速度v2より大きいか否かを判定する(S53)。状態変化制御部53Bは、現在の自動スクロールのスクロール速度vが一時速度保持部59に保存された収束速度v2より大きいと判定した場合には(S53、YES)、スクロール速度vを収束速度v2に収束するように徐々に低減する(S54)。現在の自動スクロールのスクロール速度vが一時速度保持部59に保存された収束速度v2より大きくない場合には(S53、NO)、本実施形態の携帯端末300の動作はステップS55に進む。
状態変化制御部53Bは、ホバーアウトしていた指FGがホバーインしたことが近接状態管理部25により検知されたか否かを判定する(S55)。状態変化制御部53Bは、ホバーアウトしていた指FGがホバーインしたことが近接状態管理部25により検知されたと判定した場合には(S55、YES)、ホバーインが検知された時の自動スクロールのスクロール速度を一時速度保持部59に保存する(S56)。
変化量調整部56Bは、自動スクロールを一時停止するように状態変化制御部53Bに指示する。状態変化制御部53Bは、変化量調整部56Bからの指示に応じて、自動スクロールを一時停止し(S57)、又は自動スクロールのスクロール速度vを滑らかにゼロに設定して自動スクロールを停止する(S57)。。
状態変化制御部53Bは、自動スクロールの一時停止中に、ホバーインしていた指FGがホバーアウトしたことが近接状態管理部25により検知されたか否かを判定する(S58)。状態変化制御部53Bは、自動スクロールの一時停止中に、ホバーインしていた指FGがホバーアウトしたことが検知された場合には(S58、YES)、現在のスクロール速度(=0)を一時速度保持部59に保存されていたスクロール速度に変更する(S59)。ステップS59の後、本実施形態の携帯端末300の動作はステップS52に戻る。
自動スクロールの一時停止中に、ホバー操作していた指FGがホバーアウトしたことが検知されない場合には(S58、NO)、状態変化制御部53Bは、自動スクロールを継続する。接触操作判定部30は、ホバー操作していた指FGがタッチ操作したか否かを判定する(S60)。接触操作判定部30は、ホバー操作していた指FGがタッチ操作したと判定した場合には(S60、YES)、ホバー操作していた指FGがタッチ操作したことをアプリケーション50に通知する。状態変化制御部53Bは、接触操作判定部30からの通知に応じて、自動スクロール中のスクロール速度vを直ぐに若しくは滑らかにゼロに設定して自動スクロールを停止する(S61)。なお、ホバー操作していた指FGがタッチ操作していない場合には(S60、NO)、本実施形態の携帯端末300の動作はステップS58に戻る。
一方、状態変化制御部53Bは、自動スクロール中に、ホバーアウトしていた指FGがホバーインしていない場合には(S55、NO)、自動スクロールを継続する。接触操作判定部30は、指FGがタッチ操作したか否かを判定する(S62)。
接触操作判定部30は、指FGがタッチ操作したと判定した場合には(S62、YES)、指FGがタッチ操作したことをアプリケーション50に通知する。この後、本実施形態の携帯端末300の動作は、ステップS61に進む。また、指FGがタッチ操作していない場合には(S62、NO)、自動スクロールが継続されるので、本実施形態の携帯端末300の動作はステップS52に戻る。
以上により、本実施形態の携帯端末300は、指FGがタッチフリック操作したことを検知した場合に、自動スクロールを開始する。また、携帯端末300は、自動スクロール中にホバーアウトしていた指FGがホバーインしたことが検知された場合には、検知前の自動スクロールにおけるスクロール速度を一時速度保持部59に保存して自動スクロールを一時停止する。また、携帯端末300は、自動スクロールの一時停止中にホバー操作していた指FGがホバーアウトしたことが検知された場合には、一時速度保持部59に保存されていたスクロール速度に応じた自動スクロールを再開する。
なお、自動スクロールでは、再開時のスクロール速度が収束速度v2である場合には収束速度v2が維持され、収束速度v2より大きい場合には収束速度v2に収束されるように徐々に低減されていく。
これにより、本実施形態の携帯端末300は、指FGが一定時間以上ホバー操作(例えばホバーホールド操作)を行わなくても例えばタッチフリック操作を行うことで、自動スクロールを簡単に開始でき、ユーザの自動スクロールを開始するための操作を簡易化できる。
(第6の実施形態)
第6の実施形態では、携帯端末300は、指がタッチフリック操作した時の慣性スクロールのスクロール初速度に応じて、スクロールのスクロール速度の制御方法を切り替える。
(第6の実施形態の携帯端末300の機能的構成)
第6の実施形態の携帯端末300の機能的構成は、図8に示す携帯端末300の構成と同様であるため、第3又は第4の実施形態の携帯端末300と同一の内容の説明は省略又は簡略化し、異なる内容について説明する。
状態変化制御部53Bは、指FGがタッチフリック操作したことが接触操作判定部30により検知されたか否かを判定する。状態変化制御部53Bは、指FGがタッチフリック操作したことが接触操作判定部30により検知された場合に、慣性スクロールを開始し、更に、慣性スクロールのスクロール初速度と所定の第1閾値速度と所定の第2閾値速度とを比較する。第1閾値速度及び第2閾値速度は状態変化制御部53Bの動作において予め規定された固定値であって、第1閾値速度は第2閾値速度よりも速い。
状態変化制御部53Bは、慣性スクロールのスクロール初速度が第1閾値速度以上であると判定した場合には、第2の実施形態と同様に、指のホバー操作が検知されている間では、慣性スクロールを中断してスクロール速度vが収束速度v2になるまでスクロール速度vを徐々に低減していき、スクロール速度vが収束速度v2になった後はスクロール速度を一定に維持した状態でスクロールを実行する。
状態変化制御部53Bは、慣性スクロールのスクロール初速度が第2閾値速度以上であって第1閾値速度未満であると判定した場合には、第4の実施形態と同様に、指FGの一定時間以上のホバー操作に応じて自動スクロールを開始し、自動スクロール中に指のホバー操作(例えばホバーホールド操作)が検知された場合には、自動スクロールを一時停止し、自動スクロールの一時停止中に指がホバーアウトした状態が検知された場合には、自動スクロールを再開する。自動スクロール中の収束速度は第2閾値速度である。
状態変化制御部53Bは、慣性スクロールのスクロール初速度が第2閾値速度未満であると判定した場合には、従来の慣性スクロールを実行する。
(第6の実施形態の携帯端末300の動作)
次に、本実施形態の携帯端末300の動作について、図18及び図19を参照して説明する。図18は、第6の実施形態におけるスクロール速度の経時変化を示すグラフである。図19は、第6の実施形態の携帯端末300の動作を説明するフローチャートである。図18において、時刻t0はタッチフリック操作とホバーインとが同時に検知された時刻、時刻t4はスクロール速度vが収束速度v2になった時刻、時刻t5はホバーアウトが検知された時刻、時刻t7はホバーアウトしていた指FGがホバーインしたことが検知された時刻、時刻t8はホバーインしていた指FGがホバーアウトしたことが検知された時刻である。また、図19に示すフローチャートの説明では、図13〜図15に示す各フローチャートの説明と同一の動作については同一の符号を用いて説明を省略又は簡略化し、異なる内容について説明する。
スクロール曲線C8はスクロール曲線C4と同一であり、スクロール曲線C9はスクロール初速度の値を除いてスクロール曲線6と同一であり、スクロール曲線C10はスクロール初速度の値を除いてスクロール曲線C0と同一であるので、各スクロール曲線C8,C9,C10の説明は省略する。
図19において、ステップS11の後、状態変化制御部53Bは、慣性スクロールを開始し、更に、慣性スクロールのスクロール初速度と所定の第1閾値速度と所定の第2閾値速度とを比較する(S61)。
状態変化制御部53Bは、慣性スクロールのスクロール初速度が第1閾値速度以上であると判定した場合には(S61、第1閾値速度以上)、第2の実施形態と同様に、指FGのホバー操作が検知されている間では、慣性スクロールを中断してスクロール速度vが収束速度v2になるまでスクロール速度vを徐々に低減し、スクロール速度vが収束速度v2になった後はスクロール速度を一定に維持した状態でスクロールを実行する。
状態変化制御部53Bは、慣性スクロールのスクロール初速度が第2閾値速度以上であって第1閾値速度未満であると判定した場合には(S61、第2閾値速度以上第1閾値速度未満)、第4の実施形態と同様に、指FGの一定時間以上のホバー操作に応じて自動スクロールを開始し、自動スクロール中に指のホバー操作(例えばホバーホールド操作)が検知された場合には、自動スクロールを一時停止し、自動スクロールの一時停止中に指がホバーアウトした状態が検知された場合には、自動スクロールを再開する。
ただし、上述したように本実施形態では、慣性スクロールのスクロール初速度が第2閾値速度以上であって第1閾値速度未満である場合には、第4の実施形態における収束速度は第2閾値速度である(図18に示すスクロール曲線C9参照)。
状態変化制御部53Bは、慣性スクロールのスクロール初速度が第2閾値速度未満であると判定した場合には(S61、第2閾値速度未満)、従来の慣性スクロールを実行する。
以上により、本実施形態の携帯端末300は、指FGがタッチフリック操作した時の慣性スクロールのスクロール初速度に応じて、スクロールのスクロール速度の制御方法を切り替える。また、本実施形態の携帯端末300は、指FGがタッチフリック操作した時の慣性スクロールのスクロール初速度に応じて、上述した各実施形態におけるスクロール速度の制御方法のいずれを選択しても良い。
これにより、本実施形態の携帯端末300は、指FGがタッチフリック操作した時の慣性スクロールの初速度に応じて、ユーザの意図に合わせた臨機応変なスクロールを実行できる。
以上、図面を参照して各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種実施の形態の変更例または修正例、更に各種実施の形態の組み合わせ例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
また、上述した第1、第3及び第4の各実施形態を組み合わせた実施形態の携帯端末300の動作について、図20及び図21を参照して説明する。図20は、第1、第3及び第4の各実施形態を組み合わせた実施形態におけるスクロール速度の経時変化を示すグラフである。図21は、第1、第3及び第4の各実施形態を組み合わせた実施形態における携帯端末300の動作を説明するフローチャートである。図20において、時刻t0はタッチフリック操作が検知された時刻、時刻t9は指FGがホバーインしたことが検知された時刻、時刻t10は時刻t0から一定時間が経過した時刻、時刻t5はホバーアウトが検知された時刻、時刻t7はホバーアウトしていた指FGがホバーインしたことが検知された時刻、時刻t8はホバーインしていた指FGがホバーアウトしたことが検知された時刻である。また、図21に示すフローチャートの説明では、図4、図10及び図13〜図15に示す各フローチャートの説明と同一の動作については同一の符号を用いて説明を省略又は簡略化し、異なる内容について説明する。
スクロール曲線C11では、時刻t0において指FGのタッチフリック操作が検知されて慣性スクロールが開始し、時刻t9にホバーインが検知され、時刻t0から一定時間が経過した時刻t10には、慣性スクロールが中断してホバーインが検知された時刻t9におけるスクロール速度が維持された自動スクロールが開始される。
更に、スクロール曲線C11では、時刻t10以降は自動スクロールが実行されているので、時刻t5においてホバーアウトが検知されてもスクロール速度は時刻t9におけるスクロール速度で維持され、時刻t7においてホバーアウトしていた指FGがホバーインしたことが検知されると、自動スクロールは一時停止し、スクロール速度は0となる。時刻t8においてホバーインしていた指FGがホバーアウトしたことが検知されると、自動スクロールは再開する。再開直後の自動スクロールのスクロール速度は、時刻t7の直前における自動スクロールのスクロール速度である。
図21において、近接状態管理部25は、指FGがホバーインしたことを検知した場合には(S13、YES)、指FGがホバーインしたことをアプリケーション50に通知する。状態変化制御部53Bは、タイマ制御部80が出力した時間情報を基に、指FGがタッチフリック操作した後に一定時間以上ホバー操作したか否かを判定する(S31)。
状態変化制御部53Bは、タイマ制御部80が出力した時間情報を基に、指FGがタッチフリック操作した後に一定時間以上ホバー操作したと判定した場合には(S31、YES)、ステップS12において実行していた慣性スクロールを中断し、指FGがホバーインしたことが検知された時のスクロール速度を維持した状態で自動スクロールを開始する(S81)。ステップS81以降の動作は、第4の実施形態(図15参照)と同一であるため、説明を省略する。
一方、状態変化制御部53Bは、指FGがタッチフリック操作した後に一定時間以上ホバー操作していない場合には(S31、NO)、指FGがタッチ操作したか否かを判定する(S82)。指FGがタッチ操作した場合には(S82、YES)、携帯端末300の動作はステップS36に進み、指FGがタッチ操作していない場合には(S82、NO)、携帯端末300の動作はステップS12に戻る。
これにより、携帯端末300は、指FGがタッチフリック操作してから一定時間以上のホバー操作が検知された場合に、指FGがホバーインした時のスクロール速度を維持した状態で自動スクロールを実行できる。
なお、第4の実施形態では、携帯端末300は、自動スクロール中に指FGがホバーホールド操作したことを検知した場合に自動スクロールを一時停止したが、一時停止ではなく、例えば自動スクロールのスクロール速度を加速又は減速しても良い。例えば、携帯端末300は、指FGがホバーホールド操作した位置に対応するタッチパネルTPの面上の位置に応じて、自動スクロールの一時停止、自動スクロールのスクロール速度の加速又は減速を選択して実行しても良い(図22(A)参照)。図22(A)は、ホバーホールド操作している指FGに対応するタッチパネルTPの面上の位置に応じてスクロール速度を制御する方法の模式図である。
例えば、指FGが図22(A)に示すタッチパネルTPの領域AR1に対応したz軸方向の高さの位置にホバーホールド操作した場合、携帯端末300は、自動スクロールを一時停止する。
例えば、指FGが図22(A)に示すタッチパネルTPの領域AR2に対応したz軸方向の高さの位置にホバーホールド操作した場合、携帯端末300は、自動スクロールのスクロール速度を加速する。
例えば、指FGが図22(A)に示すタッチパネルTPの領域AR3に対応したz軸方向の高さの位置にホバーホールド操作した場合、携帯端末300は、自動スクロールのスクロール速度を減速する。
また、携帯端末300は、指FGがホバーホールド操作したタッチパネルTPの面から離間した空間上の位置に応じて、自動スクロールの一時停止、自動スクロールのスクロール速度の加速又は減速を選択して実行しても良い(図22(B)参照)。
例えば、指FGが図22(B)に示すタッチパネルTPの面(z座標=z0=0)の位置から高さz1までの位置にホバーホールド操作した場合、携帯端末300は、自動スクロールを一時停止する。
例えば、指FGが図22(B)に示すタッチパネルTPの面から高さz1の位置から高さz2までの位置にホバーホールド操作した場合、携帯端末300は、自動スクロールのスクロール速度を加速する。
例えば、指FGが図22(B)に示すタッチパネルTPの面から高さz2の位置から高さz3までの位置にホバーホールド操作した場合、携帯端末300は、自動スクロールのスクロール速度を減速する。
なお、上述した各実施形態において、携帯端末300は、自動スクロール中に指FGがホバーフリック操作した場合には、自動スクロールのスクロール速度を加速又は減速しても良い。これにより、携帯端末300は、ユーザの意図に合ったスクロールを臨機応変に実行できる。