JP2015043160A - 端末装置及びタッチ操作検出プログラム - Google Patents

端末装置及びタッチ操作検出プログラム Download PDF

Info

Publication number
JP2015043160A
JP2015043160A JP2013174758A JP2013174758A JP2015043160A JP 2015043160 A JP2015043160 A JP 2015043160A JP 2013174758 A JP2013174758 A JP 2013174758A JP 2013174758 A JP2013174758 A JP 2013174758A JP 2015043160 A JP2015043160 A JP 2015043160A
Authority
JP
Japan
Prior art keywords
information
post
notification unit
storage area
drag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013174758A
Other languages
English (en)
Inventor
勝律 高見
Katsunori Takami
勝律 高見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013174758A priority Critical patent/JP2015043160A/ja
Priority to US14/320,968 priority patent/US20150054795A1/en
Publication of JP2015043160A publication Critical patent/JP2015043160A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ユーザが意図せずタッチパネルで非検知期間を発生させた場合であっても、その非検知期間を挟んだ二つの操作を一つの連続した操作であるとして処理することを可能にする。
【解決手段】検知部14は、タッチパネル12に対する指示体の接触位置を示す位置情報を取得し、取得した位置情報に基づいて、タッチパネル12に対して非検知期間を介して前後して行われた先行接触操作及び後行接触操作を検知する。判定部16は、経過時間及び位置間隔、が所定の条件を満たした場合に、先行接触操作と後行接触操作とを連続する一つの操作であると判定する。経過時間とは、先行接触操作の終了を検知してから後行接触操作の開始を検知するまでの経過時間を指す。位置間隔とは、先行接触操作の終了を検知した終了位置と後行接触操作の開始を検知した開始位置との位置間隔を指す。
【選択図】図1

Description

開示の技術は、端末装置及びタッチ操作検出プログラムに関する。
タッチパネルに対するタップ操作が検知された後に、所定時間内の非検知期間を介してタッチパネルに対するドラッグ操作が繰り返し検知されると、これらの検知されたドラッグ操作を、継続した1つのドラッグ操作と判定する技術が知られている。また、タッチパネルに対してドラッグ操作を行っている間に何らかの衝撃を受けて端末装置が揺れることによってタッチパネルに対するドラッグ操作が途切れた場合に、途切れる前後のドラッグ操作を、継続した1つのドラッグ操作と判定する技術も知られている。
特表平11−506559号公報 特開2012−221359号公報
しかしながら、上記技術は何れも、タッチパネルで非検知期間が発生したとしても、非検知期間が誤操作で発生したのか、それとも、正操作(誤操作以外の操作)で発生したのか(ユーザが意図的に非検知期間を発生させたのか)を特定することが困難である。
ここで、誤操作とは、例えば、ユーザがタッチパネルに対してスライド操作(例えば、ドラッグ操作)を行っているつもりでもユーザが意図しないタイミングで、タッチパネルで非検知期間を発生させる操作を指す。ここで言う誤操作の一例としては、指示体(例えば指)とタッチパネルとの接触箇所の摩擦力又はタッチパネルの表面に貼り付けられたフィルムとタッチパネルの表面との間に気泡が混入していることに起因して発生する誤操作が挙げられる。摩擦力に起因して発生する誤操作とは、例えば、スライド操作中に指示体とタッチパネルとの間の摩擦力が大きくなって指示体がタッチパネルに引っ掛かって(躓いて)指示体をタッチパネルから一瞬離してしまう操作を指す。また、フィルムとタッチパネルの表面との間に気泡が混入していることに起因して発生する誤操作とは、スライド操作中に指示体が気泡混入箇所に乗り上がることで指示体をタッチパネルから一瞬離してしまう操作を指す。
開示の技術において、検知部は、タッチパネルに対する指示体の接触位置を示す位置情報を取得する。検知部は、取得した位置情報に基づいて、前記タッチパネルに対して非検知期間を介して前後して行われた先行接触操作及び後行接触操作を検知する。判定部は、経過時間及び位置間隔、が所定の条件を満たした場合に、前記先行接触操作と前記後行接触操作とを連続する一つの操作であると判定する。経過時間とは、前記検知部が前記先行接触操作の終了を検知してから前記後行接触操作の開始を検知するまでの経過時間を指す。位置間隔とは、前記検知部が前記先行接触操作の終了を検知した終了位置と前記後行接触操作の開始を検知した開始位置との位置間隔を指す。
開示の技術は、1つの側面として、ユーザが意図せずタッチパネルで非検知期間を発生させた場合であっても、その非検知期間を挟んだ二つの操作を一つの連続した操作であるとして処理することを可能にする、という効果を有する。
第1及び第2実施形態に係るスマートデバイスの要部機能の一例を示すブロック図である。 第1実施形態に係るスマートデバイスのハードウェア構成の一例を示すブロック図である。 第1実施形態に係るスマートデバイスに含まれる応用操作テーブルの構成の一例を示す模式図である。 第1実施形態に係るスマートデバイスに含まれるタッチパネル・ディスプレイの概略的な層構造の一例を示す断面図である。 第1実施形態に係る基本操作検知処理の流れの一例を示すフローチャートである。 第1実施形態に係る応用操作検知処理の流れの一例を示すフローチャートである。 第1実施形態に係る保留後通知処理の流れの一例を示すフローチャートである。 第1実施形態に係るタップ操作処理の流れの一例を示すフローチャートである。 第1実施形態に係る保留中処理の流れの一例を示すフローチャートである。 第1実施形態に係る第1経過前処理の流れの一例を示すフローチャートである。 第1実施形態に係るDG操作処理の流れの一例を示すフローチャートである。 第1実施形態に係るDG開始時処理の流れの一例を示すフローチャートである。 第1実施形態に係る誤操作対応処理の流れの一例を示すフローチャートである。 第1実施形態に係る正操作対応処理の流れの一例を示すフローチャートである。 第1実施形態に係る第2経過前処理の流れの一例を示すフローチャートである。 第1実施形態に係るDG終了時処理の流れの一例を示すフローチャートである。 第1実施形態に係る第1終了時処理の流れの一例を示すフローチャートである。 第1実施形態に係る第2終了時処理の流れの一例を示すフローチャートである。 第1実施形態に係る第3終了時処理の流れの一例を示すフローチャートである。 第1実施形態に係るDG移動時処理の流れの一例を示すフローチャートである。 第1実施形態に係る第1移動時処理の流れの一例を示すフローチャートである。 第1実施形態に係る第2移動時処理の流れの一例を示すフローチャートである。 第1実施形態に係る第3移動時処理の流れの一例を示すフローチャートである。 第1実施形態に係る時間経過後通知処理の流れの一例を示すフローチャートである。 タッチパネルに対して行われたドラッグ操作とタップ操作との位置関係の一例を示す模式図である。 タッチパネルに対するドラッグ操作中に指示体がフィルムに引っ掛かってタッチパネルで非検知期間が発生したことに起因してドラッグ終了操作が誤操作と判定される場合のドラッグ操作態様の一例を示す態様図である。 タッチパネルに対するドラッグ操作中に指示体が気泡混入箇所に乗り上がってタッチパネルで非検知期間が発生したことに起因してドラッグ終了操作が誤操作と判定される場合のドラッグ操作態様の一例を示す態様図である。 タッチパネルに対して行われたドラッグ操作に含まれる終了時スライド方向とドラッグ操作の終了位置からタッチパネルに対して行われたタップ操作の位置へ向かう方向との成す角度の算出方法の説明に供する模式図である。 タッチパネルに対して行われた第1ドラッグ操作と第2ドラッグ操作との位置関係の一例を示す模式図である。 タッチパネルに対して行われた第1ドラッグ操作の終了位置と第2ドラッグ操作の開始位置とを結ぶ線分上でタップ操作が行われた場合の第1ドラッグ操作、タップ操作、及び第2ドラッグ操作との位置関係の一例を示す模式図である。 第2実施形態に係るスマートデバイスのハードウェア構成の一例を示すブロック図である。 第2実施形態に係るスマートデバイスに含まれるフラグ管理テーブルの構成の一例を示す模式図である。 第2実施形態に係るタップ操作処理の流れの一例を示すフローチャートである。 第2実施形態に係るDG操作対応処理の流れの一例を示すフローチャートである。 第2実施形態に係るDG開始時処理の流れの一例を示すフローチャートである。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、以下の説明では、開示の技術に係る端末装置の一例としてスマートデバイスを例に挙げて説明するが、開示の技術は、これに限定されるものではない。開示の技術は、タッチパネルを有する種々の端末装置(例えば、パーソナル・コンピュータ、ゲーム機、カーナビゲーション装置、携帯電話機、又はデジタルカメラなど)に適用可能である。
[第1実施形態]
一例として図1に示すスマートデバイス10は、タッチパネル12、検知部14、判定部16及びアプリケーション18を含む。
タッチパネル12は、例えば、ディスプレイに重ねられた透過型のタッチパネルである。タッチパネル12は、指示体(例えば、指又はスタイラスペン)による接触を検知する。タッチパネル12は、検知結果(タッチパネル12に対する指示体による接触の有無)を示す検知結果情報を所定周期(例えば100ミリ秒)で所定の出力先(例えば、後述のCPU30(図2参照))に出力する。なお、検知結果情報には、タッチパネル12が指示体による接触を検知した場合、タッチパネル12上の指示体による接触位置を示す位置情報が含まれ、タッチパネル12が指示体による接触を検知していない場合、位置情報が含まれない。ここで、位置情報とは、例えば、タッチパネル12における位置を特定可能な二次元座標(以下、「座標」という)を指す。
アプリケーション18は、例えば、スマートデバイス10のユーザ(以下、「ユーザ」という)の指示に従ってインターネット経由でダウンロードされたアプリケーションプログラム(以下、「アプリケーション」という)であり、タッチパネル12を介してユーザによって入力された指示を受け付ける。
検知部14は、タッチパネル12から検知結果情報を取得し、取得した検知結果情報に含まれる座標に基づいて、タッチパネル12に対して非検知期間を介して前後して行われた先行接触操作及び後行接触操作を検知する。なお、検知結果情報は、例えば、検知部14によって所定周期で取得される。
判定部16は、操作間の経過時間、及び、検知部14が先行接触操作の終了を検知した終了位置と後行接触操作の開始を検知した開始位置との位置間隔に基づいて、先行接触操作の終了が誤検知されたか否かを判定する。また、判定部16は、操作間の経過時間、及び、検知部14が先行接触操作の終了を検知した終了位置と後行接触操作の開始を検知した開始位置との位置間隔が所定の条件を満たした場合に、先行接触操作と後行接触操作とを連続する一つの操作であると判定する。ここで、操作間の経過時間とは、検知部14が先行接触操作の終了を検知してから後行接触操作の開始を検知するまでの経過時間を指す。
なお、以下では、説明の便宜上、検知部14が先行接触操作の終了を検知した終了位置を「先行操作終了位置」と称し、検知部14が後行接触操作の開始を検知した開始位置を「後行操作開始位置」と称する。また、以下では、説明の便宜上、操作間の経過時間を「経過時間」と称し、検知部14が先行接触操作の検知を終了した終了位置と後行接触操作の検知を開始した開始位置との位置間隔を「位置間隔」と称する。また、以下では、説明の便宜上、先行接触操作に含まれる終了操作を「終了操作」と称する。
判定部16は、検知部14により先行接触操作として先行スライド操作が検知された場合、第1角度、経過時間及び位置間隔に基づいて、先行スライド操作の終了が誤検知されたか否かを判定する。また、判定部16は、検知部14により先行接触操作として先行スライド操作が検知された場合、第1角度、経過時間及び位置間隔が所定の条件を満たした場合に、先行接触操作と後行接触操作とを連続する一つの操作であると判定する。ここで、第1角度とは、先行スライド操作における終了時スライド方向(例えば、後述のドラッグ終了操作のドラッグ方向)と先行操作終了位置から後行操作開始位置へ向かう方向(以下、「操作間方向」という)との成す角度を指す。
判定部16は、検知部14により先行接触操作として先行スライド操作が検知され、かつ、第1角度が第1閾値未満で、かつ、経過時間が第2閾値未満で、かつ、位置間隔が第3閾値未満の場合に、先行スライド操作の終了が誤検知されたと判定する。
判定部16は、後行タップ系操作が検知され、かつ、第1角度が第1閾値未満で、かつ、経過時間が第2閾値未満で、かつ、位置間隔が第3閾値未満の場合に、後行タップ系操作を先行スライド操作の一部と判定する。なお、後行タップ系操作とは、検知部14により後行接触操作として検知されたタップ系操作を指す。タップ系操作とは、例えば、後述のタップ操作、フリック操作、及びダブルタップ操作を指す。
判定部16は、後行スライド操作が検知され、かつ、第1角度が第1閾値未満で、かつ、経過時間が第2閾値未満で、かつ、位置間隔が第3閾値未満で、かつ、第2角度が第4閾値以下の場合に、後行スライド操作を先行スライド操作の一部と判定する。ここで、第2角度とは、操作間方向と後行スライド操作における開始時スライド方向(例えば、後述のドラッグ開始操作のドラッグ方向)との成す角度を指す。なお、後行スライド操作とは、検知部14により後行接触操作として検知されたスライド操作を指す。
判定部16は、先行タップ系操作が検知され、かつ、経過時間が第5閾値未満で、かつ、位置間隔が第6閾値未満の場合に、先行タップ系操作の終了が誤検知されたと判定する。なお、先行タップ系操作とは、検知部14により先行接触操作として検知されたタップ系操作を指す。
検知部14は、基本操作検知部20及び応用操作検知部22を含む。基本操作検知部20は、タッチパネル12から検知結果情報を取得し、取得した検知結果情報に含まれる座標に基づいて基本操作を検知する。そして、基本操作検知部20は、検知した基本操作を示す基本操作情報を生成し、生成した基本操作情報をアプリケーション18に通知する。ここで、基本操作とは、例えば、接触開始操作、移動操作及び接触終了操作を指す。接触開始操作とは、タッチパネル12に対して指示体を接触させる操作を指す。移動操作とは、タッチパネル12に対して指示体を接触させることで指示された位置(例えば接触開始操作により指示された位置)である接触指示位置を継続して移動させる操作を指す。接触終了操作とは、タッチパネル12から指示体を離す操作(タッチパネル12に対する指示体の接触状態を解除する操作)を指す。
応用操作検知部22は、基本操作検知部20で生成された基本操作情報に基づいて、先行接触操作の終了が検知可能な操作単位で先行接触操作及び後行接触操作の各々を規定する応用操作を検知する。そして、応用操作検知部22は、検知した応用操作を示す応用操作情報を生成する。
判定部16は、応用操作検知部22により生成された応用操作情報から、判定結果に基づいて選定した応用操作情報をアプリケーション18に通知する。
ここで、先行接触操作及び後行接触操作の一例として、タップ操作、フリック操作、ダブルタップ操作、ロングプレス操作、ドラッグ操作、ピンチオープン(ピンチアウト)操作、及びピンチクローズ(ピンチイン)操作が挙げられる。これらの操作は、1つの操作単位で規定される単式操作と複数の操作単位で規定される複式操作とに大別される。タップ操作、フリック操作及びダブルタップ操作は、開示の技術における先行タップ系操作及び後行タップ系操作の一例であり、単式操作に属する。そのため、タップ操作、フリック操作及びダブルタップ操作の各々は単一の応用操作(ここでは一例としてタップ操作、フリック操作及びダブルタップ操作の各々)によって規定される。ドラッグ操作(開示の技術における先行スライド操作及び後行スライド操作の一例)、ロングプレス操作、ピンチオープン操作、及びピンチクローズ操作は複式操作に属する。そのため、ロングプレス操作、ドラッグ操作、ピンチオープン操作、及びピンチクローズ操作の各々は複数の応用操作(例えば、ドラッグ操作の場合、後述のドラッグ開始操作、ドラッグ移動操作及びドラッグ終了操作)によって規定される。
タップ操作とは、タッチパネル12に対して指示体を1回タップさせる操作を指す。フリック操作とは、接触指示位置を移動させる移動操作の移動距離が所定距離(例えば2ミリメートル)以上で、かつ、移動操作を開始してから第1設定時間(例えば300ミリ秒)未満でタッチパネル12から指示体を離すことで移動操作を終了する操作を指す。ダブルタップ操作とは、タッチパネル12に対して指示体を第1設定時間未満の非検知期間を介して2回タップさせる操作を指す。
ドラッグ操作とは、タッチパネル12に対して指示体を接触させることで指示された位置である接触指示位置を第1設定時間以上継続して移動させる操作を指す。ドラッグ操作は、ドラッグ開始操作、ドラッグ移動操作、及びドラッグ終了操作の3つの応用操作によって規定される。ドラッグ開始操作とは、ドラッグ操作の開始時の操作を指す。ドラッグ終了操作とは、ドラッグ操作の終了時の操作を指す。ドラッグ移動操作とは、ドラッグ操作において、ドラッグ開始操作とドラッグ終了操作との間の操作を指す。
ロングプレス操作とは、タッチパネル12に対して指示体を接触指示位置から移動させることなく第2設定時間(例えば1秒)以上継続して接触させる操作を指す。ロングプレス操作は、ロングプレス開始操作及びロングプレス終了操作の2つの応用操作によって規定される。ロングプレス開始操作とは、ロングプレス操作の開始時の操作を指す。ロングプレス終了操作とは、ロングプレス操作の終了時の操作を指す。
ピンチオープン操作とは、一般的にピンチアウト操作とも言われ、2つの接触指示位置の位置間隔を広げる操作を指す。ピンチオープン操作は、ピンチオープン開始操作及びピンチオープン終了操作の2つの応用操作によって規定される。ピンチオープン開始操作とは、ピンチオープン操作の開始時の操作を指す。ピンチオープン終了操作とは、ピンチオープン操作の終了時の操作を指す。
ピンチクローズ操作とは、一般的にピンチイン操作とも言われ、2つの接触指示位置の位置間隔を狭める操作を指す。ピンチクローズ操作は、ピンチクローズ開始操作及びピンチクローズ終了操作の2つの応用操作によって規定される。ピンチクローズ開始操作とは、ピンチクローズ操作の開始時の操作を指す。ピンチクローズ終了操作とは、ピンチクローズ操作の終了時の操作を指す。
応用操作情報は、パラメータを含む。パラメータとは、座標、及び応用操作検知部22が座標を取得した時刻(取得時刻)を指す。タッチパネル12に対するタップ操作が検知されると、タップ操作を示すと共にパラメータを含むタップ操作情報が応用操作情報として応用操作検知部22によって生成される。また、タッチパネル12に対するフリック操作が検知されると、フリック操作を示すと共にパラメータを含むフリック操作情報が応用操作情報として応用操作検知部22によって生成される。また、タッチパネル12に対するダブルタップ操作が検知されると、ダブルタップ操作を示すと共にパラメータを含むダブルタップ操作情報が応用操作情報として応用操作検知部22によって生成される。
また、タッチパネル12に対するロングプレス開始操作が検知されると、ロングプレス開始操作を示すと共にパラメータを含むロングプレス開始操作情報(以下、「LP開始情報」という)が応用操作情報として応用操作検知部22によって生成される。また、タッチパネル12に対するロングプレス終了操作が検知されると、ロングプレス終了操作を示すと共にパラメータを含むロングプレス終了操作情報(以下、「LP終了情報」という)が応用操作情報として応用操作検知部22によって生成される。
また、タッチパネル12に対するドラッグ開始操作が検知されると、ドラッグ開始操作を示すと共にパラメータを含むドラッグ開始操作情報(以下、「DG開始情報」という)が応用操作情報として応用操作検知部22によって生成される。また、タッチパネル12に対するドラッグ移動操作が検知されると、ドラッグ移動操作を示すと共にパラメータを含むドラッグ移動操作情報(以下、「DG移動情報」という)が応用操作情報として応用操作検知部22によって生成される。また、タッチパネル12に対するドラッグ終了操作が検知されると、ドラッグ終了操作を示すと共にパラメータを含むドラッグ終了操作情報(以下、「DG終了情報」という)が応用操作情報として応用操作検知部22によって生成される。
また、タッチパネル12に対するピンチオープン開始操作が検知されると、ピンチオープン開始操作を示すと共にパラメータを含むピンチオープン開始操作情報(以下、「PO開始情報」という)が応用操作情報として応用操作検知部22によって生成される。また、タッチパネル12に対するピンチオープン終了操作が検知されると、ピンチオープン終了操作を示すと共にパラメータを含むピンチオープン終了操作情報(以下、「PO終了情報」という)が応用操作情報として応用操作検知部22によって生成される。
また、タッチパネル12に対するピンチクローズ開始操作が検知されると、ピンチクローズ開始操作を示すと共にパラメータを含むピンチクローズ開始操作情報(以下、「PC開始情報」という)が応用操作情報として応用操作検知部22によって生成される。また、タッチパネル12に対するピンチクローズ終了操作が検知されると、ピンチクローズ終了操作を示すと共にパラメータを含むピンチクローズ終了操作情報(以下、「PC終了情報」という)が応用操作情報として応用操作検知部22によって生成される。
なお、PO開始情報、PO終了情報、PC開始情報及びPC終了情報の各々に含まれるパラメータは、第1座標、第2座標、第1取得時刻、及び第2取得時間である。ここで、第1座標とは、2つの接触指示位置のうちの一方の接触指示位置を特定する座標を意味し、第2座標とは、他方の接触指示位置を特定する座標を意味する。また、第1取得時刻とは、検知部14が第1座標を取得した時刻を意味し、第2取得時刻とは、検知部14が第2座標を取得した時刻を意味する。
判定部16は、保留後通知部24及び時間経過後通知部26を含む。保留後通知部24は、応用操作検知部22で生成された応用操作情報のアプリケーション18への通知を保留する。そして、保留後通知部24は、保留状態の応用操作情報から、判定結果に基づいて選定した応用操作情報をアプリケーション18に通知する。
時間経過後通知部26は、保留後通知部24で保留状態の応用操作情報の保留時間が所定時間を経過した場合に、保留状態の応用操作情報をアプリケーション18に通知する。
一例として図2に示すように、スマートデバイス10は、CPU(中央処理装置:Central Processing Unit)30、一次記憶部32及び二次記憶部34を含み、CPU30、一次記憶部32及び二次記憶部34はバス36を介して接続されている。なお、一次記憶部32とは、揮発性のメモリを意味し、例えばRAM(Random Access Memory)を指す。二次記憶部34とは、不揮発性のメモリを意味し、例えばフラッシュメモリやHDD(Hard Disk Drive)を指す。
一次記憶部32は、検知結果記憶領域32A、基本操作記憶領域32B、応用操作記憶領域32C、保留操作記憶領域32D、及び操作間角度記憶領域32Eを有する。また、一次記憶領域32は、ドラッグ角度記憶領域(DG角度記憶領域)32F、ドラッグ座標記憶領域(DG座標記憶領域)32G、及びプログラム等使用領域32Hを有する。
検知結果記憶領域32Aは、検知結果情報が一時的に記憶される記憶領域である。基本操作記憶領域32Bは、基本操作情報が一時的に記憶される記憶領域である。応用操作記憶領域32Cは、応用操作情報が一時的に記憶される記憶領域である。
保留操作記憶領域32Dは、応用操作情報のアプリケーション18への通知を保留するために応用操作情報が一時的に記憶される記憶領域である。なお、保留操作記憶領域32Dには、DG移動情報以外の応用操作情報が記憶される。よって、DG移動情報のアプリケーション18への通知が保留されることはない。
操作間角度記憶領域32Eは、後述の操作間角度(例えば、図8のステップ136及び図12のステップ216参照)が一時的に記憶される記憶領域である。
DG角度記憶領域32Fは、後述のドラッグ方向角度(DG方向角度(例えば、図9のステップ170、図18のステップ312、図19のステップ342、図21のステップ380、及び図22のステップ392参照))が一時的に記憶される記憶領域である。
DG座標記憶領域32Gは、後述のドラッグ位置座標(DG位置座標(例えば、図9のステップ172、図13のステップ242、図14のステップ256、図15のステップ270、及び図17のステップ302参照))が一時的に記憶される記憶領域である。なお、DG角度記憶領域32Fには、実際の算出が不可能な角度(例えば10000度)が初期設定値として記憶されており、DG方向角度が算出される毎に、算出されたDG方向角度が上書き保存される。
プログラム等使用領域32Hは、アプリケーション18、後述の基本操作検知プログラム38、応用操作検知プログラム40、時間経過後通知プログラム42及び応用操作テーブル44を使用するための記憶領域である。
二次記憶部34は、アプリケーション18を記憶している。また、二次記憶部34は、開示の技術におけるタッチ操作検出プログラムの一例である基本操作検知プログラム38を記憶している。また、二次記憶部34は、開示の技術におけるタッチ操作検出プログラムの一例である応用操作検知プログラム40を記憶している。また、二次記憶部34は、開示の技術におけるタッチ操作検出プログラムの一例である時間経過後通知プログラム42を記憶している。更に、二次記憶部34は、応用操作テーブル44を記憶している。なお、以下では、基本操作検知プログラム38、応用操作検知プログラム40及び時間経過後通知プログラム42を区別して説明する必要がない場合、「プログラム」という。
CPU30は、二次記憶部34から基本操作検知プログラム38を読み出してプログラム等使用領域32Hに展開し、基本操作検知プログラム38が有するプロセスを実行する。基本操作検知プログラム38は、基本操作検知プロセス38Aを有する。CPU30は、基本操作検知プロセス38Aを実行することで、図1に示す基本操作検知部20として動作する。
CPU30は、二次記憶部34から応用操作検知プログラム40を読み出してプログラム等使用領域32Hに展開し、応用操作検知プログラム40が有する各プロセスを実行する。応用操作検知プログラム40は、応用操作検知プロセス40A及び保留後通知プロセス40Bを有する。CPU30は、応用操作検知プロセス40Aを実行することで、図1に示す応用操作検知部22として動作する。CPU30は、保留後通知プロセス40Bを実行することで、図1に示す保留後通知部24として動作する。
CPU30は、二次記憶部34から時間経過後通知プログラム42を読み出してプログラム等使用領域32Hに展開し、時間経過後通知プログラム42が有するプロセスを実行する。時間経過後通知プログラム42は、時間経過後通知プロセス42Aを有する。CPU30は、時間経過後通知プロセス42Aを実行することで、図1に示す時間経過後通知部26として動作する。
なお、ここではプログラムを二次記憶部34から読み出す場合を例示したが、必ずしも最初から二次記憶部34に記憶させておく必要はない。例えば、スマートデバイス10に接続されて使用されるSSD(Solid State Drive)、ICカード、光磁気ディスク、CD−ROMなどの任意の「可搬型の記憶媒体」に先ずはプログラムを記憶させておいてもよい。そして、CPU30がこれらの可搬型の記憶媒体からプログラムを取得して実行するようにしてもよい。また、通信回線を介してスマートデバイス10に接続されるコンピュータ又はサーバ装置等の外部電子計算機の記憶部にプログラムを記憶させておいてもよい。この場合、CPU30は外部電子計算機からプログラムを取得して実行する。
応用操作テーブル44は、基本操作情報から応用操作情報を導出するためのテーブルである。一例として図3に示すように、応用操作テーブル44では、基本操作情報の異なる組み合わせ(応用操作に応じて予め定められた組み合わせ)の各々に対して応用操作情報が対応付けられている。図3に示す例では、タップ操作情報に対して、接触開始操作を示す接触開始操作情報(基本操作情報)及び接触終了操作を示す接触終了操作情報(基本操作情報)が生成順に対応付けられている。また、図3に示す例では、フリック操作情報に対して、接触開始操作情報、移動操作を示す移動操作情報(基本操作情報)及び接触終了操作情報が生成順に対応付けられている。また、図3に示す例では、DG開始操作情報に対して、接触開始操作情報、及び3つの移動操作情報が生成順に対応付けられている。このように、応用操作情報は、基本操作情報によって規定されている。
図2に戻って、スマートデバイス10は、外部インタフェース(I/F)46を含み、バス36に接続されている。外部I/F46は、外部装置(例えばパーソナル・コンピュータやUSBメモリ)に接続され、外部装置とCPU30との間の各種情報の送受信を司る。
スマートデバイス10は、タッチパネル・ディスプレイ48を含む。タッチパネル・ディスプレイ48は、タッチパネル12及びディスプレイ(例えば液晶ディスプレイ)50を備えている。ディスプレイ50は、バス36に接続されており、CPU30の制御下で各種情報を表示する。タッチパネル12は、例えば、静電容量方式のタッチパネルであり、タッチパネル本体52を含む。タッチパネル本体52は、網目状に張り巡らされた電極パターンを有しており、電極の静電容量の変化を検知することで、指示体(例えば人間の指のように導電性を有する指示体)がタッチパネル12に接触したことを検知する。タッチパネル本体52は、バス36に接続されており、検知結果情報をCPU30に出力する。なお、タッチパネル12で採用される位置検知方式は、静電容量方式に限らず、マトリクススイッチ方式、抵抗膜方式、表面弾性波方式、赤外線方式、又は電磁誘導方式等の他の位置検知方式であってもよい。
一例として図4に示すように、タッチパネル12は、各々透光性を有するタッチパネル本体52、ガラス板54、及びフィルム56を含む。タッチパネル本体52は、ディスプレイ50の表面に重ねられており、ガラス板54は、タッチパネル本体52に接触して重ねられている。また、フィルム56は、ガラス板54の表面に貼り付けられている。フィルム56とは、例えば、ディスプレイ50の表示内容の覗き見防止用(ショルダーハッキング防止用)のフィルムを指す。なお、ガラス板54及びフィルム56は共に、タッチパネル本体52による検知を妨げない材質及び厚さで形成されている。従って、フィルム56とガラス板54とが密着している箇所に指示体が接触した場合、この接触はタッチパネル本体52によって検知される。逆に、フィルム56とガラス板54とが密着していない箇所(例えば、気泡が混入している箇所(気泡混入箇所))に指示体が接触した場合、この接触はタッチパネル本体52によって検知されない。そのため、スライド操作中に指示体が気泡混入箇所を乗り上がって通過した場合にタッチパネル12で非検知期間が発生することがある。
次に本第1実施形態の作用を説明する。先ず、タッチパネル12から検知結果情報がCPU30に入力される毎にCPU30が基本操作検知プログラム38を実行することでスマートデバイス10によって行われる基本操作検知処理について、図5に示すフローチャートを参照して説明する。なお、以下では、説明の便宜上、スマートデバイス10が、タッチパネル12に対する複数の単式操作及び単一の複式操作の並行した検知が可能で、かつ、タッチパネル12に対する複数の複式操作の並行した検知が不可能な場合について説明する。また、以下では、説明の便宜上、CPU30が基本操作検知プログラム38の実行と並行してアプリケーション18を実行している場合について説明する。また、以下では、説明の便宜上、単式操作の一例としてタップ操作を挙げ、複式操作の一例としてドラッグ操作を挙げて説明する。
図5に示す基本操作検知処理では、先ず、ステップ100で、基本操作検知部20は、検知結果情報を検知結果記憶領域32Aに時系列に記憶し、その後、ステップ102へ移行する。
ステップ102で、基本操作検知部20は、基本操作情報を生成する条件(基本操作生成条件)を満足したか否かを判定する。基本操作生成条件とは、例えば、接触開始操作情報、移動操作情報及び接触終了操作情報の何れかの基本操作情報を生成するに足る検知結果情報が検知結果記憶領域32Aに記憶されているとの条件を指す。
ステップ102において、基本操作生成条件を満足した場合は、判定が肯定されて、ステップ104へ移行する。ステップ102において、基本操作生成条件を満足していない場合は、判定が否定されて、基本操作検知処理を終了する。
ステップ104で、基本操作検知部20は、検知結果記憶領域32Aに記憶されている検知結果情報に応じた基本操作情報を生成し、その後、ステップ106へ移行する。
ステップ106で、基本操作検知部20は、ステップ104で生成した基本操作情報をアプリケーション18及び応用操作検知部22に通知し、その後、基本操作検知処理を終了する。
次に、基本操作検知部20から基本操作情報が応用操作検知部22に通知される毎にCPU30が応用操作検知プログラム40を実行することでスマートデバイス10によって行われる応用操作検知処理について、図6を参照して説明する。なお、応用操作検知処理では、フリック操作情報及びダブルタップ操作情報が、タップ操作情報と同様に処理される。また、PO開始情報、PC開始情報、及びLP開始情報が、DG開始情報と同様に処理される。更に、PO終了情報、PC終了情報、及びLP終了情報が、DG終了情報と同様に処理される。そのため、以下では、説明の便宜上、開示の技術に係る応用操作情報の一例としてタップ操作情報、DG開始情報、DG移動情報、及びDG終了情報を例に挙げて説明し、これ以外の応用操作情報に関する説明を省略する。また、以下では、説明の便宜上、CPU30が応用操作検知プログラム40の実行と並行してアプリケーション18を実行している場合について説明する。
図6に示す応用操作検知処理では、先ず、ステップ110で、応用操作検知部22は、基本操作検知部20から通知された基本操作情報を基本操作記憶領域32Bに時系列に記憶し、その後、ステップ112へ移行する。
ステップ112で、応用操作検知部22は、応用操作情報を生成する条件(応用操作生成条件)を満足したか否かを判定する。応用操作生成条件とは、例えば、図3に示す応用操作テーブル44に記憶されている応用操作情報の何れかを生成するに足る基本操作情報が基本操作記憶領域32Bに記憶されているとの条件を指す。
ステップ112において、応用操作生成条件を満足した場合は、判定が肯定されて、ステップ114へ移行する。ステップ112において、応用操作生成条件を満足していない場合は、判定が否定されて、応用操作検知処理を終了する。
ステップ114で、保留後通知部24は、基本操作記憶領域32Bに記憶されている基本操作情報に応じた応用操作情報を生成し、その後、ステップ116へ移行する。
ステップ116で、保留後通知部24は、一例として図7に示す保留後通知処理を実行し、その後、応用操作検知処理を終了する。
図7に示す保留後通知処理では、先ず、ステップ120で、保留後通知部24は、ステップ114で生成した応用操作情報を応用操作記憶領域32Cに記憶し、その後、ステップ122へ移行する。
ステップ122で、保留後通知部24は、応用操作記憶領域32Cに記憶されている応用操作情報がタップ操作情報か否かを判定する。ステップ122において、応用操作記憶領域32Cに記憶されている応用操作情報がタップ操作情報の場合は、判定が肯定されて、ステップ124へ移行する。ステップ122において、応用操作記憶領域32Cに記憶されている応用操作情報がタップ操作情報でない場合(DG開始情報、DG移動情報、及びDG終了情報の何れかの場合)は、判定が否定されて、ステップ126へ移行する。
ステップ124で、保留後通知部24は、一例として図8に示すタップ操作処理を実行し、その後、保留後通知処理を終了する。
ステップ126で、保留後通知部24は、一例として図11に示すドラッグ操作処理(DG操作処理)を実行し、その後、保留後通知処理を終了する。
図8に示すタップ操作処理では、先ず、ステップ130で、保留後通知部24は、ドラッグ操作中であることを示すドラッグ中フラグ(DG中フラグ)がオンか否かを判定する。ここで、DG中フラグがオンにされているということは、DG開始情報又はDG終了情報が保留されていることを意味する。なお、DG中フラグは、後述のステップ230(図12参照)及びステップ268(図15参照)でオンにされ、後述のステップ432(図24参照)でオフにされる。
ステップ130において、DG中フラグがオンの場合は、判定が肯定されて、ステップ132へ移行する。ステップ130において、DG中フラグがオフの場合は、判定が否定されて、ステップ147へ移行する。
ステップ132で、保留後通知部24は、応用操作記憶領域32Cに記憶されている応用操作情報に含まれる座標(以下、「最新座標」という)及びDG座標記憶領域32Gに記憶されているDG位置座標から、操作間距離を算出する。ステップ132において、操作間距離とは、開示の技術における位置間隔の一例を意味し、最新座標とDG位置座標との距離を指す。また、DG位置座標とは、一例として図25に示すように、タッチパネル12に対する指示体57によるドラッグ操作59(開示の技術における先行スライド操作の一例)の軌跡を示すDG軌跡60の終了位置Pdの座標を指す。また、図25に示す例では、タッチパネル12に対して行われたタップ操作の位置P1又はP2の座標がステップ132での最新座標に該当する。
次のステップ134で、保留後通知部24は、ステップ132で算出した操作間距離が開示の技術における第3閾値及び第6閾値の一例である第1所定値(例えば5ミリメートル)未満か否かを判定する。操作間距離が第1所定値未満とは、一例として図25に示すように、終了位置Pdを中心とした半径Ssの円の内側にタップ操作の位置が存在することを意味する。
なお、第1所定値を可変値とすることも考えられる。例えば、DG軌跡をなぞる速度から、DG軌跡がそのまま等速移動したと仮定した場合に接触すると想定される座標を算出し、当該座標と終了位置Pdとの距離を第1所定値とすることで、より判定の確からしさを高めることが可能である。
半径Ssの円の内側にタップ操作の位置が存在する場合の一例として、例えば図26Aに示すように、ドラッグ操作中に指示体57がフィルム56に引っ掛かってタッチパネル12から一旦離れた後に半径Ssの円の内側でタップ操作が行われる場合が例示できる。また、この他にも、例えば図26Bに示すように、ドラッグ操作中に指示体57が気泡混入箇所48Aを乗り越えることで指示体57がタッチパネル12から一旦離れた後に半径Ssの円の内側でタップ操作が行われる場合が例示できる。なお、図26Aに示す例では、ドラッグ操作が途切れてタップ操作が行われる場合が示されており、図26Bに示す例では、ドラッグ操作が途切れてタップ操作が行われる場合とドラッグ操作が途切れた後に再びドラッグ操作が開始される場合とが示されている。
ステップ134において、ステップ132で算出した操作間距離が第1所定値未満の場合(図25に示す例では、最新座標が位置P1の座標の場合)は、判定が肯定されて、ステップ136へ移行する。ステップ134において、ステップ132で算出した操作間距離が第1所定値以上の場合(図25に示す例では、最新座標が位置P2の座標の場合)は、判定が否定されて、ステップ146へ移行する。
ステップ136で、保留後通知部24は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標から操作間角度を算出し、算出した操作間角度を操作間角度記憶領域32Eに記憶(上書き保存)し、その後、ステップ138へ移行する。ステップ136において、操作間角度とは、開示の技術における操作間方向を規定する角度の一例を意味し、最新座標とDG位置座標とを結ぶ線分とタッチパネル12における基準線L(図27参照)の角度(ここでは一例として0度)との成す角度を指す。例えば、図27に示すように、タッチパネル12に対して行われたタップ操作の位置P3(P4)の座標を最新座標とした場合、終了位置Pdと位置P3(P4)とを結ぶ線分と基準線Lとの成す角度θd3(θd4)が操作間角度である。基準線Lとは、例えば、タッチパネル12に対する指示体の接触位置を特定する座標を規定しているX軸を指す。
ステップ138で、保留後通知部24は、DG角度記憶領域32Fに記憶されているDG方向角度と操作間角度記憶領域32Eに記憶されている操作間角度との角度差(開示の技術における第1角度の一例)を算出し、その後、ステップ140へ移行する。DG方向角度は、例えば、後述のステップ170(図9参照)、ステップ300(図17参照)及びステップ312(図18参照)等でDG角度記憶領域32Fに記憶される。ここで、DG方向角度とは、開示の技術における終了時スライド方向を規定する角度の一例を意味し、例えば、図27に示すように、DG軌跡60上の位置Pd−1と終了位置Pdとを結ぶ線分の延長線と基準線Lとの成す角度(図27に示す例では0度)を指す。位置Pd−1とは、終了位置PdでDG終了情報が応用操作検知処理で生成される1つ前の応用操作検知処理で生成された応用操作情報(例えばDG移動情報)に含まれる座標により特定される位置を指す。ステップ138において、角度差とは、DG方向角度(図27に示す例では0度)と操作間角度(図27に示す例では角度θd3又はθd4)との差の絶対値を指す。
ステップ140で、保留後通知部24は、ステップ138で算出した角度差が第2所定値(開示の技術における第1閾値及び第4閾値の一例)未満か否かを判定する。第2所定値とは、例えば、45度を意味し、図27に示す例では、角度θsを指す。ステップ140において、ステップ138で算出した角度差が第2所定値未満の場合は、判定が肯定されて、ステップ142へ移行する。ステップ140において、ステップ138で算出した角度差が第2所定値以上の場合は、判定が否定されて、ステップ146へ移行する。
ステップ142で、保留後通知部24は、保留中の応用操作情報があるか否かを判定する。保留中の応用操作情報とは、アプリケーション18への通知が保留されている応用操作情報を意味し、保留操作記憶領域32Dに現在記憶されている応用操作情報を指す。
ステップ142において、保留中の応用操作情報がある場合は、判定が肯定されて、ステップ144へ移行する。ステップ142において、保留中の応用操作情報がない場合は、判定が否定されて、ステップ150へ移行する。
ステップ144で、保留後通知部24は、一例として図9に示す保留中処理を実行し、その後、タップ操作処理を終了する。
ステップ146で、保留後通知部24は、応用操作記憶領域32Cに記憶されているタップ操作情報をアプリケーション18に通知すると共に、タップ操作情報を応用操作記憶領域32Cから削除し、その後、タップ操作処理を終了する。
ステップ147で、保留後通知部24は、タイマー(図示省略)が作動しているか否かを判定する。なお、タイマーは、後述のステップ152、ステップ176(図9参照)、ステップ246(図13参照)、ステップ306(図17参照)、ステップ328(図18参照)、及びステップ350(図19参照)で起動される。保留操作記憶領域32Dに応用操作情報が記憶されている状態で、タイマーが起動されてから後述の基準時間Tsを経過した場合、時間経過後通知部26により後述の時間経過後通知処理(図24参照)が行われる。
ステップ147において、タイマーが作動している場合は、判定が肯定されて、ステップ148へ移行する。ステップ147において、タイマーが作動していない場合は、判定が否定されて、ステップ150へ移行する。
ステップ148で、保留後通知部24は、タイマーを起動させてから開示の技術における第2閾値、第5閾値、及び所定時間の一例である基準時間Ts(例えば500ミリ秒)が経過したか否かを判定する。ステップ148において、タイマーを起動させてから基準時間Tsが経過した場合は、判定が肯定されて、ステップ149へ移行する。ステップ148において、タイマーを起動させてから基準時間Tsが経過していない場合は、判定が否定されて、ステップ154へ移行する。
ステップ149で、保留後通知部24は、タイマーを停止し、その後、ステップ150へ移行する。
ステップ150で、保留後通知部24は、タップ操作情報のアプリケーション18への通知を保留し、その後、ステップ152へ移行する。なお、タップ操作情報のアプリケーション18への通知の保留は、応用操作記憶領域32Cに記憶されているタップ操作情報が保留操作記憶領域32Dに記憶されると共に、応用操作記憶領域32Cからタップ操作情報が削除されることによって実現される。
ステップ152で、保留後通知部24は、タイマーを起動させ、その後、タップ操作処理を終了する。
ステップ154で、保留後通知部24は、一例として図10に示す第1経過前処理を実行し、その後、ステップ150へ移行する。
図9に示す保留中処理では、先ず、ステップ160で、保留後通知部24は、保留中の応用操作情報がDG開始情報か否かを判定する。ステップ160において、保留中の応用操作情報がDG開始情報の場合は、判定が肯定されて、ステップ162へ移行する。なお、DG開始情報の保留状態は、例えば、保留後通知部24により第2終了時処理(図18)又は第2移動時処理(図22)が行われることで解除される。
ステップ160で判定が肯定された場合、応用操作記憶領域32Cに現在記憶されている応用操作情報であるタップ操作情報により示されるタップ操作は、非検知期間を介して行われたタップ操作でない可能性がある。すなわち、2つの指示体(例えば左手の人差し指及び右手の人差し指)のうちの一方の指示体でドラッグ開始操作が行われている状態で他方の指示体でタップ操作が行われた可能性(ドラッグ操作と並行してタップ操作が検知された可能性)がある。この場合、他方の指示体で行われたタップ操作を誤操作と見做してもよいし、誤操作と見做さなくてもよいが、本第1実施形態では、説明の便宜上、誤操作と見做すこととする。
そこで、ステップ162で、保留後通知部24は、応用操作記憶領域32Cに現在記憶されている応用操作情報であるタップ操作情報を応用操作記憶領域32Cから削除し、その後、保留中処理を終了する。なお、ステップ162で削除対象とされたタップ操作情報により示されているタップ操作を誤操作と見做さない場合、保留後通知部24は、ステップ162でタップ操作情報を削除せずに、アプリケーション18に通知するようにしてもよい。
ステップ160において、保留中の応用操作情報がDG開始情報でない場合は、判定が否定されて、ステップ164へ移行する。ステップ160で判定が否定された場合、指示体がスライド操作中にフィルム56に引っ掛かったこと(図26A参照)又は指示体が気泡混入箇所48Aを乗り越えたこと(図26B参照)に起因してタップ操作が行われた可能性があると見做される。
そこで、先ず、ステップ164で、保留後通知部24は、保留中の応用操作情報がDG終了情報か否かを判定する。ステップ164において、保留中の応用操作情報がDG終了情報の場合は、判定が肯定されて(保留中のDG終了情報により示されるドラッグ終了操作が誤操作と判定されて)、ステップ166へ移行する。ステップ164において、保留中の応用操作情報がDG終了情報でない場合は、判定が否定されて(保留中の応用操作情報により示される応用操作(ここでは一例としてタップ操作)が誤操作と判定されて)、ステップ178へ移行する。
ステップ166で、保留後通知部24は、タイマーを停止し、その後、ステップ168へ移行する。
ステップ168で、保留後通知部24は、保留中の応用操作情報であるDG終了情報に含まれる座標(図27に示す例では、終了位置Pdに関する保留中のDG終了情報に含まれる座標)を有するDG移動情報をアプリケーション18に通知する。このように、ステップ168の処理が行われることで、ドラッグ操作が継続中であること(先行するドラッグ操作の一部であること)がアプリケーション18に通知される。
次のステップ170で、保留後通知部24は、最新座標及び保留中の応用操作情報であるDG終了情報に含まれる座標からDG方向角度を算出してDG角度記憶領域32Fに記憶(上書き保存)し、その後、ステップ172へ移行する。
ステップ172で、保留後通知部24は、保留中の応用操作情報であるDG終了情報に含まれる座標をDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ174へ移行する。
ステップ174で、保留後通知部24は、保留中の応用操作情報であるDG終了情報に含まれる座標を最新座標に更新すると共に、応用操作記憶領域32Cからタップ操作情報を削除し、その後、ステップ176へ移行する。なお、ステップ174でDG終了情報のアプリケーション18への通知の保留が続行されるのは、このDG終了情報により示されるドラッグ終了操作が誤操作かもしれないから(誤操作か否かが未だに確定していないから)である。
ステップ176で、保留後通知部24は、タイマーを起動させ、その後、保留中処理を終了する。
ステップ178で、保留後通知部24は、タイマーを停止し、その後、ステップ180へ移行する。
ステップ180で、保留後通知部24は、保留中の応用操作情報を保留操作記憶領域32Dから削除し、その後、ステップ182へ移行する。
ステップ182で、保留後通知部24は、タップ操作情報のアプリケーション18への通知を保留し、その後、ステップ176へ移行する。なお、ステップ182でタップ操作情報のアプリケーション18への通知が保留されるのは、このタップ操作情報により示されるタップ操作が誤操作かもしれないから(誤操作か否かが未だに確定していないから)である。
図10に示す第1経過前処理では、先ず、ステップ190で、保留後通知部24は、保留中の応用操作情報に含まれる座標と最新座標とから操作間距離を算出し、その後、ステップ192へ移行する。ステップ190において、操作間距離とは、開示の技術における位置間隔の一例を意味し、保留中の応用操作情報に含まれる座標と最新座標との距離を指す。
ステップ192で、保留後通知部24は、ステップ190で算出した操作間距離が第1所定値未満か否かを判定する。ステップ192において、ステップ190で算出した操作間距離が第1所定値未満の場合は、判定が肯定されて(保留中の応用操作情報により示される応用操作が誤操作と判定されて)、ステップ194へ移行する。ステップ192において、ステップ190で算出した操作間距離が第1所定値以上の場合は、判定が否定されて(保留中の応用操作情報により示される応用操作が誤操作でないと判定されて)、ステップ198へ移行する。
なお、ステップ192において判定が肯定される場合の一例としては、ユーザがタッチパネル12に対してドラッグ操作を行っているつもりでも、指示体がタッチパネル12から一瞬離れることで、実際はタップ操作として検知されてしまった場合が例示できる。具体的には、ユーザがタッチパネル12に対してドラッグ操作をしているつもりでも指示体がタッチパネル12に何度も引っ掛かってタッチパネル12に対する接触操作が複数のタップ操作として検知された場合が例示できる。この他にも、ユーザがタッチパネル12に対してドラッグ操作をしているつもりでも指示体の移動経路上に気泡混入箇所48A(図26B参照)が複数存在するためにタッチパネル12に対する接触操作が複数のタップ操作として検知された場合が例示できる。
ステップ194で、保留後通知部24は、保留中の応用操作情報を保留操作記憶領域32Dから削除し、その後、ステップ196へ移行する。
ステップ196で、保留後通知部24は、タイマーを停止し、その後、第1経過前処理を終了する。
ステップ198で、保留後通知部24は、保留中の応用操作情報をアプリケーション18に通知すると共に、保留操作記憶領域32Dから応用操作情報を削除し、その後、第1経過前処理を終了する。
図11に示すDG操作処理では、先ず、ステップ200で、保留後通知部24は、応用操作記憶領域32Cに記憶されている応用操作情報がDG開始情報か否かを判定する。ステップ200において、応用操作記憶領域32Cに記憶されている応用操作情報がDG開始情報の場合は、判定が肯定されて、ステップ202へ移行する。ステップ200において、応用操作記憶領域32Cに記憶されている応用操作情報がDG開始情報でない場合は、判定が否定されて、ステップ204へ移行する。
ステップ202で、保留後通知部24は、一例として図12に示すドラッグ開始時処理(DG開始時処理)を実行し、その後、DG操作処理を終了する。
ステップ204で、保留後通知部24は、応用操作記憶領域32Cに記憶されている応用操作情報がDG移動情報か否かを判定する。ステップ204において、応用操作記憶領域32Cに記憶されている応用操作情報がDG移動情報の場合は、判定が肯定されて、ステップ206へ移行する。ステップ204において、応用操作記憶領域32Cに記憶されている応用操作情報がDG移動情報でない場合は、判定が否定されて、ステップ208へ移行する。
ステップ206で、保留後通知部24は、一例として図20に示すドラッグ移動時処理(DG移動時処理)を実行し、その後、DG操作処理を終了する。
ステップ208で、保留後通知部24は、一例として図16に示すドラッグ終了時処理(DG終了時処理)を実行し、その後、DG操作処理を終了する。
図12に示すDG開始時処理では、先ず、ステップ210で、保留後通知部24は、DG中フラグがオンか否かを判定する。ステップ210において、DG中フラグがオンの場合は、判定が肯定されて、ステップ212へ移行する。ステップ210において、DG中フラグがオフの場合は、判定が否定されて、ステップ226へ移行する。
ステップ212で、保留後通知部24は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標から、操作間距離を算出し、その後、ステップ214へ移行する。
ステップ212において、操作間距離とは、開示の技術における位置間隔の一例を意味し、最新座標とDG位置座標との距離を指す。図28に示す例では、第1DG軌跡62の終了位置Pmの座標がDG位置座標に該当し、第2DG軌跡64の開始位置Psの座標が最新座標に該当する。従って、図28に示す例では、第1DG軌跡62の終了位置Pmの座標と第2DG軌跡64の開始位置Psの座標との距離αがステップ212における操作間距離に該当する。ここで、第1DG軌跡62とは、タッチパネル12に対する第1ドラッグ操作61(開示の技術における先行スライド操作の一例)の軌跡を指す。また、第2DG軌跡64とは、タッチパネル12の非検知期間(指示体57のタッチパネル12への非接触期間)を介して第1ドラッグ操作61に続けて行われた第2ドラッグ操作63(開示の技術における後行スライド操作の一例)の軌跡を指す。
ステップ214で、保留後通知部24は、ステップ212で算出した操作間距離が第1所定値未満の場合は、判定が肯定されて、ステップ216へ移行する。ステップ214において、ステップ212で算出した操作間距離が第1所定値以上の場合は、判定が否定されて、ステップ224へ移行する。
ステップ216で、保留後通知部24は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標から操作間角度を算出し、算出した操作間角度を操作間角度記憶領域32Eに記憶(上書き保存)し、その後、ステップ218へ移行する。ステップ216において、操作間角度とは、例えば、図28に示すように、終了位置Pmと開始位置Psとを結ぶ線分と基準線Lとの成す角度θ3を指す。
ステップ218で、保留後通知部24は、DG角度記憶領域32Fに記憶されているDG方向角度と操作間角度記憶領域32Eに記憶されている操作間角度との角度差を算出し、その後、ステップ220へ移行する。
図28に示す例で、DG方向角度とは、角度θ1又はθ2を指す。角度θ1は、第1DG軌跡62上の位置Pm−1と終了位置Pmとを結ぶ線分の延長線と基準線Lとの成す角度であり、角度θ2は、開始位置Psと第2DG軌跡64上の位置Ps+1とを結ぶ線分と基準線Lとの成す角度である。位置Pm−1とは、終了位置PmでDG終了情報が応用操作処理で生成される1つ前の応用操作検知処理で生成された応用操作情報(例えばDG移動情報)に含まれる座標により特定される位置を指す。位置Ps+1とは、開始位置PsでDG開始情報が応用操作処理で生成された1つ後の応用操作検知処理で生成された応用操作情報(例えばDG移動情報)に含まれる座標により特定される位置を指す。また、図28に示す例で、ステップ218における角度差とは、例えば、角度θ1と角度θ3との差の絶対値を指す。
ステップ220で、保留後通知部24は、ステップ218で算出した角度差が第2所定値未満か否かを判定する。ステップ220において、ステップ218で算出した角度差が第2所定値未満の場合は、判定が肯定されて(保留中の応用操作情報により示される応用操作が誤操作と判定されて)、ステップ222へ移行する。ステップ220において、ステップ218で算出した角度差が第2所定値以上の場合は、判定が否定されて(保留中の応用操作情報により示される応用操作が誤操作でないと判定されて)、ステップ224へ移行する。
ステップ222で、保留後通知部24は、一例として図13に示す誤操作対応処理を実行し、その後、DG開始時処理を終了する。
ステップ224で、保留後通知部24は、一例として図14に示す正操作対応処理を実行し、その後、DG開始時処理を終了する。
ステップ226で、保留後通知部24は、タイマーが作動しているか否かを判定する。ステップ226において、タイマーが作動している場合は、判定が肯定されて、ステップ228へ移行する。ステップ226において、タイマーが作動していない場合は、判定が否定されて、ステップ230へ移行する。
ステップ228で、保留後通知部24は、タイマーを起動させてから基準時間Tsが経過したか否かを判定する。ステップ228において、タイマーを起動させてから基準時間Tsが経過した場合は、判定が肯定されて、ステップ230へ移行する。ステップ228において、タイマーを起動させてから基準時間Tsが経過していない場合は、判定が否定されて、ステップ236へ移行する。
ステップ230で、保留後通知部24は、DG中フラグをオンにし、その後、ステップ232へ移行する。
ステップ232で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG開始情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ234へ移行する。
ステップ234で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG開始情報をアプリケーション18に通知すると共に、DG開始情報を応用操作記憶領域32Cから削除し、その後、DG開始時処理を終了する。
ステップ236で、保留後通知部24は、一例として図15に示す第2経過前処理を実行し、その後、DG開始時処理を終了する。
図13に示す誤操作対応処理では、ステップ240で、保留後通知部24は、保留中の応用操作情報に含まれる座標(図28に示す例では、終了位置Pmに関する保留中のDG終了情報に含まれる座標)を有するDG移動情報をアプリケーション18に通知する。このように、ステップ240の処理が行われることで、ドラッグ操作が継続中であること(一例として図28に示す開始位置Psでの操作が第1ドラッグ操作61の一部であること)がアプリケーション18に通知される。
なお、一例として図29に示すように、終了位置Pmと開始位置Psとを結ぶ線分上における位置Pn及び位置Pn+1でタップ操作が順に行われた場合、図9に示すステップ168の処理が行われることで、DG移動情報がアプリケーション18に通知される。この場合、応用操作情報として位置Pn+1の座標を有するDG終了情報が保留されるので(図9のステップ174参照)、ステップ240では、位置Pn+1の座標を有するDG移動情報がアプリケーション18に通知される。
次のステップ242で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG開始情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ244へ移行する。
ステップ244で、保留後通知部24は、DG開始情報のアプリケーション18への通知を保留し、その後、ステップ246へ移行する。なお、DG開始情報のアプリケーション18への通知の保留は、応用操作記憶領域32Cに記憶されているDG開始情報が保留操作記憶領域32Dに記憶されると共に、応用操作記憶領域32CからDG開始情報が削除されることによって実現される。
ステップ246で、保留後通知部24は、タイマーを起動させ、その後、誤操作対応処理を終了する。
図14に示す正操作対応処理では、先ず、ステップ250で、保留後通知部24は、保留中の応用操作情報(例えば、DG開始情報又はDG終了情報)に含まれる座標を有するDG終了情報をアプリケーション18に通知し、その後、ステップ252へ移行する。このように、ステップ250の処理が行われることで、一例として図28に示す終了位置Pmに関するDG終了情報がアプリケーション18に通知される。
ステップ252で、保留後通知部24は、保留中の応用操作情報を保留操作記憶領域32Dから削除し、その後、ステップ254へ移行する。
ステップ254で、保留後通知部24は、DG角度記憶領域23Fに初期設定値を記憶(上書き保存)し、その後、ステップ256へ移行する。
ステップ256で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG開始情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ258へ移行する。
ステップ258で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG開始情報をアプリケーション18に通知すると共に、DG開始情報を応用操作記憶領域32Cから削除し、その後、正操作対応処理を終了する。このように、ステップ258の処理が行われることで、一例として図28に示す開始位置Psに関するDG開始情報がアプリケーション18に通知される。
図15に示す第2経過前処理では、先ず、ステップ260で、保留後通知部24は、保留中の応用操作情報(ここでは一例としてタップ操作情報)に含まれる座標と最新座標とから操作間距離を算出し、その後、ステップ262へ移行する。ステップ260において、操作間距離とは、保留中の応用操作情報に含まれる座標と最新座標との距離を指す。
ステップ262で、保留後通知部24は、ステップ260で算出した操作間距離が第1所定値未満か否かを判定する。ステップ262において、ステップ260で算出した操作間距離が第1所定値以上の場合は、判定が否定されて(保留中の応用操作情報により示される応用操作が誤操作でないと判定されて)、ステップ264へ移行する。ステップ262において、ステップ260で算出した操作間距離が第1所定値未満の場合は、判定が肯定されて(保留中の応用操作情報により示される応用操作が誤操作と判定されて)、ステップ266へ移行する。
ステップ264で、保留後通知部24は、保留中の応用操作情報をアプリケーション18に通知し、その後、ステップ266へ移行する。
ステップ266で、保留後通知部24は、保留中の応用操作情報を保留操作記憶領域32Dから削除し、その後、ステップ268へ移行する。
ステップ268で、保留後通知部24は、DG中フラグをオンにし、その後、ステップ270へ移行する。
ステップ270で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG開始情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ272へ移行する。
ステップ272で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG開始情報をアプリケーション18に通知すると共に、DG開始情報を応用操作記憶領域32Cから削除し、その後、第2経過前処理を終了する。
図16に示すDG終了時処理では、先ず、ステップ280で、保留後通知部24は、タイマーを起動させてから基準時間Tsが経過したか否かを判定する。ステップ280において、タイマーを起動させてから基準時間Tsが経過した場合は、判定が肯定されて、ステップ282へ移行する。ステップ280において、タイマーを起動させてから基準時間Tsが経過していない場合は、判定が否定されて、ステップ286へ移行する。
ステップ282で、保留後通知部24は、タイマーを停止し、その後、ステップ284へ移行する。
ステップ284で、保留後通知部24は、一例として図17に示す第1終了時処理を実行し、その後、DG終了時処理を終了する。
ステップ286で、保留後通知部24は、保留中の応用操作情報がDG開始情報か否かを判定する。ステップ286において、保留中の応用操作情報がDG開始情報の場合(図28に示す例では、開始位置Psに関するDG開始情報が保留中の場合)は、判定が肯定されて、ステップ288へ移行する。ステップ286において、保留中の応用操作情報がDG開始情報でない場合(例えば、ドラッグ操作中(DGフラグがオンの場合)に他の指示体がタップ操作を行ったことでタップ操作情報が保留中の場合)は、判定が否定されて、ステップ290へ移行する。
ステップ288で、保留後通知部24は、一例として図18に示す第2終了時処理を実行し、その後、DG終了時処理を終了する。
ステップ290で、保留後通知部24は、一例として図19に示す第3終了時処理を実行し、その後、DG終了時処理を終了する。
図17に示す第1終了時処理では、先ず、ステップ300で、保留後通知部24は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標からDG方向角度を算出してDG角度記憶領域32Fに記憶(上書き保存)する。ステップ300で算出されるDG方向角度とは、例えば、図28に示す例における角度θ1を指す。
次のステップ302で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG終了情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ304へ移行する。
ステップ304で、保留後通知部24は、DG終了情報のアプリケーション18への通知を保留し、その後、ステップ306へ移行する。なお、DG終了情報のアプリケーション18への通知の保留は、応用操作記憶領域32Cに記憶されているDG終了情報が保留操作記憶領域32Dに記憶されると共に、応用操作記憶領域32CからDG終了情報が削除されることによって実現される。また、DG終了情報のアプリケーション18への通知の保留とは、例えば、図28に示す終了位置Pmに関するDG終了情報のアプリケーション18への通知の保留を意味する。
ステップ306で、保留後通知部24は、タイマーを起動させ、その後、第1終了時処理を終了する。
図18に示す第2終了時処理では、先ず、ステップ310で、保留後通知部24は、タイマーを停止し、その後、ステップ312へ移行する。
ステップ312で、保留後通知部24は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標からDG方向角度(図28に示す例では、角度θ2)を算出してDG角度記憶領域32Fに記憶(上書き保存)し、その後、ステップ314へ移行する。なお、ステップ312で用いる最新座標とは、例えば、図28に示す第2ドラッグ操作63が位置Ps+1で途切れた場合の位置Ps+1で生成されたDG終了情報に含まれる座標を指す。
ステップ314で、保留後通知部24は、DG角度記憶領域32Fに記憶されているDG方向角度と操作間角度記憶領域32Eに記憶されている操作間角度との角度差(図28に示す例では、|θ2−θ3|)を算出し、その後、ステップ316へ移行する。
ステップ316で、保留後通知部24は、ステップ314で算出した角度差が第2所定値未満か否かを判定する。ステップ316において、ステップ314で算出した角度差が第2所定値以上の場合は、判定が否定されて(一例として図28に示す第2ドラッグ操作63が第1ドラッグ操作61の一部でないと判定されて)、ステップ318へ移行する。ステップ316において、ステップ314で算出した角度差が第2所定値未満の場合は、判定が肯定されて(一例として図28に示す第2ドラッグ操作63が第1ドラッグ操作61の一部であると判定されて)、ステップ330へ移行する。
ステップ318で、保留後通知部24は、保留中の応用操作情報(DG開始情報)に含まれる座標を有するDG終了情報をアプリケーション18に通知し、その後、ステップ320へ移行する。ステップ318の処理が行われることで、一例として図28に示す開始位置Psで第1ドラッグ操作61が終了したと見做され、第1ドラッグ操作61に関するDG終了情報がアプリケーション18に通知される。
ステップ320で、保留後通知部24は、保留中の応用操作情報(DG開始情報)をアプリケーション18に通知し、その後、ステップ322へ移行する。ステップ320の処理が行われることで、一例として図28に示す開始位置Psで第2ドラッグ操作63が開始されたと判定され、第2ドラッグ操作63に関するDG開始情報がアプリケーション18に通知される。
ステップ322で、保留後通知部24は、保留中の応用操作情報(DG開始情報)を保留操作記憶領域32Dから削除し、その後、ステップ324へ移行する。
ステップ324で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG終了情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ326へ移行する。
ステップ326で、DG終了情報のアプリケーション18への通知を保留し、その後、ステップ328へ移行する。
ステップ328で、保留後通知部24は、タイマーを起動させ、その後、第2終了時処理を終了する。
ステップ330で、保留後通知部24は、保留中の応用操作情報(DG開始情報)に含まれる座標を有するDG移動情報をアプリケーション18に通知し、その後、ステップ322へ移行する。このように、ステップ330の処理が行われることで、一例として図28に示す開始位置Psで第1ドラッグ操作61が継続していると見做され、第1ドラッグ操作61に関するDG移動情報がアプリケーション18に通知される。
図19に示す第3終了時処理では、先ず、ステップ340で、保留後通知部24は、タイマーを停止し、その後、ステップ342へ移行する。
ステップ342で、保留後通知部24は、最新座標(DG終了情報に含まれる座標)及びDG座標記憶領域32Gに記憶されているDG位置座標からDG方向角度(図28に示す例では、角度θ2)を算出してDG角度記憶領域32Fに記憶(上書き保存)する。
次のステップ344で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG終了情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ346へ移行する。
ステップ346で、保留後通知部24は、保留中の応用操作情報を保留操作記憶領域32Dから削除し、その後、ステップ348へ移行する。なお、ステップ346で削除された応用操作情報により示される応用操作の一例として、2つの指示体(例えば左手の人差し指及び右手の人差し指)のうちの一方の指示体でドラッグ操作が行われている状態で他方の指示体で誤って行われたタップ操作が例示できる。
ステップ348で、保留後通知部24は、DG終了情報のアプリケーション18への通知を保留し、その後、ステップ350へ移行する。
ステップ350で、保留後通知部24は、タイマーを起動させ、その後、第3終了時処理を終了する。
図20に示すDG移動時処理では、先ず、ステップ360で、保留後通知部24は、タイマーを起動させてから基準時間Tsが経過したか否かを判定する。ステップ360において、タイマーを起動させてから基準時間Tsが経過した場合は、判定が肯定されて、ステップ364へ移行する。ステップ360において、タイマーを起動させてから基準時間Tsが経過していない場合は、判定が否定されて、ステップ366へ移行する。
ステップ364で、保留後通知部24は、一例として図21に示す第1移動時処理を実行し、その後、DG移動時処理を終了する。
ステップ366で、保留後通知部24は、保留中の応用操作情報がDG開始情報か否かを判定する。ステップ366において、保留中の応用操作情報がDG開始情報の場合(図28に示す例では、開始位置Psに関するDG開始情報が保留中の場合)は、判定が肯定されて、ステップ368へ移行する。ステップ366において、保留中の応用操作情報がDG開始情報でない場合(例えば、ドラッグ操作中(DGフラグがオンの場合)に他の指示体がタップ操作を行ったことでタップ操作情報が保留中の場合)は、判定が否定されて、ステップ370へ移行する。
ステップ368で、保留後通知部24は、一例として図22に示す第2移動時処理を実行し、その後、DG移動時処理を終了する。
ステップ370で、保留後通知部24は、一例として図23に示す第3移動時処理を実行し、その後、DG移動時処理を終了する。
図21に示す第1移動時処理では、先ず、ステップ380で、保留後通知部24は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標からDG方向角度を算出してDG角度記憶領域32Fに記憶(上書き保存)する。なお、ステップ380において、最新座標とは、一例として図28に示すように、位置Ps+1が第2ドラッグ操作63の途中位置である場合の位置Ps+1に関するDG移動情報に含まれる座標を指す。また、ステップ380で算出されるDG方向角度とは、例えば、図28に示す角度θ2を指す。
ステップ382で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG移動情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ384へ移行する。
ステップ384で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG移動情報をアプリケーション18に通知すると共に、DG移動情報を応用操作記憶領域32Cから削除し、その後、第1移動時処理を終了する。
図22に示す第2移動時処理では、先ず、ステップ390で、保留後通知部24は、タイマーを停止し、その後、ステップ392へ移行する。
ステップ392で、保留後通知部24は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標からDG方向角度(図28に示す例では、角度θ2)を算出し、DG角度記憶領域32Fに記憶(上書き保存)し、その後、ステップ394へ移行する。なお、ステップ392において、最新座標とは、一例として図28に示すように、位置Ps+1が第2ドラッグ操作63の途中位置である場合の位置Ps+1に関するDG移動情報に含まれる座標を指す。
ステップ394で、保留後通知部24は、DG角度記憶領域32Fに記憶されているDG方向角度と操作間角度記憶領域32Eに記憶されている操作間角度との角度差(図28に示す例では、|θ2−θ3|)を算出し、その後、ステップ396へ移行する。
ステップ396で、保留後通知部24は、ステップ394で算出した角度差が第2所定値未満か否かは判定する。ステップ396において、ステップ394で算出した角度差が第2所定値以上の場合は、判定が否定されて(一例として図28に示す第2ドラッグ操作63が第1ドラッグ操作61の一部でないと判定されて)、ステップ398へ移行する。ステップ396において、ステップ394で算出した角度差が第2所定値未満の場合は、判定が肯定されて(一例として図28に示す第2ドラッグ操作63が第1ドラッグ操作61の一部であると判定されて)、ステップ408へ移行する。
ステップ398で、保留後通知部24は、保留中の応用操作情報(DG開始情報)に含まれる座標を有するDG終了情報をアプリケーション18に通知し、その後、ステップ400へ移行する。ステップ398の処理が行われることで、一例として図28に示す開始位置Psで第1ドラッグ操作61が終了したと見做され、第1ドラッグ操作61に関するDG終了情報がアプリケーション18に通知される。
ステップ400で、保留後通知部24は、保留中の応用操作情報(DG開始情報)をアプリケーション18に通知し、その後、ステップ402へ移行する。ステップ400の処理が行われることで、一例として図28に示す開始位置Psで第2ドラッグ操作63が開始されたと判定され、第2ドラッグ操作63に関するDG開始情報がアプリケーション18に通知される。
ステップ402で、保留後通知部24は、保留中の応用操作情報(DG開始情報)を保留操作記憶領域32Dから削除し、その後、ステップ404へ移行する。
ステップ404で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG移動情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ406へ移行する。
ステップ406で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG移動情報をアプリケーション18に通知すると共に、DG移動情報を応用操作記憶領域32Cから削除し、その後、第2移動時処理を終了する。
ステップ408で、保留後通知部24は、保留中の応用操作情報(DG開始情報)に含まれる座標を有するDG移動情報をアプリケーション18に通知し、その後、ステップ402へ移行する。このように、ステップ408の処理が行われることで、ドラッグ操作が継続中であることがアプリケーション18に通知される。
図23に示す第3移動時処理では、先ず、ステップ410で、保留後通知部24は、タイマーを停止し、その後、ステップ412へ移行する。
ステップ412で、保留後通知部24は、最新座標(DG移動情報に含まれる座標)及びDG座標記憶領域32Gに記憶されているDG位置座標からDG方向角度(図28に示す例では、角度θ2)を算出してDG角度記憶領域32Fに記憶(上書き保存)する。
次のステップ414で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG移動情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ416へ移行する。
ステップ416で、保留後通知部24は、保留中の応用操作情報を保留操作記憶領域32Dから削除し、その後、ステップ418へ移行する。なお、ステップ416で削除された応用操作情報により示される応用操作の一例として、2つの指示体(例えば左手の人差し指及び右手の人差し指)のうちの一方の指示体でドラッグ操作が行われている状態で他方の指示体で誤って行われたタップ操作が例示できる。
ステップ418で、保留後通知部24は、応用操作記憶領域32Cに記憶されているDG移動情報をアプリケーション18に通知すると共に、DG移動情報を応用操作記憶領域32Cから削除し、その後、第3移動時処理を終了する。
次に、タイマーが起動されてから基準時間Tsが経過した場合にCPU30が時間経過後通知プログラム42を実行することでスマートデバイス10によって行われる時間経過後通知処理について、図24を参照して説明する。なお、以下では、説明の便宜上、CPU30が時間経過後通知プログラム42の実行と並行してアプリケーション18を実行している場合について説明する。
図24に示す時間経過後通知処理では、先ず、ステップ420で、時間経過後通知部26は、DG中フラグがオンか否かを判定する。ステップ420において、DG中フラグがオンの場合は、判定が肯定されて、ステップ422へ移行する。ステップ420において、DG中フラグがオンでない場合(オフの場合)は、判定が否定されて、ステップ434へ移行する。
ステップ422で、時間経過後通知部26は、保留中の応用操作情報がDG開始情報か否かを判定する。ステップ422において、保留中の応用操作情報がDG開始情報の場合は、判定が肯定されて、ステップ424へ移行する。ステップ422において、保留中の応用操作情報がDG開始情報でない場合は、判定が否定されて、ステップ426へ移行する。
ステップ424で、時間経過後通知部26は、DG開始情報の保留状態を続行し、その後、時間経過後通知処理を終了する。
ステップ426で、時間経過後通知部26は、保留中の応用操作情報がDG終了情報か否かを判定する。ステップ426において、保留中の応用操作情報がDG終了情報の場合は、判定が肯定されて、ステップ428へ移行する。ステップ426において、保留中の応用操作情報がDG終了情報でない場合は、判定が否定されて、ステップ434へ移行する。
ステップ428で、時間経過後通知部26は、DG角度記憶領域32Fに初期設定値を記憶(上書き保存)し、その後、ステップ430へ移行する。
ステップ430で、時間経過後通知部26は、応用操作記憶領域32Cに記憶されているDG終了情報をアプリケーション18に通知すると共に、DG終了情報を保留操作記憶領域32Dから削除し、その後、ステップ432へ移行する。
ステップ432で、時間経過後通知部26は、DG中フラグをオフにし、その後、時間経過後通知処理を終了する。
ステップ434で、時間経過後通知部26は、保留中の応用操作情報をアプリケーション18に通知すると共に、保留中の応用操作情報を保留操作記憶領域32Dから削除し、その後、時間経過後通知処理を終了する。
以上説明したように、スマートデバイス10では、検知部14により、タッチパネル12に対して非検知期間を介して前後して行われた先行接触操作及び後行接触操作が検知される。先行接触操作の終了が誤検知された場合の先行接触操作の検知終了から後行接触操作の検知開始までの経過時間(タイマー作動時間)及び操作間距離は何れも、先行接触操作の終了が誤検知されなかった場合と比べ、短い傾向がある。そのため、先行接触操作の終了が誤検知されたか否かは、タイマー作動時間及び操作間距離から予測することができる。そこで、スマートデバイス10では、判定部16により、タイマー作動時間及び操作間距離に基づいて、先行接触操作の終了が誤検知されたか否かが判定される。これにより、スマートデバイス10は、タッチパネル12に対して行われた誤操作を特定することができる。
また、スマートデバイス10では、判定部16により、タイマー作動時間及び操作間距離が、所定の条件を満たした場合に、先行接触操作と後行接触操作とを連続する一つの操作であると判定される。従って、スマートデバイス10は、ユーザが意図せずタッチパネル12で非検知期間を発生させた場合であっても、その非検知期間を挟んだ二つの操作を一つの連続した操作であるとして処理することを可能にする。
また、スマートデバイス10では、判定部16により、操作間角度が算出される(例えば、ステップ136(図8)及びステップ216(図12))。また、判定部16により、DG方向角度が算出される(例えば、ステップ170(図9)、ステップ312(図18)、ステップ380(図21)、ステップ392(図22)、及びステップ412(図23))。また、判定部16により、操作間角度及びDG方向角度から第1角度(角度差)が算出される(例えば、ステップ138(図8)及びステップ218(図12))。先行接触操作であるドラッグ操作(先行ドラッグ操作)の終了が誤検知された場合に判定部16で算出された第1角度は、先行ドラッグ操作の終了が誤検知されなかった場合に判定部16で算出された第1角度と比べ、小さい傾向がある。そこで、スマートデバイス10では、判定部16により、第1角度、タイマー作動時間、及び操作間距離に基づいて、先行ドラッグ操作の終了が誤検知されたか否かが判定される。これにより、スマートデバイス10は、先行ドラッグ操作で発生した誤操作を特定することができる。
また、スマートデバイス10では、判定部16により、第1角度、タイマー作動時間、及び操作間距離が所定の条件を満たした場合に、先行ドラッグ操作と後行接触操作とを連続する一つの操作(ドラッグ操作)であると判定される。従って、スマートデバイス10は、ユーザが意図せずタッチパネル12で非検知期間を発生させた場合であっても、その非検知期間を挟んだ先行ドラッグ操作と後行接触操作とを一つの連続したドラッグ操作であるとして処理することを可能にする。
上記では、判定部16が、第1角度、タイマー作動時間、及び操作間距離が所定の条件を満たした場合に、先行ドラッグ操作と後行接触操作とを連続する一つの操作(ドラッグ操作)であると判定する例を挙げて説明したが、開示の技術はこれに限らない。例えば、タイマー作動時間、及び操作間距離が所定の条件を満たした場合に、先行ドラッグ操作と後行接触操作とを連続する一つの操作であると判定してもよい。また、タイマー作動時間、及び操作間距離が所定の条件を満足した場合に、先行タップ操作と後行ドラッグ操作とを連続する一つの操作(ドラッグ操作)であると判定してもよい。また、タイマー作動時間、及び操作間距離が所定の条件を満足した場合に、先行タップ操作と後行タップ操作とを連続する一つの操作(例えば、タップ操作又はドラッグ操作)であると判定してもよい。このように、タイマー作動時間、及び操作間距離が所定の条件を満足した場合に、先行接触操作と後行接触操作とを連続する一つの操作(例えば、先行及び後行接触操作のうちの一方の操作)であると判定してもよい。この場合、スマートデバイス10は、第1角度を算出する必要がなくなるので、処理の高速化が期待できる。
また、スマートデバイス10では、第1角度が第2所定値未満で、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満の場合に、先行ドラッグ操作の終了が誤検知された可能性があると見做される。そこで、スマートデバイス10では、判定部16により、第1角度が第2所定値未満で、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満の場合に、先行ドラッグ操作の終了が誤検知されたと判定される。ここで、第1角度が第2所定値満で、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満の場合とは、例えば、図8に示すステップ142の判定が肯定された場合及び図12に示すステップ220の判定が肯定された場合を指す。このように、スマートデバイス10は、先行ドラッグ操作で発生した誤操作の特定を簡易な構成で実現することができる。
また、スマートデバイス10では、後行接触操作であるタップ操作(後行タップ操作)が検知され、かつ、第1角度、タイマー作動時間及び操作間距離が第1所定条件を満足した場合に、先行ドラッグ操作が継続中の可能性があると見做される。そこで、スマートデバイス10では、後行タップ操作が検知され、かつ、第1角度、タイマー作動時間及び操作間距離が第1所定条件を満足した場合に、判定部16により、後行タップ操作が先行ドラッグ操作の一部と判定される(ステップ168)。ここで、第1所定条件とは、第1角度が第2所定値未満で、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満であるとの条件を指す。従って、スマートデバイス10は、先行ドラッグ操作で誤操作が発生した場合であっても後行タップ操作を先行ドラッグ操作の一部と判定することができる。
また、スマートデバイス10では、判定部16により、後行接触操作であるドラッグ操作(後行ドラッグ操作)のDG方向角度及び操作間角度から第2角度(角度差)が算出される(例えば、ステップ314(図18))。先行ドラッグ操作と後行ドラッグ操作との間の非検知期間がユーザの意図に反して発生した場合の第2角度は、非検知期間をユーザが意図して発生させた場合と比べ、小さい傾向がある。この傾向を利用すれば、先行ドラッグ操作と後行ドラッグ操作との間の非検知期間がユーザの意図に反して発生したか否かを、判定部16で算出された第2角度(図28に示す例では、|θ2−θ3|)を利用して予測することができる。そこで、後行ドラッグ操作が検知され、かつ、第1角度、第2角度、タイマー作動時間、及び操作間距離が第2所定条件を満足した場合に、判定部16により、後行ドラッグ操作が先行ドラッグ操作の一部と判定される(例えば、ステップ330(図18))。ここで、第2所定条件とは、第1及び第2角度が第2所定値未満で、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満であるとの条件を指す。従って、スマートデバイス10は、先行ドラッグ操作で誤操作が発生した場合であっても後行ドラッグ操作を先行ドラッグ操作の一部と判定することができる。
また、スマートデバイス10では、検知された先行接触操作がタップ操作(先行タップ操作)で、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満の場合に、先行タップ操作の終了が誤検知された可能性があると見做される。そこで、スマートデバイス10では、先行タップ操作が検知され、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満の場合に、判定部16により、先行タップ操作の終了が誤検知されたと判定される。ここで、先行接触操作が先行タップ操作で、かつ、タイマー作動時間が基準時間Ts未満で、かつ、操作間距離が第1所定値未満の場合とは、例えば、図9のステップ164で判定が否定された場合及び図10のステップ192で判定が肯定された場合を指す。このように、スマートデバイス10は、先行タップ操作で発生した誤操作の特定を簡易な構成で実現することができる。
また、スマートデバイス10では、基本操作検知部20により基本操作が検知され、応用操作検知部22により、基本操作検知部20で検知された基本操作に基づいて応用操作が検知される。この応用操作は、先行接触操作の終了が検知可能な操作単位で規定されている。従って、スマートデバイス10は、先行接触操作の終了を容易に検知することができる。
また、スマートデバイス10では、基本操作検知部20により、基本操作情報がアプリケーション18に通知される(例えば、ステップ106(図5))。また、判定部16により、応用操作検知部22で生成された応用操作情報から、判定結果に基づいて選定した応用操作を示す応用操作情報がアプリケーション18に通知される(例えば、ステップ198(図10)及びステップ434(図24))。これにより、スマートデバイス10は、アプリケーション18に対する操作性を高めることができる。
また、スマートデバイス10では、保留後通知部24により、DG終了情報のアプリケーション18への通知が保留され、保留状態のDG終了情報により示されるドラッグ終了操作が誤操作か否かが判定される(例えば、ステップ214(図12))。保留後通知部24により、保留状態のDG終了情報により示されるドラッグ終了操作が誤操作でないと判定された場合に、DG終了情報がアプリケーション18に通知される(例えば、ステップ250(図14))。また、時間経過後通知部26により、保留後通知部24で保留状態のDG終了情報が所定時間を経過した場合に、保留状態のDG終了情報がアプリケーション18に通知される(例えば、ステップ430(図24))。これにより、スマートデバイス10は、ドラッグ終了操作が誤操作であることに起因してアプリケーション18に対する操作性が低下することを抑制することができる。
なお、上記第1実施形態では、ステップ134、ステップ192、ステップ214、及びステップ262の各々で第1所定値として共通の値を用いたが、開示の技術はこれに限定されるものではない。例えば、第1所定値に代えて、ステップ134、ステップ192、ステップ214、及びステップ262の各々で個別に設定された値(例えば、ステップ134、ステップ192、ステップ214、及びステップ262の各々で異なる値)を用いてもよい。
また、上記第1実施形態では、ステップ140、ステップ220、ステップ316、及びステップ396の各々で第2所定値として共通の値を用いたが、開示の技術はこれに限定されるものではない。例えば、第2所定値に代えて、ステップ140、ステップ220、ステップ316、及びステップ396の各々で個別に設定された値(例えば、ステップ140、ステップ220、ステップ316、及びステップ396の各々で異なる値)を用いてもよい。
また、上記第1実施形態では、基準時間Tsをデフォルトで設定された固定時間としたが、開示の技術はこれに限定されるものではなく、ユーザがタッチパネル・ディスプレイ48を介して指示した時間であってもよい。
また、上記第1実施形態では、図18のステップ318で、図28に示す開始位置Psで第1ドラッグ操作61が終了したと見做され、開始位置Psの座標を有するDG終了情報がアプリケーション18に通知されたが、開示の技術はこれに限定されるものではない。例えば、一例として図28に示す終了位置Pmで第1ドラッグ操作61が終了したと見做され、終了位置Pmの座標を有するDG終了情報がアプリケーション18に通知されるようにしてもよい。
また、上記第1実施形態では、図22のステップ398で、図28に示す開始位置Psで第1ドラッグ操作61が終了したと見做され、開始位置Psの座標を有するDG終了情報がアプリケーション18に通知されたが、開示の技術はこれに限定されるものではない。例えば、一例として図28に示す終了位置Pmで第1ドラッグ操作61が終了したと見做され、終了位置Pmの座標を有するDG終了情報がアプリケーション18に通知されるようにしてもよい。
また、上記第1実施形態では、図13のステップ240で、保留中の応用操作情報の座標を有するDG移動情報がアプリケーション18に通知されたが、開示の技術はこれに限定されるものではない。例えば、保留中の応用操作情報の座標に代えて最新座標を有するDG移動情報がアプリケーション18に通知されるようにしてもよい。
また、上記第1実施形態では、応用操作情報としてタップ操作情報、DG開始情報、DG移動情報、及びDG終了情報を例示したが、開示の技術はこれに限定されるものではなく、他の単式操作及び複式操作を示す応用操作情報であってもよい。但し、ピンチオープン開始操作、ピンチオープン終了操作、ピンチクローズ開始操作及びピンチクローズ終了操作は、接触指示位置が2つずつ存在するので、接触指示位置毎のスライド操作について上記第1実施形態で説明したドラッグ操作と同様の処理が行われる。
また、上記第1実施形態では、保留後通知部24が図8に示すステップ138及び図12に示すステップ218で角度差を算出し、算出した角度差を第2所定値と比較する例を挙げて説明したが、角度差を算出して第2所定値と比較しなくてもよい。この場合、角度差を算出して第2所定値と比較する処理が省略されるため、全体処理に要する時間が短縮される。しかし、判定精度を高めるためには、角度差を算出して第2所定値と比較する処理を行うことが好ましい。
また、上記第1実施形態では、フリック操作を単式操作として取り扱ったが、開示の技術はこれに限定されるものではなく、フリック操作を複式操作として取り扱ってもよい。この場合、フリック操作は、例えば、ドラッグ操作と同様に3つの操作単位(応用操作)で規定される。すなわち、フリック操作は、フリック開始操作、フリック移動操作、及びフリック終了操作の3つの応用操作で規定される。
また、上記第1実施形態では、基本操作情報がアプリケーション18に通知される例を挙げて説明したが、開示の技術はこれに限定されるものではなく、基本操作情報がアプリケーション18に通知されなくてもよい。
また、上記第1実施形態では、誤操作でないと判定された応用操作を示す応用操作情報がアプリケーション18に通知される例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、誤操作か否かが判定された結果を所定の出力先(例えば、スマートデバイス10に接続されている外部装置)に出力するようにしてもよい。
また、上記第1実施形態では、タッチパネル12に対するドラッグ操作で発生した誤操作が特定された場合に、ドラッグ操作が継続中と判定される例を挙げて説明したが、開示の技術はこれに限定されるものではない。例えば、CPU30は、タッチパネル12における誤操作の発生位置に特定の目印が表示されるようにディスプレイ50を制御するようにしてもよい。これにより、ユーザは、タッチパネル12において誤操作が行われた可能性がある位置を容易に認識することができる。
[第2実施形態]
上記第1実施形態では、複数の複式操作が並行して検知されないスマートデバイス10を例に挙げて説明したが、本第2実施形態では、複数の複式操作が並行して検知されるスマートデバイス500(図1及び図30参照)を例に挙げて説明する。なお、本第2実施形態では、上記第1実施形態で説明した構成要素については、同一の符号を付して説明を省略し、上記第1実施形態と異なる点について説明する。
一例として図1に示すように、本第2実施形態に係るスマートデバイス500は、上記第1実施形態で説明したスマートデバイス10と比べ、検知部14に代えて検知部502を有する点、及び、判定部16に代えて判定部504を有する点が異なる。
検知部502は、先行接触操作として複数の複式操作(例えば、ドラッグ操作(開示の技術における複数のスライド操作の一例)、ロングプレス操作、ピンチオープン操作、及びピンチクローズ操作)の並行した検知が可能な検知部である。
判定部504は、判定部16と比べ、保留後通知部24に代えて保留後通知部506を有する点が異なる。保留後通知部506は、先行接触操作として並行して複数のドラッグ操作が検知された場合、検知された複数のドラッグ操作の各々について、角度差、基準時間Ts、及び操作間距離に基づいて、ドラッグ操作に含まれる終了操作が誤操作か否かを判定する。
一例として図30に示すように、スマートデバイス500は、図2に示すスマートデバイス10と比べ、一次記憶部32に代えて一次記憶部508を有する点が異なる。一次記憶部508は、図2に示す一次記憶部32と比べ、後述のフラグ管理テーブル510に記憶されている識別子毎に、検知結果記憶領域32A、基本操作記憶領域32B、応用操作記憶領域32C、及び保留操作記憶領域32Dを有する点が異なる。また、一次記憶部508は、図2に示す一次記憶部32と比べ、後述のフラグ管理テーブル510に記憶されている識別子毎に、操作間角度記憶領域32E、DG角度記憶領域32F、DG座標記憶領域32G、及びプログラム等使用領域32Hを有する点が異なる。更に、一次記憶部508は、図2に示す一次記憶部32と比べ、後述のフラグ管理テーブル510に記憶されている識別子毎に、比較角度記憶領域32I及び識別子記憶領域32Jを有する点が異なる。
比較角度記憶領域32Iは、後述のステップ616(図34参照)で用いられる比較用角度を記憶する記憶領域であり、初期設定値として例えば10000度(実際の算出が不可能な角度)を記憶している。識別子記憶領域32Jは、後述のフラグ管理テーブル510に記憶されている識別子を記憶する記憶領域であり、初期設定値として例えば“10000”(フラグ管理テーブル510に記憶されていない識別子)を記憶している。
スマートデバイス500は、図2に示すスマートデバイス10と比べ、応用操作検知プログラム40に代えて応用操作検知プログラム41が二次記憶部34に記憶されている点、及び、フラグ管理テーブル510が二次記憶部34に記憶されている点が異なる。
CPU30は、二次記憶部34から応用操作検知プログラム41を読み出してプログラム等使用領域32Hに展開し、応用操作検知プログラム41が有する各プロセスを実行する。応用操作検知プログラム41は、図2に示す応用操作検知プログラム40と比べ、保留後通知プロセス40Bに代えて保留後通知プロセス41Bを有する点が異なる。CPU30は、保留後通知プロセス41Bを実行することで、図1に示す保留後通知部506として動作する。
フラグ管理テーブル510は、並行して検知された複式操作を管理するテーブルである。一例として図31に示すように、フラグ管理テーブル510は、複数の識別子、操作中フラグ、及び、タッチパネル12に対して現在行われている複式操作の種別(操作中フラグの種別)を示す操作種別情報を記憶している。操作中フラグとしては、上記第1実施形態で説明したDG中フラグ、ロングプレス操作中であることを示すLP中フラグ、ピンチオープン操作中であることを示すPO中フラグ、及び、ピンチクローズ操作中であることを示すPC中フラグが例示できる。
CPU30は、識別子毎に、フラグ管理テーブル510に記憶されている操作中フラグ及び操作種別情報を、タッチパネル12から入力された検知結果情報に基づいて更新する。図31に示す例では、“0”から“7”までの整数である複数の識別子の各々に対して、操作中フラグ及び操作種別情報が対応付けられている。従って、CPU30は、フラグ管理テーブル510を参照することで、タッチパネル12に対して最大8箇所で複式操作が並行して行われているか否かを判定することができる。
次に本第2実施形態の作用について説明する。スマートデバイス500では、上記第1実施形態に係るスマートデバイス10と比べ、図8に示すタップ操作処理に代えて図32に示すタップ操作処理が行われる点が異なる。また、スマートデバイス500では、上記第1実施形態に係るスマートデバイス10と比べ、図12に示すDG開始時処理に代えて図34に示すDG開始時処理が行われる点が異なる。そのため、以下では、上記第1実施形態と異なる点について説明する。
図32に示すタップ操作処理では、先ず、ステップ530で、保留後通知部506は、フラグ管理テーブル510から未処理の識別子を1つ取得し、その後、ステップ532へ移行する。ここで、未処理の識別子とは、後述のステップ532以降の処理が未だに行われていない識別子を意味する。
ステップ532で、保留後通知部506は、フラグ管理テーブル510に記憶されている操作中フラグのうちステップ530で取得した識別子に対応付けられている操作中フラグがオンか否かを判定する。ステップ532において、フラグ管理テーブル510に記憶されている操作中フラグのうちステップ530で取得した識別子に対応付けられている操作中フラグがオンの場合は、判定が肯定されて、ステップ534へ移行する。ステップ532において、フラグ管理テーブル510に記憶されている操作中フラグのうちステップ530で取得した識別子に対応付けられている操作中フラグがオフの場合は、判定が否定されて、ステップ539へ移行する。
ステップ534で、保留後通知部506は、ステップ532で判定した操作中フラグがDG中フラグか否かを判定する。ステップ534において、ステップ532で判定した操作中フラグがDG中フラグの場合は、判定が肯定されて、ステップ536へ移行する。ステップ534において、ステップ532で判定した操作中フラグがDG中フラグでない場合は、判定が否定されて、ステップ538へ移行する。
ステップ536で、保留後通知部506は、一例として図33に示すドラッグ操作対応処理(DG操作対応処理)を実行し、その後、ステップ539へ移行する。
ステップ538で、保留後通知部506は、操作別対応処理を実行し、その後、ステップ539へ移行する。ここで、操作別対応処理とは、ステップ532で判定した操作中フラグがLP中フラグの場合、一例として図33に示すDG操作対応処理と同様の処理(ドラッグ操作をロングプレス操作に置き換えた点のみが異なる処理)を指す。また、ステップ532で判定した操作中フラグがPO中フラグの場合、一例として図33に示すDG操作対応処理と同様の処理(ドラッグ操作をピンチオープン操作に置き換えた点のみが異なる処理)を指す。また、ステップ532で判定した操作中フラグがPC中フラグの場合、一例として図33に示すDG操作対応処理と同様の処理(ドラッグ操作をピンチクローズ操作に置き換えた点のみが異なる処理)を指す。
ステップ539で、保留後通知部506は、未処理の識別子(例えば、ステップ530で未だに取得していない識別子)が存在するか否かを判定する。ステップ539において、未処理の識別子が存在する場合は、判定が肯定されて、ステップ530へ移行する。ステップ539において、未処理の識別子が存在しない場合は、判定が否定されて、ステップ540へ移行する。
ステップ540で、保留後通知部506は、DG操作対応処理又は操作別対応処理が行われたか否かを判定する。ステップ540において、DG操作対応処理又は操作別対応処理が行われた場合は、判定が肯定されて、タップ操作処理を終了する。ステップ540において、DG操作対応処理又は操作別対応処理が行われなかった場合は、判定が否定されて、ステップ542へ移行する。
ステップ542で、保留後通知部506は、タイマーが作動しているか否かを判定する。ステップ542において、タイマーが作動している場合は、判定が肯定されて、ステップ544へ移行する。ステップ542において、タイマーが作動していない場合は、判定が否定されて、ステップ548へ移行する。
ステップ544で、保留後通知部506は、タイマーを起動させてから基準時間Tsが経過したか否かを判定する。ステップ544において、タイマーを起動させてから基準時間Tsが経過した場合は、判定が肯定されて、ステップ546へ移行する。ステップ544において、タイマーを起動させてから基準時間Tsが経過していない場合は、判定が否定されて、ステップ552へ移行する。
ステップ546で、保留後通知部506は、タイマーを停止し、その後、ステップ548へ移行する。
ステップ548で、保留後通知部506は、タップ操作情報のアプリケーション18への通知を保留し、その後、ステップ550へ移行する。
ステップ550で、保留後通知部506は、タイマーを起動させ、その後、タップ操作処理を終了する。
ステップ552で、保留後通知部506は、一例として図10に示す第1経過前処理を実行し、その後、ステップ548へ移行する。
図33に示すDG操作対応処理では、先ず、ステップ560で、保留後通知部506は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標から操作間距離を算出し、その後、ステップ562へ移行する。
ステップ562で、保留後通知部506は、ステップ560で算出した操作間距離が第1所定値未満か否かを判定する。ステップ562において、ステップ560で算出した操作間距離が第1所定値未満の場合は、判定が肯定されて、ステップ564へ移行する。ステップ562において、ステップ560で算出した操作間距離が第1所定値以上の場合は、判定が否定されて、ステップ574へ移行する。
ステップ564で、保留後通知部506は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標から操作間角度を算出し、算出した操作間角度を操作間角度記憶領域32Eに記憶(上書き保存)し、その後、ステップ566へ移行する。
ステップ566で、保留後通知部506は、DG角度記憶領域32Fに記憶されているDG方向角度と操作間角度記憶領域32Eに記憶されている操作間角度との角度差を算出し、その後、ステップ568へ移行する。
ステップ568で、保留後通知部506は、ステップ566で算出した角度差が第2所定値未満か否かを判定する。ステップ568において、ステップ566で算出した角度差が第2所定値未満の場合は、判定が肯定されて、ステップ570へ移行する。ステップ568において、ステップ566で算出した角度差が第2所定値以上の場合は、判定が否定されて、ステップ574へ移行する。
ステップ570で、保留後通知部506は、保留中の応用操作情報があるか否かを判定する。ステップ570において、保留中の応用操作情報がある場合は、判定が肯定されて、ステップ572へ移行する。ステップ570において、保留中の応用操作情報がない場合は、判定が否定されて、ステップ576へ移行する。
ステップ572で、保留後通知部506は、一例として図9に示す保留中処理を実行し、その後、タップ操作処理を終了する。
ステップ574で、保留後通知部506は、応用操作記憶領域32Cに記憶されているタップ操作情報をアプリケーション18に通知すると共に、タップ操作情報を応用操作記憶領域32Cから削除し、その後、タップ操作処理を終了する。
ステップ576で、保留後通知部506は、タップ操作情報のアプリケーション18への通知を保留し、その後、ステップ578へ移行する。
ステップ578で、保留後通知部506は、タイマーを起動させ、その後、タップ操作処理を終了する。
図34に示すDG開始時処理では、先ず、ステップ600で、保留後通知部506は、DG中フラグがオンの識別子がフラグ管理テーブル510に存在するか否かを判定する。ステップ600において、DG中フラグがオンの識別子がフラグ管理テーブル510に存在する場合は、判定が肯定されて、ステップ602へ移行する。ステップ600において、DG中フラグがオンの識別子がフラグ管理テーブル510に存在しない場合は、判定が否定されて、ステップ630へ移行する。
ステップ602で、保留後通知部506は、フラグ管理テーブル510から未処理の識別子を1つ取得し、その後、ステップ604へ移行する。ここで、未処理の識別子とは、後述のステップ604以降の処理が未だに行われていない識別子を意味する。
ステップ604で、保留後通知部506は、ステップ602で取得した識別子に対応付けられている操作中フラグがDG中フラグで、かつ、DG中フラグがオンか否かを判定する。なお、識別子に対応付けられている操作中フラグがDG中フラグか否かは、識別子に対して対応付けられている操作種別情報を参照して判定することができる。
ステップ604において、ステップ602で取得した識別子に対応付けられている操作中フラグがDG中フラグで、かつ、DG中フラグの場合は、判定が肯定されて、ステップ606へ移行する。ステップ604において、ステップ602で取得した識別子に対応付けられている操作中フラグがDG中フラグでない場合及びDG中フラグがオフの場合は、判定が否定されて、ステップ622へ移行する。
ステップ606で、保留後通知部506は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標から、操作間距離を算出し、その後、ステップ608へ移行する。
ステップ608で、保留後通知部506は、ステップ606で算出した操作間距離が第1所定値未満の場合は、判定が肯定されて、ステップ610へ移行する。ステップ608において、ステップ606で算出した操作間距離が第1所定値以上の場合は、判定が否定されて、ステップ622へ移行する。
ステップ610で、保留後通知部506は、最新座標及びDG座標記憶領域32Gに記憶されているDG位置座標から操作間角度を算出し、算出した操作間角度を操作間角度記憶領域32Eに記憶(上書き保存)し、その後、ステップ612へ移行する。
ステップ612で、保留後通知部506は、DG角度記憶領域32Fに記憶されているDG方向角度と操作間角度記憶領域32Eに記憶されている操作間角度との角度差を算出し、その後、ステップ614へ移行する。
ステップ614で、保留後通知部506は、ステップ612で算出した角度差が第2所定値未満か否かを判定する。ステップ614において、ステップ612で算出した角度差が第2所定値未満の場合は、判定が肯定されて(保留中の応用操作情報により示される応用操作が誤操作と判定されて)、ステップ616へ移行する。ステップ614において、ステップ612で算出した角度差が第2所定値以上の場合は、判定が否定されて(保留中の応用操作情報により示される応用操作が誤操作でないと判定されて)、ステップ622へ移行する。
ステップ616で、保留後通知部506は、ステップ612で算出した角度差が比較角度記憶領域32Iに記憶されている比較用角度未満か否かを判定する。ステップ616において、ステップ612で算出した角度差が比較角度記憶領域32Iに記憶されている比較用角度未満の場合は、判定が肯定されて、ステップ618へ移行する。ステップ616において、ステップ612で算出した角度差が比較角度記憶領域32Iに記憶されている比較用角度以上の場合は、判定が否定されて、ステップ622へ移行する。
ステップ618で、保留後通知部506は、ステップ612で算出した角度差を比較用角度として比較角度記憶領域32Iに記憶(上書き保存)することで比較用角度を更新し、その後、ステップ620へ移行する。
ステップ620で、保留後通知部506は、ステップ602で取得した識別子を識別子記憶領域32Jに記憶(上書き保存)することで、識別子記憶領域32Jに記憶される識別子を更新し、その後、ステップ622へ移行する。
ステップ622で、保留後通知部506は、未処理の識別子(例えば、ステップ602で未だに取得していない識別子)が存在するか否かを判定する。ステップ622において、未処理の識別子が存在する場合は、判定が肯定されて、ステップ602へ移行する。ステップ622において、未処理の識別子が存在しない場合は、判定が否定されて、ステップ624へ移行する。
ステップ624で、保留後通知部506は、識別子記憶領域32Jに記憶されている識別子が初期設定値か否かを判定する。ステップ624において、識別子記憶領域32Jに記憶されている識別子が初期設定値の場合は、判定が肯定されて、ステップ626へ移行する。ステップ624において、識別子記憶領域32Jに記憶されている識別子が初期設定値でない場合(フラグ管理テーブル510に記憶されている何れかの識別子の場合)は、判定が否定されて、ステップ628へ移行する。
ステップ626で、保留後通知部506は、一例として図14に示す正操作対応処理を実行し、その後、DG開始時処理を終了する。
ステップ628で、保留後通知部506は、一例として図13に示す誤操作対応処理を実行し、その後、DG開始時処理を終了する。
ステップ630で、保留後通知部506は、タイマーが作動しているか否かを判定する。ステップ630において、タイマーが作動している場合は、判定が肯定されて、ステップ632へ移行する。ステップ630において、タイマーが作動していない場合は、判定が否定されて、ステップ634へ移行する。
ステップ632で、保留後通知部506は、タイマーを起動させてから基準時間Tsが経過したか否かを判定する。ステップ632において、タイマーを起動させてから基準時間Tsが経過した場合は、判定が肯定されて、ステップ634へ移行する。ステップ632において、タイマーを起動させてから基準時間Tsが経過していない場合は、判定が否定されて、ステップ640へ移行する。
ステップ634で、保留後通知部506は、DG中フラグをオンにし、その後、ステップ636へ移行する。
ステップ636で、保留後通知部506は、応用操作記憶領域32Cに記憶されているDG開始情報の座標をDG位置座標としてDG座標記憶領域32Gに記憶(上書き保存)し、その後、ステップ638へ移行する。
ステップ638で、保留後通知部506は、応用操作記憶領域32Cに記憶されているDG開始情報をアプリケーション18に通知すると共に、DG開始情報を応用操作記憶領域32Cから削除し、その後、DG開始時処理を終了する。
ステップ640で、保留後通知部24は、一例として図15に示す第2経過前処理を実行し、その後、DG開始時処理を終了する。
以上説明したように、スマートデバイス500では、検知部502により先行接触操作として複数のドラッグ操作(先行ドラッグ操作)が並行して検知される。また、判定部504により、複数の先行ドラッグ操作が並行して検知された場合、検知された複数の先行ドラッグ操作の各々について、角度差、基準時間Ts、及び操作間距離に基づいて、先行ドラッグ操作の終了が誤検知されたか否かが判定される。これにより、スマートデバイス500では、複数の先行ドラッグ操作が並行して検知された場合であっても、先行ドラッグ操作で発生した誤操作を高精度に特定することができる。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
10,500 スマートデバイス
14,502 検知部
16,504 判定部
18 アプリケーション
20 基本操作検知部
22 応用操作検知部
24,506 保留後通知部
26 時間経過後通知部
59 ドラッグ操作
61 第1ドラッグ操作
63 第2ドラッグ操作

Claims (7)

  1. タッチパネルに対する指示体の接触位置を示す位置情報を取得し、取得した位置情報に基づいて、前記タッチパネルに対して非検知期間を介して前後して行われた先行接触操作及び後行接触操作を検知する検知部と、
    前記検知部が前記先行接触操作の終了を検知してから前記後行接触操作の開始を検知するまでの経過時間、及び、前記検知部が前記先行接触操作の終了を検知した終了位置と前記後行接触操作の開始を検知した開始位置との位置間隔、が所定の条件を満たした場合に、前記先行接触操作と前記後行接触操作とを連続する一つの操作であると判定する判定部と、
    を含む端末装置。
  2. 前記判定部は、前記検知部により前記先行接触操作として先行スライド操作が検知された場合、前記先行スライド操作における終了時スライド方向と前記終了位置から前記開始位置へ向かう操作間方向との成す第1角度、前記経過時間、及び、前記位置間隔、が所定の条件を満たした場合に、前記先行接触操作と前記後行接触操作とを連続する一つの操作であると判定する請求項1に記載の端末装置。
  3. 前記検知部は、複数のスライド操作の並行した検知が可能であり、
    前記判定部は、前記検知部によって前記先行接触操作として並行して複数のスライド操作が検知された場合に、検知された複数のスライド操作の各々を前記先行スライド操作とする請求項2に記載の端末装置。
  4. 前記検知部は、前記位置情報に基づいて基本操作を検知する基本操作検知部と、前記基本操作検知部により検知された前記基本操作に基づいて、前記先行接触操作の終了が検知可能な操作単位で前記先行接触操作及び前記後行接触操作の各々を規定する応用操作を検知する応用操作検知部と、を有する請求項1から請求項3の何れか1項に記載の端末装置。
  5. 前記基本操作検知部は、検知した基本操作を示す基本操作情報を生成し、生成した基本操作情報をアプリケーションプログラムに通知し、
    前記応用操作検知部は、検知した応用操作を示す応用操作情報を生成し、
    前記判定部は、前記応用操作検知部により生成された前記応用操作情報から、判定結果に基づいて選定した応用操作情報を前記アプリケーションプログラムに通知する請求項4に記載の端末装置。
  6. 前記判定部は、前記応用操作検知部により生成された前記応用操作情報の前記アプリケーションプログラムへの通知を保留し、保留状態の前記応用操作情報から、前記判定結果に基づいて選定した応用操作情報を前記アプリケーションプログラムに通知する保留後通知部と、前記保留後通知部で保留状態の前記応用操作情報の保留時間が所定時間を経過した場合に、保留状態の前記応用操作情報を前記アプリケーションプログラムに通知する時間経過後通知部と、を有する請求項5に記載の端末装置。
  7. コンピュータに、
    タッチパネルに対する指示体の接触位置を示す位置情報を取得し、取得した位置情報に基づいて、前記タッチパネルに対して非検知期間を介して前後して行われた先行接触操作及び後行接触操作を検知し、
    前記先行接触操作の終了を検知してから前記後行接触操作の開始を検知するまでの経過時間、及び、前記先行接触操作の終了を検知した終了位置と前記後行接触操作の開始を検知した開始位置との位置間隔、が所定の条件を満たした場合に、前記先行接触操作と前記後行接触操作とを連続する一つの操作であると判定する
    ことを含む処理を実行させるためのタッチ操作検出プログラム。
JP2013174758A 2013-08-26 2013-08-26 端末装置及びタッチ操作検出プログラム Pending JP2015043160A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013174758A JP2015043160A (ja) 2013-08-26 2013-08-26 端末装置及びタッチ操作検出プログラム
US14/320,968 US20150054795A1 (en) 2013-08-26 2014-07-01 Terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013174758A JP2015043160A (ja) 2013-08-26 2013-08-26 端末装置及びタッチ操作検出プログラム

Publications (1)

Publication Number Publication Date
JP2015043160A true JP2015043160A (ja) 2015-03-05

Family

ID=52479924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013174758A Pending JP2015043160A (ja) 2013-08-26 2013-08-26 端末装置及びタッチ操作検出プログラム

Country Status (2)

Country Link
US (1) US20150054795A1 (ja)
JP (1) JP2015043160A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134638A (ja) * 2016-01-28 2017-08-03 株式会社東海理化電機製作所 操作検出装置
US10976867B1 (en) * 2020-03-06 2021-04-13 Wacom Co., Ltd. System and method providing pen up positioning assist for a sensor surface

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839155B2 (en) * 2009-03-16 2014-09-16 Apple Inc. Accelerated scrolling for a multifunction device
US8988356B2 (en) * 2009-12-31 2015-03-24 Google Inc. Touch sensor and touchscreen user input combination
US8760417B2 (en) * 2010-10-15 2014-06-24 Sap Ag Touch-enabled circle control for time and date entry

Also Published As

Publication number Publication date
US20150054795A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
US11226724B2 (en) Swiping functions for messaging applications
US11301126B2 (en) Icon control method and terminal
US10275151B2 (en) Apparatus and method for cursor control and text selection and editing based on gesture-based touch inputs received in a virtual keyboard display area
US9965158B2 (en) Touch screen hover input handling
CN104536643B (zh) 一种图标拖动方法及终端
US8581869B2 (en) Information processing apparatus, information processing method, and computer program
US20140300559A1 (en) Information processing device having touch screen
US9594446B2 (en) Information processing device that determines operational mode based on user's touch
US9678639B2 (en) Virtual mouse for a touch screen device
US20110267371A1 (en) System and method for controlling touchpad of electronic device
EP2770423A2 (en) Method and apparatus for operating object in user device
KR20090130563A (ko) 단말 및 그의 기능 수행 방법
US9864514B2 (en) Method and electronic device for displaying virtual keypad
US20140347326A1 (en) User input using hovering input
EP2728456B1 (en) Method and apparatus for controlling virtual screen
EP2492788B1 (en) Zooming method
JP2016018510A5 (ja)
US10642481B2 (en) Gesture-based interaction method and interaction apparatus, and user equipment
CN106980433A (zh) 图标的分组方法及装置
JP2015043160A (ja) 端末装置及びタッチ操作検出プログラム
US20150160777A1 (en) Information processing method and electronic device
KR101422447B1 (ko) 압력 모델링을 통한 전자책 페이지 전환 방법 및 그 장치
KR20140067861A (ko) 터치 스크린 디스플레이 상에서의 객체 스크롤 방법 및 장치
JP2016066254A (ja) タッチ検出装置を備えた電子装置
CN104571855B (zh) 一种控制信息处理方法及终端