(57)【要約】【課題】タッチパネルパラメータを自動的にユーザに適した値に調整できる情報処理装置を提供する。【解決手段】情報処理装置１０（ＣＰＵ１４、ＯＳ２１）は、タッチパネル１１に対するタップ操作又は戻るボタン１３の押下操作がなされたときに、なされた操作の種類と当該操作がなされた時刻とを示すレコードを操作履歴テーブル３３に記憶し、操作履歴テーブル３３上の情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記戻りボタンの押下操作である第２操作、タップ操作である第３操作がこの順になされた、第１操作と第２操作との間の時間間隔が規定時間以下である特殊操作シーケンスを特定し、当該特殊操作シーケンスの特定結果に基づき、タッチパネルパラメータを更新する。【選択図】図１
2014142863.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルと、
前記タッチパネルに、現時点における画面の前画面が表示させるためのアイテムと、
操作履歴情報記憶部と、
前記タッチパネルを入出力装置として利用するアプリケーションを実行する制御部と
を含み、
前記制御部は、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を前記操作履歴情報記憶部に記憶する操作履歴記憶処理と、
前記操作履歴情報記憶部に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記アイテムの操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、当該操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を更新するタッチパネルパラメータ更新処理と
を行う
ことを特徴とする情報処理装置。
【請求項２】
前記タッチパネルパラメータ更新処理が、
前記操作シーケンスとして、第１操作と第３操作とが同一種類のタップ操作である第１種操作シーケンスと、第１操作と第３操作とが異なる種類のタップ操作である第２種操作シーケンスとを特定し、前記第１種操作シーケンスの特定結果に基づき、前記座標補正値を更新すると共に、前記第２種操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作の種類を判別するための時間閾値を更新する処理である
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、さらに、
前記タッチパネルのタップ座標をシステム用座標補正値に基づき補正することにより暫定座標を算出し、算出した暫定座標に基づき、実行中のアプリケーションの中からタップ操作が行われたアプリケーションを特定し、特定したアプリケーション用のアプリ別座標補正値と前記システム用座標補正値とに基づき前記タッチパネルのタップ座標を補正することにより補正後座標を算出し、当該補正後座標に基づき前記特定したアプリケーションのいずれのオブジェクトがタップされたかを判定する判定処理を行い、
前記操作履歴記憶処理が、
各タップ操作については、前記判定処理により特定されたアプリケーションの識別情報と前記判定処理により算出された前記補正後座標とを含む操作履歴情報を前記操作履歴情報記憶部に記憶する処理であり、
前記タッチパネルパラメータ処理が、
前記座標補正値として前記システム用座標補正値と１つ以上の前記アプリ別座標補正値とを更新する処理であって、特定した操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を第１アルゴリズムで処理することにより前記システム用座標補正値を更新し、特定した操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を、前記第１操作又は前記第３操作に含まれるアプリケーションの識別情報別に前記第１アルゴリズムで処理することにより、各アプリケーション用の前記アプリ別座標補正値を更新する処理である
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御部は、さらに、
前記タッチパネルのタップ座標をシステム用座標補正値に基づき補正することにより暫定座標を算出し、算出した暫定座標に基づき、実行中のアプリケーションの中からタップ操作が行われたアプリケーションを特定し、特定したアプリケーション用のアプリ別補正値と前記システム補正値とに基づき前記タッチパネルのタップ座標を補正することにより補正後座標を算出し、算出した補正後座標に基づき前記特定したアプリケーションのいずれのオブジェクトがタップされたかを判定する判定処理であって、前記特定したアプリケーション用のアプリ別時間閾値とシステム用時間閾値とを用いて前記タッチパネルに対して行われたタップ操作の種類を判定する判定処理を行い、
前記操作履歴記憶処理が、
各タップ操作については、タップ時間と前記判定処理により特定されたアプリケーションの識別情報と前記判定処理により算出された前記補正後座標とを含む操作履歴情報とを前記操作履歴情報記憶部に記憶する処理であり、
前記タッチパネルパラメータ処理が、
前記座標補正値として前記システム用座標補正値と１つ以上の前記アプリ別座標補正値とを更新すると共に前記時間閾値として前記システム用時間閾値と１つ以上の前記アプリ別時間閾値とを更新する処理であって、特定した第１種操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を第１アルゴリズムで処理することにより前記システム用座標補正値を更新し、特定した第１種操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を、前記第１操作又は前記第３操作に含まれるアプリケーションの識別情報別に前記第１アルゴリズムで処理することにより、各アプリケーション用の前記アプリ別座標補正値を更新し、特定した第２種操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を第２アルゴリズムで処理することにより前記システム用時間閾値を更新し、特定した第１種操作シーケンスに関する前記第１操作及び前記第３操作についての前記操作履歴情報を、前記第１操作又は前記第３操作に含まれるアプリケーションの識別情報別に前記第２アルゴリズムで処理することにより、各アプリケーション用の前記アプリ別時間閾値を更新する処理である
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
タッチパネルと、前記タッチパネルに、現時点における画面の前画面を表示させるためのアイテムとを備えた情報処理装置のタッチパネルパラメータの補正方法であって、
プロセッサが、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を操作履歴情報記憶部に記憶し、
前記操作履歴情報記憶部に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記アイテムの操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、
前記操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を規定する座標補正値を更新する
ことを特徴とするタッチパネルパラメータの補正方法。
【請求項６】
タッチパネルと、前記タッチパネルに、現時点における画面の前画面を表示させるためのボタンと、記憶装置とを備えた情報処理装置に、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを少なくとも示す操作履歴情報を前記記憶装置に記憶し、
前記記憶装置に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記戻りボタンの押下操作である第２操作、タップ操
作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、
前記操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を規定する座標補正値を補正する
処理を行わせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と、タッチパネルパラメータの補正方法と、プログラムとに関する。
【背景技術】
【０００２】
近年、タッチパネル（タッチスクリーン）をタップして操作する情報処理装置（スマートフォン、タブレットＰＣ（Personal Computer））が多くなってきているが、タッチパ
ネルのタップの仕方はユーザにより異なる。具体的には、タッチパネルに表示されているオブジェクトの下の方をタップする傾向があるユーザも、逆にオブジェクトの上の方をタップする傾向があるユーザもいる。また、ダブルタップを極めて早く行うユーザも、ダブルタップを早く行えないユーザも存在している。
【０００３】
そのため、タッチパネルを備えた情報処理装置（以下、単に情報処理装置と表記する）には、通常、ユーザの指が触れた領域とタップ座標の対応関係を設定／調整するための機能が付与されている。また、情報処理装置には、タップ操作の種類の判定用の時間閾値を設定／調整するための機能も付与されている。
【０００４】
ただし、一般的な情報処理装置が有する各機能は、いずれも、専用の設定画面を表示させなければ、上記のようなタッチパネルに関するパラメータ（以下、タッチパネルパラメータと表記する）を設定できないものとなっている。換言すれば、一般的なタッチパネルパラメータの設定（調整）機能は、各種タッチパネルパラメータを設定／調整できることを知らないユーザとっては、全く役に立たないものとなっている。
【０００５】
さらに、既存の情報処理装置の閾値関連の設定機能は、“スライダ等の操作により閾値を変更し、ダブルタップ等を行うことにより正しく閾値が変更できたかをチェックする”といった作業を繰り返さなければ、適切な設定を行えないものとなっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２８８１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
開示の技術の課題は、ユーザが、設定画面を用いたタッチパネルパラメータの設定作業を行わなくても良い情報処理装置と、そのような情報処理装置を実現できる技術とを、提供することにある。
【課題を解決するための手段】
【０００８】
開示の技術の一観点による情報処理装置は、
タッチパネルと、
前記タッチパネルに、現時点における画面の前画面が表示させるためのアイテムと、
操作履歴情報記憶部と、
前記タッチパネルを入出力装置として利用するアプリケーションを実行する制御部と
を含む。
そして、情報処理装置の制御部は、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行わ
れた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を前記操作履歴情報記憶部に記憶する操作履歴記憶処理と、
前記操作履歴情報記憶部に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記アイテムの操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、当該操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を更新するタッチパネルパラメータ更新処理と
を行う。
【０００９】
また、開示の技術の一観点によるタッチパネルパラメータの補正方法は、
タッチパネルと、前記タッチパネルに、現時点における画面の前画面を表示させるためのアイテムとを備えた情報処理装置のタッチパネルパラメータの補正方法であって、
プロセッサが、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を操作履歴情報記憶部に記憶し、
前記操作履歴情報記憶部に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記アイテムの操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、
前記操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を規定する座標補正値を更新する。
【００１０】
また、開示の技術の一観点によるプログラムは、
タッチパネルと、前記タッチパネルに、現時点における画面の前画面を表示させるためのボタンと、記憶装置とを備えた情報処理装置に、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを少なくとも示す操作履歴情報を前記記憶装置に記憶し、
前記記憶装置に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記戻りボタンの押下操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、
前記操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を規定する座標補正値を補正する
処理を行わせる。
【発明の効果】
【００１１】
開示の技術によれば、ユーザが、設定画面を用いたタッチパネルパラメータの設定作業を行わなくても良い情報処理装置、そのような情報処理装置を実現できる技術を提供できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１実施例に係る情報処理装置の概略構成図である。
【図２】図２は、第１実施例に係る情報処理装置の外観図である。
【図３】図３は、第１実施例に係る補正情報の説明図である。
【図４】図４は、第１実施例に係る解析結果テーブルの説明図である。
【図５】図５は、第１実施例に係る操作判別処理の流れ図である。
【図６】図６は、第１実施例に係る操作履歴テーブルの説明図である。
【図７】図７は、第１実施例に係る補正情報更新処理の流れ図である。
【図８】図８は、第１実施例に係る座標補正情報生成処理の流れ図である。
【図９】図９は、タップ先が誤認定された場合のユーザの操作例の説明図である。
【図１０】図１０は、タップ先が誤認定された場合のユーザの操作例の説明図である。
【図１１】図１１は、第１実施例に係るロングタップ閾値補正情報生成処理の流れ図である。
【図１２】図１２は、写真のサムネイル画面を表示するアプリケーションプログラムの機能の説明図である。
【図１３】図１３は、タップ操作の種類が誤認定された場合のユーザの操作例の説明図である。
【図１４】図１４は、第１実施例に係るダブルタップ閾値補正情報生成処理の流れ図である。
【図１５】図１５は、第２実施例に係る情報処理装置の概略構成図である。
【図１６】図１６は、第２実施例に係る操作履歴テーブルの説明図である。
【図１７】図１７は、第２実施例に係る解析結果テーブルの説明図である。
【図１８】図１８は、第２実施例に係るシステム用補正情報の説明図である。
【図１９】図１９は、第２実施例に係るアプリ別補正情報の説明図である。
【図２０】図２０は、第２実施例に係る操作判別処理の流れ図である。
【図２１】図２１は、タップオブジェクト特定処理の流れ図である。
【図２２】図２２は、間隔設定処理の流れ図である。
【図２３】図２３は、間隔閾値とイベント種類の組み合わせとの対応関係の説明図である。
【図２４】図２４は、第２実施例に係る補正情報更新処理の流れ図である。
【図２５Ａ】図２５Ａは、テーブル変換処理の内容を説明するための図（その１）である。
【図２５Ｂ】図２５Ｂは、テーブル変換処理の内容を説明するための図（その２）である。
【図２５Ｃ】図２５Ｃは、テーブル変換処理の内容を説明するための図（その３）である。
【図２６Ａ】図２６Ａは、テーブル変換処理の内容を説明するための図（その１）である。
【図２６Ｂ】図２６Ｂは、テーブル変換処理の内容を説明するための図（その２）である。
【図２７】図２７は、第２実施例に係る座標補正情報生成処理の流れ図である。
【図２８】図２８は、第２実施例に係るロングタップ閾値補正情報生成処理の流れ図である。
【図２９】図２９は、第２実施例に係るロングタップ閾値補正情報生成処理の流れ図である。
【図３０】図３０は、第２実施例に係る情報処理装置の機能を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の２実施例について図面を参照して詳細に説明する。尚、以下で説明する本発明の各実施例に係る情報処理装置の構成、及び、情報処理装置内のＣＰＵによる処理手順は、特に記載がない限りは、本発明の技術的範囲をそれらのみに限定する趣旨のものではない。
【００１４】
《第１実施例》
図１、図２に、夫々、第１実施例に係る情報処理装置１０の概略構成図、外観図を示す
。
【００１５】
図１に示してあるように、第１実施例に係る情報処理装置１０は、タッチパネル１１、押しボタン部１２、ＣＰＵ（Central Processing Unit）１４、ＲＯＭ（Read Only Memory）１５及びＲＡＭ(Random Access Memory)１６を、備える。尚、本情報処理装置１０は
、既存のスマートフォンのＯＳ（Operating System）をＯＳ２１に変更することにより実現（製造）した装置である。従って、情報処理装置１０は、図１には示していない近接センサ、照度センサ、姿勢センサ、マイク、スピーカー、カメラ、無線通信回路等も備える。
【００１６】
タッチパネル１１は、液晶パネル（液晶ディスプレイ）上に透明な位置入力装置を配置した、タッチスクリーンとも称されているユニットである。図２に示してあるように、このタッチパネル１１は、情報処理装置１０の筐体前面をほぼ覆うサイズを有している。
【００１７】
押しボタン部１２（図１）は、情報処理装置１０に設けられている各種押しボタン（キースイッチ）を構成要素としたユニットである。この押しボタン部１２には、タッチパネル１１に表示されている画面を、前画面に戻す際にユーザが押下する戻るボタン１３（図２参照）が含まれる。より正確には、押しボタン部１２には、それを押下することにより、タッチパネル１１の表示内容が、前回のタップ操作（又は戻るボタン１３の押下操作）前に表示されていたものに戻る“戻るボタン１３”が含まれる。以下、戻るボタン１３の押下操作のことを、キャンセル操作と表記する。
【００１８】
ＲＯＭ１５は、ＯＳ２１、各種アプリケーションプログラム（以下、アプリと表記する）、補正情報３０等を記憶した、書き換え可能な不揮発性記憶装置（本実施例では、フラッシュＲＯＭ）である。このＲＯＭ１５には、タッチパネル１１用のドライバ（以下、タッチパネルドライバと表記する）、押しボタン部１２用のドライバ等も記憶されている。
【００１９】
ＲＡＭ１６は、ＣＰＵ１４が実行する各種プログラム（ＯＳ２１、ドライバ、アプリ）がＲＯＭ１５からロードされる揮発性記憶装置である。情報処理装置１０の動作中、このＲＡＭ１６には、ＣＰＵ１４が実行する各種プログラムと共に、補正情報３０、操作履歴テーブル３３及び解析結果テーブル３４が記憶される。
【００２０】
ＣＰＵ１４は、ＲＡＭ１６上の各種プログラムに従って各種処理を行うユニットである。
【００２１】
ＯＳ２１は、ロングタップ閾値及びダブルタップ閾値が、自動的に、よりユーザに適した値に変更されるように、既存のＯＳ（本実施例では、Android（Google Inc.の商標または登録商標））を改良したプログラムである。また、ＯＳ２１は、タップ座標補正値が、自動的に、よりユーザに適した値に変更されるように、既存のＯＳを改良したプログラムともなっている。
【００２２】
ここで、ロングタップ閾値（以下、ＬＴ閾値とも表記する）とは、ロングタップ操作のタップ時間の最短時間を規定する時間情報のことである。具体的には、タップ操作には、タップ時間が比較的に短いシングルタップ操作と、タップ時間が比較的に長いロングタップ操作と、シングルタップ操作を短時間の間に２回繰り返すダブルタップ操作とがある。ＣＰＵ１４は、或るタップ操作がロングタップ操作であるかシングルタップ操作であるかを、当該タップ操作のタップ時間がＬＴ閾値以上であるか否かによって判定する。尚、タップ時間とは、ユーザの指がタッチパネル１１に触れていた時間のことである。タップ時間は、タッチパネルドライバにより特定（検出）される。
【００２３】
ダブルタップ閾値（以下、ＤＴ閾値とも表記する）とは、ダブルタップ操作中の２シングルタップ操作の最長時間間隔を規定する時間情報のことである。すなわち、ＣＰＵ１４は、シングルタップ操作が行われた場合、その操作が、ダブルタップ操作の１回目のシングルタップ操作であるか否かを判断するために、このＤＴ閾値が示している時間の間、次のタップ操作が行われるのを監視する。
【００２４】
タップ座標補正値とは、ユーザがタップしたタッチパネル１１上のオブジェクト（ボタン等）を特定するためのタップ座標を算出するために、タッチパネルドライバが検出するタップ座標に加算されるｘ方向の補正値及びｙ方向の補正値のことである。
【００２５】
以下、本実施例に係る情報処理装置１０の構成及び動作をさらに具体的に説明する。
【００２６】
まず、起動時における情報処理装置１０の動作を説明する。
情報処理装置１０の電源が投入されると、ＣＰＵ１４は、ＯＳ２１及び幾つかのドライバをＲＯＭ１５からＲＡＭ１６上にロードして各プログラムに従った動作を開始する。ＯＳ２１に従った動作を開始したＣＰＵ１４は、起動時処理を開始して、補正情報３０をＲＯＭ１５から読み出してＲＡＭ１６に記憶する。
【００２７】
図３に、補正情報３０の構成（データ構造）を示す。この図３に示してあるように、補正情報３０は、タップ座標補正値である座標補正値と、ＬＴ（ロングタップ）閾値の補正値であるＬＴ補正値と、ＤＴ（ダブルタップ）閾値の補正値であるＤＴ補正値とを含む。尚、製造直後の情報処理装置１０のＲＯＭ１５に記憶されている補正情報３０は、座標補正値、ＬＴ補正値、ＤＴ補正値が全て“０”となっている情報である。また、ＣＰＵ１４（ＯＳ２１）は、情報処理装置１０の電源がＯＦＦされた場合等に、ＲＡＭ１６上の補正情報３０をＲＯＭ１５に書き戻す。
【００２８】
補正情報３０中の座標補正値、ＬＴ補正値、ＤＴ補正値は、一般的な情報処理装置にてタップ座標、ＬＴ閾値、ＤＴ閾値の補正に使用されている情報と本質的には同じ情報である。ただし、補正情報３０中の各補正値は、設定画面を表示させることによりユーザが設定する値ではなく、ユーザのタッチパネル１１及び戻るボタン１３に対する操作履歴に基づき、よりユーザに適した値となるように自動的に更新される値となっている。
【００２９】
補正情報３０をＲＡＭ１６上に読み出したＣＰＵ１４は、起動時処理の完了後に実行する操作判別処理で使用するＬＴ閾値及びＤＴ閾値を、以下の式により、算出する。
ＬＴ閾値＝ＬＴ基準閾値＋補正情報３０中のＬＴ補正値
ＤＴ閾値＝ＤＴ基準閾値＋補正情報３０中のＤＴ補正値
ここで、ＬＴ基準閾値とは、ＬＴ閾値のデフォルト値として予め設定されている値のことである。同様に、ＤＴ基準閾値とは、ＤＴ閾値のデフォルト値として予め設定されている値のことである。
【００３０】
ＬＴ閾値及びＤＴ閾値の算出を終えたＣＰＵ１４は、有意なレコードを全く記憶していない空の操作履歴テーブル３３及び解析結果テーブル３４を、ＲＡＭ１６上に用意（生成）する。
【００３１】
解析結果テーブル３４は、起動時処理の完了後にＣＰＵ１４が実行する補正情報更新処理で利用される、図４に示した構成（データ構造）を有するテーブルである。
【００３２】
この解析結果テーブル３４のｉｄフィールドは、各レコードのｉｄ（識別子）として、“レコード追加前の解析結果テーブル３４上のレコード数”が設定されるフィールドである。補正値フィールドは、タップ座標用、ＬＴ閾値用又はＤＴ閾値用の補正値（詳細は後
述）が設定されるフィールドである。
【００３３】
補正対象フィールドは、補正値フィールドに設定されている補正値が、タップ座標、ＬＴ閾値、ＤＴ閾値のいずれを補正するためのものであるかを示す補正対象識別子が設定されるフィールドである。以下の説明では、補正値フィールドに設定されている補正値が、タップ座標、ＬＴ閾値、ＤＴ閾値用の補正値であることを示す補正対象識別子のことを、夫々、“タップ座標”、“ＤＴ閾値”、“ＬＴ閾値”と表記する。さらに、“タップ座標”、“ＤＴ閾値”、“ＬＴ閾値”が補正対象フィールドに設定されている解析結果テーブル３４のレコードのことを、夫々、座標補正用レコード、ＤＴ閾値補正用レコード、ＬＴ閾値補正用レコードと表記する。
【００３４】
操作履歴テーブル３３は、ユーザがタップ操作やキャンセル操作を行う度に、ユーザが行った操作の内容を示すレコードが追加されるテーブルである。この操作履歴テーブル３３の詳細は、操作判別処理の内容と共に後ほど説明する。
【００３５】
空の操作履歴テーブル３３及び解析結果テーブル３４をＲＡＭ１６上に用意したＣＰＵ１４は、起動時処理を終了する。そして、ＣＰＵ１４は、操作判別処理を実行しながら、補正情報更新処理を、所定の開始条件が満たされる度に実行する状態となる。
【００３６】
まず、操作判別処理の内容を説明する。尚、以下の説明では、座標補正値加算前後のタップ座標を区別しやすくするために、タッチパネルドライバにより検出されるタップ座標のことを、検出座標と表記する。
【００３７】
図５に、操作判別処理の流れ図を示す。
この操作判別処理は、ユーザの操作毎に、その操作の内容を把握し、把握した操作の内容をアプリに通知すると共に操作履歴テーブル３３に記録する処理である。
【００３８】
図５に示してあるように、操作判別処理を実行しているＣＰＵ１４は、通常は、タッチパネルドライバや押しボタン部１２用のドライバからの情報に基づき、タップ操作やキャンセル操作が行われるの監視している（ステップＳ１０１；無し）。
【００３９】
このステップＳ１０１にて、ＣＰＵ１４（ＯＳ２１）がタッチパネルドライバから得る情報は、タップ時間と検出座標とである。また、ステップＳ１０１の処理の監視対象となるタップ操作は、シングルタップ操作及びロングタップ操作である。ただし、ユーザが行ったタップ操作が何であるかの実際の判断は、ステップＳ１０１ではなく、ステップＳ１０５、Ｓ１０８又はＳ１１１で行われる。
【００４０】
ＣＰＵ１４は、タップ操作が行われた場合（ステップＳ１０１；タップ）には、ステップＳ１０３にて、検出座標にＲＡＭ１６上の補正情報３０（図３）中の座標補正値を加算することによりタップ座標を算出する。また、ＣＰＵ１４は、算出したタップ座標に基づき、 今回のタップ操作でタップされたオブジェクト（以下、タップオブジェクトと表記
する）を特定する。そして、ＣＰＵ１４は、タップオブジェクトを自身に表示させているアプリを操作対象アプリとして特定してから、ステップＳ１０３の処理を終了する。
【００４１】
尚、ステップＳ１０３にて、ＣＰＵ１４がタップオブジェクトとして特定するオブジェクトは、基本的には、実行中の１つ又は複数のアプリに従ってＣＰＵ１４がタッチパネル１１上に表示している図形や文字列である。ただし、ＣＰＵ１４は、タップ座標からはタップされたと認定できるオブジェクトが、タップされたことの通知をアプリが要求していないものである場合には、当該オブジェクトをタップオブジェクトとして特定しない。この場合、ＣＰＵ１４は、当該オブジェクトを表示しているアプリを操作対象アプリとして
特定してから、ステップＳ１０３の処理を終了する。
【００４２】
ステップＳ１０３の処理を終えたＣＰＵ１４は、タップオブジェクトの特定に成功した場合（ステップＳ１０４；ＹＥＳ）には、今回のタップ操作のタップ時間が、ＬＴ閾値以上であるか否かを判断する（ステップＳ１０５）。すなわち、ＣＰＵ１４は、タッチパネルドライバから得ているタップ時間が、算出済みの“ＬＴ基準閾値＋ＬＴ補正値”以上であるか否かを判断する（ステップＳ１０５）。
【００４３】
タップ時間がＬＴ閾値以上であった場合（ステップＳ１０５；ＹＥＳ）、ＣＰＵ１４は、ロングタップイベントの発生を、ステップＳ１０３で特定した操作対象アプリに通知する（ステップＳ１０６）。ここで、『シングル／ロング／ダブルタップイベントの発生を操作対象アプリに通知する』とは、『ステップＳ１０３の処理で特定したオブジェクトがシングル／ロング／ダブルタップされたことを操作対象アプリに通知する』ということである。
【００４４】
ステップＳ１０６の処理を終えたＣＰＵ１４は、今回、ユーザが行った操作の内容を示すレコードを操作履歴テーブル３３に追加する（ステップＳ１１２；詳細は後述）。
【００４５】
一方、タップ時間がＬＴ閾値未満であった場合（ステップＳ１０５；ＮＯ）、ＣＰＵ１４は、ステップＳ１０７にて以下の処理を行う。
【００４６】
ＣＰＵ１４は、まず、ＤＴ閾値が示す時間（以下、判定時間と表記する）が経過することと、タッチパネル１１に指が触れることとを、監視する処理を行う。そして、ＣＰＵ１４は、タッチパネル１１に指が触れることなく、判定時間が経過した場合には、ステップＳ１０７の処理を終了する。
【００４７】
また、ＣＰＵ１４は、判定時間の経過前にタッチパネル１１に指が触れた場合には、ステップＳ１０７の処理開始後の経過時間をタップ間隔として記憶する。そして、ＣＰＵ１４は、タップ操作が完了する（タッチパネル１１から指が離れる）のを待機し、タップ操作が完了したときに、ステップＳ１０７の処理を終了する。
【００４８】
ステップＳ１０７の処理を終えたＣＰＵ１４は、当該処理を判定時間の経過に因り終了した場合（ステップＳ１０８；ＹＥＳ）には、シングルタップイベントの発生を操作対象アプリに通知する（ステップＳ１０９）。また、ＣＰＵ１４は、ステップＳ１０７の処理をタップ操作が行われたことに因り終了した場合（ステップＳ１０８；ＮＯ）には、ダブルタップイベントの発生を操作対象アプリに通知する（ステップＳ１１０）。
【００４９】
ステップＳ１０９又はＳ１１０の処理を終えたＣＰＵ１４は、今回、ユーザが行った操作の内容を示すレコードを操作履歴テーブル３３に追加する（ステップＳ１１２）。
【００５０】
また、ＣＰＵ１４は、タップオブジェクトの特定に失敗した場合（ステップＳ１０４；ＮＯ）には、今回のタップ操作がシングルタップ操作、ロングタップ操作のいずれであるかを判定する（ステップＳ１１１）。すなわち、このステップＳ１１１にて、ＣＰＵ１４は、今回のタップ操作のタップ時間がＬＴ閾値以上であるか否かを判断する。
【００５１】
そして、ＣＰＵ１４は、今回、ユーザが行った操作の内容を示すレコードを操作履歴テーブル３３に追加する（ステップＳ１１２）。
【００５２】
また、ＣＰＵ１４は、キャンセル操作が行われた場合（ステップＳ１０１；キャンセル）には、キャンセルイベントの発生を操作対象アプリに通知する（ステップＳ１０２）。
すなわち、ＣＰＵ１４は、戻るボタン１３が押下されたことを操作対象アプリに通知する。そして、ＣＰＵ１４は、今回、ユーザが行った操作の内容を示すレコードを操作履歴テーブル３３に追加する（ステップＳ１１２）。
【００５３】
以下、ステップＳ１１２の処理の内容を具体的に説明する。
【００５４】
図６に、操作履歴テーブル３３の構成（データ構造）を示す。
この図６に示してあるように、操作履歴テーブル３３は、ｉｄフィールド、時刻フィールド、種類フィールド、座標フィールド、間隔フィールド及び通知先フィールドを有する。
【００５５】
ステップＳ１１２の処理時、ＣＰＵ１４は、この操作履歴テーブル３３に、以下の値を各フィールドに設定したレコードを追加する。尚、以下の説明において、Ｓ操作、Ｌ操作、Ｄ操作、Ｃ操作とは、夫々、シングルタップ操作、ロングタップ操作、ダブルタップ操作、キャンセル操作のことである。また、レコード追加対象操作とは、ステップＳ１０１、Ｓ１０５、Ｓ１０８又はＳ１１１の処理時に、ユーザが行ったと判定された操作のことである。
【００５６】
〔ｉｄフィールド〕
レコード追加前の操作履歴テーブル３３上のレコード数
【００５７】
〔時刻フィールド〕
“協定世界時における1970年1月1日午前0時0分0秒からのミリ秒単位の経過時間”で表
したレコード追加対象操作の完了時刻（以下、操作時刻と表記する）
【００５８】
〔種類フィールド〕
レコード追加対象操作がＳ操作である場合：
自レコードがＳ操作に関するレコードであることを示す操作種類“Ｓ”
レコード追加対象操作がＤ操作である場合：
自レコードがＤ操作に関するレコードであることを示す操作種類“Ｄ”
レコード追加対象操作がＬ操作である場合：
自レコードがＬ操作に関するレコードであることを示す操作種類“Ｌ”
レコード追加対象操作がＣ操作である場合：
自レコードがＣ操作に関するレコードであることを示す操作種類“Ｃ”
尚、この種類フィールドに設定される操作種類（Ｓ、Ｄ、Ｌ、Ｃ）は、Ｓ等の文字であっても、Ｓ等を示す情報であっても良い。
【００５９】
〔座標フィールド〕
レコード追加対象操作がタップ操作（Ｓ操作、Ｌ操作又はＤ操作）である場合：
タップ座標
レコード追加対象操作がＣ操作である場合：
ＮＵＬＬ
【００６０】
〔間隔フィールド〕
レコード追加対象操作がＳ操作又はＬ操作である場合：
タップ時間
レコード追加対象操作がＤ操作である場合：
タップ間隔
レコード追加対象操作がＣ操作である場合：
ＮＵＬＬ
【００６１】
〔通知先フィールド〕
タップオブジェクトが特定されていない場合：
操作対象アプリの識別情報（図６では、“ｐ０”、“ｐ１”；以下、操作対象アプリ名と表記する）
タップオブジェクトが特定されている場合：
操作対象アプリ名と、タップオブジェクトの識別情報（図６では、“オブジェクト１”等）
尚、この通知先フィールドは、本実施例に係る情報処理装置１０では参照されないフィールドである。
【００６２】
ステップＳ１１２（図５）にて、ＣＰＵ１４は、上記のような内容のレコードを操作履歴テーブル３３に追加する。そして、ステップＳ１１２の処理を終えたＣＰＵ１４は、ステップＳ１０１以降の処理を再び開始する。
【００６３】
次に、補正情報更新処理の開始条件について説明する。
【００６４】
ＣＰＵ１４は、上記内容の操作判別処理を行いながら、操作履歴テーブル３３（図６）上のレコード数が所定数以上となることと、前回の補正情報更新処理完了後の経過時間が所定時間以上となることとを、監視する。そして、ＣＰＵ１４は、操作履歴テーブル３３のレコード数が所定数以上となった場合と、当該レコード数が所定数以上となることなく所定時間が経過した場合とに、補正情報更新処理を開始し、操作判別処理と補正情報更新処理とを並行的に実行している状態となる。
【００６５】
次に、補正情報更新処理の内容を説明する。
【００６６】
まず、以下の説明で使用する幾つかの用語を定義しておくことにする。
以下の説明では、操作履歴テーブル３３（図６）上の、操作種類がＸ（＝Ｓ、Ｃ等）となっているレコードのことを、Ｘレコード（Ｓレコード、Ｃレコード等）と表記する。また、操作履歴テーブル３３上の、ｉｄ値が連続しているＮ（＝３又は４）個のレコードを、ｉｄ値が小さな方から、第１レコード〜第Ｎレコードと表記する。さらに、操作履歴テーブル３３上の或るレコードαよりもｉｄ値が“１”小さい、“１”大きい操作履歴テーブル３３上のレコードのことを、夫々、レコードαの前レコード、次レコードと表記する。
【００６７】
図７に、補正情報更新処理の流れ図を示す。
この図７に示してあるように、補正情報更新処理を開始したＣＰＵ１４は、座標補正情報生成処理（ステップＳ２０１）と、ＬＴ閾値補正情報生成処理（ステップＳ２０２）と、ＤＴ閾値補正情報生成処理（ステップＳ２０３）とを行う。
【００６８】
座標補正情報生成処理は、基本的には、以下の一連の処理を、“タップ先が誤認定されたためにユーザが行った３操作”が特定できなくなるまで繰り返す処理である。
・操作履歴テーブル３３上の情報に基づき、タップ先が誤認定されたためにユーザが行った３操作を特定
・特定した３操作の内容に基づき、補正情報３０中の座標補正値に加算する補正値を算出・算出した補正値を設定した座標補正用レコードを解析結果テーブル３４に追加
【００６９】
そして、座標補正情報生成処理は、タップ先が誤認定されたために行われた３操作を、『タップ先が誤認定された場合、ユーザは、通常、短時間内にキャンセル操作を行ってから、短時間内にタップ操作をやり直す』ことを利用して特定する処理となっている。
【００７０】
以下、座標補正情報生成処理の内容を詳細に説明する。尚、以下では、流れ図を用いて、座標補正情報生成処理の手順を一旦説明した後、具体的な操作例を用いて、座標補正情報生成処理の内容を、さらに具体的に説明することにする。
【００７１】
図８に、座標補正情報生成処理の流れ図を示す。
この図８に示してあるように、座標補正情報生成処理を開始したＣＰＵ１４は、まず、操作履歴テーブル３３から、最初のＴ→Ｃ→Ｔレコード（Ｓ→Ｃ→Ｓレコード、Ｌ→Ｃ→Ｌレコード、又は、Ｄ→Ｃ→Ｄレコード）を検索する（ステップＳ３０１）。
【００７２】
このステップＳ３０１にて検索されるＴ→Ｃ→Ｔレコード（Ｔ＝Ｓ、Ｌ又はＤ）は、操作履歴テーブル３３上の“ｉｄ値が連続した３レコードであって、第１〜第３レコードの操作種類が、夫々、Ｔ、Ｃ、Ｔとなっている３レコード”である。さらに、Ｔ→Ｃ→Ｔレコードは、以下の条件１及び２も満たしている。
【００７３】
条件１：第２レコードの操作時刻−第１レコードの操作時刻≦第１既定時間
条件２：第３レコードの操作時刻−第２レコードの操作時刻≦第２既定時間
ここで、第１既定時間、第２既定時間とは、いずれも、予め設定されている時間（本実施例では、第１既定時間が２秒、第２既定時間が３秒）のことである。
【００７４】
尚、詳細説明は省略するが、ステップＳ３０１の処理は、１個のＴ→Ｃ→Ｔレコードを以下の手順で検索するものである。
（１）Ｔレコードの検索により第１レコードを決定し、決定した第１レコードの操作時刻を把握する。
（２）第１レコードの次レコードを第２レコードとして特定し、第２レコードの操作時刻及び操作種類を把握する。
（３ａ）第２レコードの操作種類がＣではない場合、又は、第１、第２レコードの操作時刻について条件１が成立しない場合には、（１）からやり直す。
（３ｂ）第２レコードの操作種類がＣであり、且つ、第１、第２レコードの操作時刻について条件１が成立する場合には、第２レコードの次レコードを第３レコードとして特定し、第３レコードの操作時刻及び操作種類を把握する。
（４ａ）第３レコードの操作種類が第１レコードの操作種類と一致しない場合、又は、第２、第３レコードの操作時刻について条件２が成立しない場合には、（１）からやり直す。
（４ｂ）第３レコードの操作種類が第１レコードの操作種類と一致し、且つ、第２、第３レコードの操作時刻について条件２が成立する場合には、第１〜第３レコードを、Ｔ→Ｃ→Ｔレコードの検索結果とする。
【００７５】
Ｔ→Ｃ→Ｔレコードが検索できた場合（ステップＳ３０２；ＹＥＳ）、ＣＰＵ１４は、当該Ｔ→Ｃ→Ｔレコード中の２つのＴレコードに設定されている２座標の座標差と、当該２座標が示している点間の距離である補正距離とを算出する（ステップＳ３０３）。このステップにてＣＰＵ１４が算出する座標差は、第３レコードの座標から第１レコードの座標を減じた値である。換言すれば、ステップＳ３０３にてＣＰＵ１４が算出する座標差は、検索したＴ→Ｃ→Ｔレコード中の、ｉｄ値が大きい方のＴレコードの座標から、ｉｄ値が小さい方のＴレコードの座標を減じた値である。
【００７６】
ステップＳ３０３の処理を終えたＣＰＵ１４は、算出した補正距離と、補正距離上限値（図８では、上限値）とを比較する（ステップＳ３０４）。ここで、補正距離上限値とは、予め設定されている、ｍｍ単位の長さに変換した場合に数ｍｍ程度（例えば、３ｍｍ）となる長さを示す値のことである。
【００７７】
補正距離が補正距離上限値より大きかった場合（ステップＳ３０４；ＮＯ）、ＣＰＵ１４は、ステップＳ３０１に戻り、次のＴ→Ｃ→Ｔレコードを操作履歴テーブル３３から検索する。
【００７８】
一方、補正距離が補正距離上限値以下であった場合（ステップＳ３０４；ＹＥＳ）、ＣＰＵ１４は、算出した座標差を、補正値として設定した座標補正用レコードを解析結果テーブル３４（図４）に追加する（ステップＳ３０５）。より具体的には、ＣＰＵ１４は、ｉｄ、補正対象、補正値フィールドに、夫々、レコード追加前の解析結果テーブル３４上のレコード数、“タップ座標”、算出した座標差を設定したレコードを、解析結果テーブル３４に追加する。
【００７９】
ステップＳ３０５の処理を終えたＣＰＵ１４は、ステップＳ３０１に戻って、次のＴ→Ｃ→Ｔレコードを操作履歴テーブル３３から検索する。
【００８０】
ＣＰＵ１４は、Ｔ→Ｃ→Ｔレコードの検索に失敗するまで、換言すれば、未処理のＴ→Ｃ→Ｔレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＴ→Ｃ→Ｔレコードがなくなったとき（ステップＳ３０２；ＮＯ）に、この座標補正情報生成処理を終了する。
【００８１】
以下、図９に示した操作例を用いて、座標補正情報生成処理の内容をさらに具体的に説明する。尚、以下の説明において、『或るポイントがタップポイントとして特定された』とは、『タップ座標として、タッチパネル１１上の或るポイントの座標が算出された』ということである。換言すれば、タップポイントとは、その座標が、算出されたタップ座標と一致する、タッチパネル１１上のポイントのことである。
【００８２】
図９の（Ａ）に示したように、ユーザが、リンクＡにリンクされたＷｅｂページＡを表示させるために、領域５１をタップ（シングルタップ）し、その結果として、ポイント５２がタップポイントとして特定された場合を考える。
【００８３】
この場合、リンクＢにリンクされているＷｅｂページＢが表示される。従って、ユーザは、短時間のうちに、図９の（Ｂ）に示したように、キャンセル操作を行う（戻るボタン１３を押す）。さらに、ユーザは、短時間のうちにタップ操作をやり直す。この際、ユーザは、タッチパネル１１の、１回目にタップした領域５１よりも上方の領域５３をタップする（図９の（Ｃ））。タッチパネル１１の領域５３がタップされると、タップポイントとしてポイント５４が特定される。そして、その結果として、ユーザが閲覧を希望していたＷｅｂページＡ（図９の（Ｄ））が表示されるので、２回目のタップ操作後、しばらくの間は、キャンセル操作等が行われないことになる。
【００８４】
このように、或るオブジェクトをタップするつもりで行ったタップ操作のタップ先が誤認定されてしまった場合、ユーザは、短時間のうちにキャンセル操作を行ってから、短時間のうちに、タップする領域を意図的にずらした形でタップ操作をやり直す。
【００８５】
そして、タップ先が誤認定された場合、ユーザは、タップ先が誤認定されたことに気がつき次第、キャンセル操作と２回目のタップ操作とを行う。そのため、キャンセル操作が行われるのは、通常、タップ操作後、２秒以内である。また、２回目のタップ操作が行われるは、当該タップ操作を慎重に行ったとしても、精々、キャンセル操作後、３秒以内である。
【００８６】
従って、上記した条件１及び２を満たすＴ→Ｃ→Ｔレコードを操作履歴テーブル３３か
ら検索すれば（ステップＳ３０１）、図９に示してあるような、タップ先が誤認定された場合に行われる３操作に関するレコードを検索できる。
【００８７】
また、第３レコードの座標から第１レコードの座標を減算すれば（ステップＳ３０３）、“座標補正値に加算すると、第１レコード記録時と同内容のタップ操作時に第３レコードの座標がタップ座標として算出されることになる座標差”を得ることが出来る。
【００８８】
具体的には、検索されたＴ→Ｃ→Ｔレコードが、図９の（Ａ）〜（Ｃ）に示した３操作に関するＳ→Ｃ→Ｓレコードであった場合を考える。この場合、ステップＳ３０３では、座標差として、“ポイント５４の座標−ポイント５２の座標”が算出される。
【００８９】
図９の（Ａ）に示したタップ操作についての検出座標を検出座標Ａ、ポイント５２の座標を座標＃１と表記すると、図９の（Ａ）に示した操作が行われた時点における補正情報３０中の座標補正値は、“座標＃１−検出座標Ａ”と表せる。そのため、上記座標差加算後の座標補正値は、“座標＃１−検出座標Ａ”＋“ポイント５２の座標−座標＃１”、つまり、“ポイント５２の座標−検出座標Ａ”となる。そして、図９の（Ａ）に示したものと同内容のタップ操作についての検出座標は、検出座標Ａである。従って、当該タップ操作がなされた際に、タップ座標として、検出座標Ａ＋“ポイント５２の座標−検出座標Ａ”、すなわち、図９の（Ｃ）のタップ操作時のタップ座標であるポイント５２の座標が算出されることになる。
【００９０】
このように、Ｔ→Ｃ→Ｔレコードの第３レコードの座標から第１レコードの座標を減算すれば、“座標補正値に加算すると、第１レコード記録時と同内容のタップ操作時に、第３レコードの座標がタップ座標として算出されることになる座標差”を算出できる。ただし、上記算出手順から明らかなように、この座標差は、Ｔ→Ｃ→Ｔレコードから算出される度に座標補正値に加算する訳にはいかない値である。そのため、座標差は、座標補正用レコードの要素として、一旦、解析結果テーブル３４に記憶される（ステップＳ３０５）。
【００９１】
解析結果テーブル３４に記憶された各座標差は、補正情報更新処理（図７）のステップＳ２０４にて処理される。
【００９２】
具体的には、ステップＳ２０４にて、ＣＰＵ１４は、解析結果テーブル３４に記憶された各座標差の平均値を算出し、算出した平均値を補正情報３０中の座標補正値に加算する処理を行う。
【００９３】
詳細については後述するが、ステップＳ２０２で行われるＬＴ閾値補正情報生成処理も、算出したＬＴ閾値用の補正値を、ＬＴ閾値補正用レコードの要素として、一旦、解析結果テーブル３４に記憶する処理となっている。また、ステップＳ２０３で行われるＤＴ閾値補正情報生成処理も、算出したＤＴ閾値用の補正値を、ＤＴ閾値補正用レコードの要素として、一旦、解析結果テーブル３４に記憶する処理となっている。
【００９４】
そのため、ステップＳ２０４では、各ＬＴ閾値用の補正値の平均値を算出し、算出した平均値をＬＴ補正値に加算する処理、及び、各ＤＴ閾値用の補正値の平均値を算出し、算出した平均値をＤＴ補正値に加算する処理も行われる。
【００９５】
また、続くステップＳ２０５では、平均値加算後のＬＴ補正値、ＤＴ補正値を用いて、ＬＴ閾値、ＤＴ閾値が再算出される。
【００９６】
図８に戻って座標補正情報生成処理の説明を続ける。
ステップＳ３０４の処理（判断）を設けているのは、１回の補正情報更新処理によるタップ座標（タップポイント）のシフト量を制限しておけば、座標補正値の更新時にユーザに違和感を与えないことが出来るためである。
【００９７】
また、図９に示した操作例は、タップ操作のやり直し回数が１回のものであったが、座標補正情報生成処理によれば、タップ操作が複数回やり直された場合にも、座標補正値を、よりユーザに適した値に補正することが出来る。
【００９８】
例えば、図１０に模式的に示したように、やり直したタップ操作（図１０の（Ｃ））でもリンクＡがタップされたと認定されなかった場合を考える。この場合、ユーザは、再度、キャンセル操作を行ってから（図１０の（Ｄ））、２回目にタップした領域よりも上方の領域５３をタップ（図１０の（Ｅ））することにより、目的とするＷｅｂページＡを得る（図１０の（Ｆ））。
【００９９】
このような一連の操作が行われていた場合、座標補正情報生成処理では、図１０の（Ａ）〜（Ｃ）の操作に関する３レコードと、図１０の（Ｃ）〜（Ｅ）の操作に関する３レコードとが、検索される。
【０１００】
そして、図１０の（Ａ）〜（Ｃ）の操作に関する３レコードからは、座標差として、“ポイント５５の座標−ポイント５２の座標”が算出される。また、 図１０の（Ｃ）〜（
Ｅ）の操作に関する３レコードからは、座標差として、“ポイント５４の座標−ポイント５５の座標”が算出される。
【０１０１】
そして、座標補正値には、それらの平均値、すなわち、０．５×（ポイント５５の座標−ポイント５１の座標＋ポイント５４の座標−ポイント５５の座標）＝０．５×（ポイント５４の座標−ポイント５２の座標）が加算される（図７；ステップＳ２０４）。
【０１０２】
座標補正値に０．５×（ポイント５４の座標−ポイント５２の座標）が加算されると、ＣＰＵ１４は、領域５１がタップされた場合に、タップ座標として、ポイント５２とポイント５４の中点の座標を算出する状態となる。
【０１０３】
この中点の座標が、リンクＡがタップされたと判定されるものではない場合はある。ただし、座標補正値に０．５×（ポイント５４の座標−ポイント５２の座標）が加算されれば、タップポイントは、“ポイント５４の座標−ポイント５２の座標”方向へ移動する。また、やり直し回数が３回以上であっても、タップポイントは、“ポイント５４の座標−ポイント５２の座標”方向へ移動する。尚、やり直し回数が増えるにつれ、移動量は減少する。
【０１０４】
そして、タップポイントが、“ポイント５４の座標−ポイント５２の座標”方向へ移動すれば、移動量が少量であっても、タップ先が誤認定されにくくなる。従って、上記内容／手順の座標補正情報生成処理は、タップ操作が複数回やり直された場合にも、座標補正値を、よりユーザに適した値に補正できるものとなっていることになる。
【０１０５】
次に、ＬＴ（ロングタップ）閾値補正情報生成処理の内容を説明する。
【０１０６】
図１１に、ＬＴ閾値補正情報生成処理の流れ図を示す。尚、この図１１及び以下の説明において、ＬＴ閾値上限値、ＬＴ閾値下限値とは、夫々、ＬＴ閾値の上限値、下限値として予め設定されている値のことである。
【０１０７】
このＬＴ閾値補正情報生成処理のステップＳ４０１〜Ｓ４０５の処理は、基本的には、
以下の一連の処理を、“Ｌ操作のつもりで行った操作がＳ操作であると誤認定されたためにユーザが行った３操作”が特定できなくなるまで繰り返す処理である。
・操作履歴テーブル３３上の情報に基づき、“Ｌ操作のつもりで行った操作がＳ操作であると誤認定されたためにユーザが行った３操作”を特定
・特定した３操作の内容に基づき、補正情報３０中のＬＴ補正値に加算する補正値（＜０）を算出
・算出した補正値を設定したＬＴ閾値補正用レコードを解析結果テーブル３４に追加
【０１０８】
また、ＬＴ閾値補正情報生成処理のステップＳ４１１〜Ｓ４１５の処理は、基本的には、以下の一連の処理を、“Ｓ操作のつもりで行った操作がＬ操作であると誤認定されたためにユーザが行った３操作”が特定できなくなるまで繰り返す処理である。
・操作履歴テーブル３３上の情報に基づき、“Ｓ操作のつもりで行った操作がＬ操作であると誤認定されたためにユーザが行った３操作”を特定
・特定した３操作の内容に基づき、補正情報３０中のＬＴ補正値に加算する補正値（＞０）を算出
・算出した補正値を設定したＬＴ閾値補正用レコードを解析結果テーブル３４に追加
【０１０９】
そして、ＬＴ閾値補正情報生成処理は、上記した各３操作を、『タップ操作の種類が誤認定された場合、ユーザは、通常、短時間の内にキャンセル操作を行ってから、短時間の内にタップ操作をやり直す』ことを利用して特定する処理となっている。
【０１１０】
以下、さらに具体的に説明する。
図１１に示してあるように、このＬＴ閾値補正情報生成処理を開始したＣＰＵ１４は、まず、操作履歴テーブル３３から、最初のＳ→Ｃ→Ｌレコードを検索する（ステップＳ４０１）。
【０１１１】
ステップＳ４０１で検索されるＳ→Ｃ→Ｌレコードは、操作履歴テーブル３３上の“ｉｄ値が連続した３レコードであって、第１〜第３レコードの操作種類が、夫々、Ｓ、Ｃ、Ｌとなっており、上記した条件１及び２を満たす３レコード”である。すなわち、ステップＳ４０１では、Ｓ操作後、第１規定時間（２秒）以内にＣ操作が行われ、その後、第２規定時間（３秒）以内にＬ操作が行われたことを示している３レコードが、操作履歴テーブル３３から検索される。
【０１１２】
Ｓ→Ｃ→Ｌレコードが検索できた場合（ステップＳ４０２；ＹＥＳ）、ＣＰＵ１４は、当該Ｓ→Ｃ→Ｌレコード中のＳレコードの間隔Ｔｄを取得する（ステップＳ４０３）。より具体的には、ＣＰＵ１４は、Ｓレコードの間隔フィールドに設定されている間隔を取得し、取得した間隔をＴｄとして記憶する。尚、既に説明したように、Ｓレコードの間隔フィールドに設定されている値（間隔）は、タップ時間である。
【０１１３】
次いで、ＣＰＵ１４は、“Ｔｄ≧ＬＴ閾値下限値”が成立するか否かを判断する（ステップＳ４０４）。
【０１１４】
“Ｔｄ≧ＬＴ閾値下限値”が成立しない場合（ステップＳ４０４；ＮＯ）、ＣＰＵ１４は、ステップ４０１に戻って、操作履歴テーブル３３から次のＳ→Ｃ→Ｌレコードを検索する。
【０１１５】
一方、“Ｔｄ≧ＬＴ閾値下限値”が成立する場合（ステップＳ４０４；ＹＥＳ）、ＣＰＵ１４は、“Ｔｄ−ＬＴ閾値”を補正値フィールドに設定したＬＴ閾値補正用レコードを解析結果テーブル３４に追加する（ステップＳ４０５）。すなわち、ＣＰＵ１４は、ＬＴ閾値の値をＴｄに変更するための“Ｔｄ−ＬＴ閾値”を補正値として設定したＬＴ閾値補
正用レコードを解析結果テーブル３４に追加する（ステップＳ４０５）。
【０１１６】
ステップＳ４０５の処理を終えたＣＰＵ１４は、ステップＳ４０１に戻って、操作履歴テーブル３３から次のＳ→Ｃ→Ｌレコードを検索する。
【０１１７】
ＣＰＵ１４は、未処理のＳ→Ｃ→Ｌレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＳ→Ｃ→Ｌレコードがなくなった場合（ステップＳ４０２；ＮＯ）には、ステップＳ４１１以降の処理を開始する。
【０１１８】
ステップＳ４１１以降の処理の内容を説明する前に、ここで、ステップＳ４０１〜４０５の処理の内容をさらに具体的に説明しておくことにする。
【０１１９】
写真（ＪＰＥＧ（Joint Photographic Experts Group）ファイル等）のサムネイル画面を表示するアプリであって、或る写真のサムネイルがタップされると当該写真を全画面表示するアプリを、情報処理装置１０で実行している場合を考える。また、当該アプリは、図１２に示したように、或るサムネイルがロングタップされると当該サムネイルをドラッグによる移動が可能な状態とし、任意のサムネイルがダブルタップされると削除等を行う写真を選択するための選択モードに移行するものであるとする。
【０１２０】
この場合、或るサムネイルを移動させたいユーザは、そのサムネイルをロングタップする。ただし、図１３の（Ａ）に示したように、タップ時間がＬＴ閾値未満であった場合、ＣＰＵ１４（ＯＳ２１）は、シングルタップ操作が行われたと判定する（図５参照）。従って、写真が全画面表示されることになるが、この動作は、ユーザが希望したものではない。そのため、ユーザは、図１３の（Ｂ）、（Ｃ）に示したように、短時間のうちに（通常、２秒以内に）、キャンセル操作を行ってから、短時間うちに（通常、３秒以内に）、ロングタップ操作をやり直す。そして、やり直した操作のタップ時間がＬＴ閾値以上であった場合には、図１３の（Ｄ）に示したように、サムネイルがドラッグ可能な状態となり、しばらくの間は、キャンセル操作等が行われないことになる。
【０１２１】
このような一連の操作が行われていた場合、現在のＬＴ閾値の値がユーザに適した値よりも大きいと判断することが出来る。また、ユーザにより適したＬＴ閾値が、図１３の（Ａ）のタップ操作のタップ時間程度の値であると判断することも出来る。
【０１２２】
そして、図１３の（Ａ）〜（Ｃ）の操作に関する操作履歴テーブル３３上の３レコードは、Ｓレコード、Ｃレコード、Ｌレコードの順に並んだ、各２レコードの操作時刻差が小さい３レコードとなる。
【０１２３】
従って、上記条件１、２を満たすＳ→Ｃ→Ｌレコードを操作履歴テーブル３３から検索すれば（ステップＳ４０１）、図１３の（Ａ）〜（Ｃ）の操作に関する３レコードを検索できる。また、Ｓ→Ｃ→Ｌレコード中のＳレコードの間隔Ｔｄに基づき、ＬＴ閾値の値がＴｄとなるように補正値を決定しておけば（ステップＳ４０５）、タップ時間がＴｄ程度のタップ操作がＬ操作として認定されるようにすることが出来る。
【０１２４】
ステップＳ４０４は、ＬＴ閾値が過度に小さくなるのを抑止するために設けたステップである。ただし、ステップＳ４０４は、最初のタップ操作がロングタップ操作を意図したものではない操作に関するＳ→Ｃ→Ｌレコードを、ＬＴ閾値用の補正値の算出対象から除外するステップとしても機能する。
【０１２５】
具体的には、ロングタップ操作を行うべきだったのに誤ってシングルタップ操作を行ってしまった場合にも、Ｓ→Ｃ→Ｌレコードが操作履歴テーブル３３に記録される。また、
或るオブジェクトをシングルタップした後、何らかの理由で即座にキャンセル操作を行ってから、他のオブジェクトをロングタップした場合にも、Ｓ→Ｃ→Ｌレコードが操作履歴テーブル３３に記録される。
【０１２６】
そして、そのようなＳ→Ｃ→Ｌレコード上の情報に基づきＬＴ閾値が補正されると不適切な補正が行われてしまうことになる。ただし、そのようなＳ→Ｃ→Ｌレコード中のＳレコードの間隔は、最初のタップ操作がダブルタップ操作を意図したものではないが故に、通常のシングルタップ操作のタップ時間となっている。従って、ステップＳ４０４の判断により、最初のタップ操作がロングタップ操作を意図したものではない３操作に関するＳ→Ｃ→Ｌレコードは、ＬＴ閾値用の補正値の算出対象から除外されることになる。
【０１２７】
また、図１３に示した操作例は、２回目のタップ操作でロングタップ操作と認定されたものであるが、ｍ＋１回目（ｍ≧２）のタップ操作で初めてロングタップ操作と認定される場合もある。
【０１２８】
ｍ＋１回目のタップ操作で初めてロングタップ操作と認定された場合、操作履歴テーブル３３には、Ｓレコード→…→ｍ回目のタップ操作に関するＳレコード→Ｃレコード→ｍ＋１回目のダブルタップ操作に関するＬレコードという順にレコードが記録される。従って、この場合には、ｍ回目のタップ操作、その後のキャンセル操作、及び、ｍ＋１回目のタップ操作に関する３レコードが、Ｓ→Ｃ→Ｌレコードとして検索されることになる。
【０１２９】
そして、ＬＴ閾値補正情報生成処理の処理手順（図１１）は、Ｓ→Ｃ→Ｌレコードが検索されれば、“Ｔｄ＜ＬＴ閾値下限値”が成立しない限り、ＬＴ閾値が減少するものとなっている。尚、ロングタップ操作を意図して行っているタップ操作のタップ時間がＬＴ閾値下限値未満であるということは通常ない。
【０１３０】
従って、本ＬＴ閾値補正情報生成処理の処理手順によれば、ｍ＋１（ｍ＞２）回目のタップ操作で初めてロングタップ操作と認識された場合にも、ＬＴ閾値を、よりユーザに適した値に補正できる。
【０１３１】
以下、ＬＴ閾値補正情報生成処理の残りのステップの内容を説明する。
ステップＳ４０１〜Ｓ４０５の処理を終えたＣＰＵ１４は、ステップＳ４１１にて、操作履歴テーブル３３から、最初のＬ→Ｃ→Ｓレコードを検索する。
【０１３２】
このステップＳ４１１で検索されるＬ→Ｃ→Ｓレコードは、上記したＳ→Ｃ→Ｌレコード中のＴレコードとＬレコードとを入れ替えたものに相当する３レコードである。すなわち、ステップＳ４１１では、Ｌ操作後、第１規定時間（２秒）以内にＣ操作が行われ、その後、第２規定時間（３秒）以内にＳ操作が行われたことを示している３レコードが操作履歴テーブル３３から検索される。
【０１３３】
Ｌ→Ｃ→Ｓレコードが検索できた場合（ステップＳ４１２；ＹＥＳ）、ＣＰＵ１４は、当該Ｌ→Ｃ→Ｓレコード中のＬレコードの間隔Ｔｄを取得する（ステップＳ４１３）。より具体的には、ＣＰＵ１４は、Ｌレコードの間隔フィールドに設定されている間隔（タップ時間）を取得し、取得した間隔をＴｄとして記憶する。そして、ＣＰＵ１４は、“Ｔｄ≦ＬＴ閾値上限値”が成立するか否かを判断する（ステップＳ４１４）。
【０１３４】
“Ｔｄ≦ＬＴ閾値上限値”が成立しない場合（ステップＳ４１４；ＮＯ）、ＣＰＵ１４は、ステップＳ４１１に戻って、次のＬ→Ｃ→Ｓレコードを操作履歴テーブル３３から検索する。
【０１３５】
一方、“Ｔｄ≦ＬＴ閾値上限値”が成立する場合（ステップＳ４１４；ＹＥＳ）、ＣＰＵ１４は、“Ｔｄ−ＬＴ閾値”を補正値フィールドに設定したＬＴ閾値補正用レコードを解析結果テーブル３４に追加する（ステップＳ４１５）。そして、ＣＰＵ１４は、ステップＳ４１１に戻って、次のＬ→Ｃ→Ｓレコードを操作履歴テーブル３３から検索する。
【０１３６】
ＣＰＵ１４は、未処理のＬ→Ｃ→Ｓレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＬ→Ｃ→Ｓレコードがなくなったとき（ステップＳ４１２；ＮＯ）に、このＬＴ閾値補正情報生成処理を終了する。
【０１３７】
以下、ＬＴ閾値補正情報生成処理のステップＳ４１１〜Ｓ４１５の処理の内容をさらに具体的に説明する。
【０１３８】
ステップＳ４１１の処理は、“Ｓ操作のつもりで行ったタップ操作＃１がＬ操作であると判定されたため、ユーザが、第１規定時間内にＣ操作を行ってから第２規定時間内にＳ操作をやり直した場合に記録される３レコード”を検索するための処理である。換言すれば、ステップＳ４１１の処理は、現在のＬＴ閾値の値がユーザに適した値よりも小さくなっていることを示している３レコードを検索するために行っている処理である。
【０１３９】
ステップＳ４１１の処理によれば、実際に、そのような３レコードを検索することが出来る。また、検索されたＬ→Ｃ→Ｓレコード中のＬレコードの間隔Ｔｄに基づき、ＬＴ閾値の値がＴｄとなるように補正値を決定しておけば（ステップＳ４１５）、タップ操作＃１とタップ時間が略等しいタップ操作がＳ操作として認定されるようにすることが出来る。
【０１４０】
ただし、Ｓ操作を行うべきなのに間違ってＬ操作を行ってしまう場合もある。そして、そのような場合にも、短時間のうちにＣ操作が行われてから、短時間のうちにＳ操作が行われる。従って、操作履歴テーブル３３にＬ→Ｃ→Ｓレコードが記録されるが、初回の操作を間違った結果として記録されたＬ→Ｃ→Ｓレコードは、現在のＬＴ閾値の値がユーザに適した値よりも小さくなっていることを示しているものではない。そのため、そのようなＬ→Ｃ→Ｓレコードの殆どを補正値の算出対象から除外できるようにするために、ステップＳ４１４の判断を行っているのである。
【０１４１】
また、Ｓ操作のつもりで行った操作がＬ操作であると誤認定され続け、ｍ＋１回目（ｍ≧２）のタップ操作で初めてＳ操作と認定される場合もある。この場合、操作履歴テーブル３３には、Ｌレコード→…→ｍ回目のタップ操作に関するＬレコード→Ｃレコード→ｍ＋１回目のタップ操作に関するＳレコードという順にレコードが記録される。従って、ステップＳ４１１の処理時に、ｍ回目のタップ操作、その後のキャンセル操作、ｍ＋１回目のタップ操作に関する３レコードがＬ→Ｃ→Ｓレコードとして検索される。
【０１４２】
そして、“Ｔｄ≦ＬＴ閾値上限値”が成立するか否かが判断されるが、Ｓ操作のつもりで行ったタップ操作のタップ時間がＬＴ閾値上限値より大きいことはないので、“Ｔｄ≦ＬＴ閾値上限値”が成立すると判断され、ステップＳ４１５の処理が行われる。
【０１４３】
このように、上記処理手順によれば、ｍ＋１（ｍ＞２）回目のタップ操作で初めてＳ操作と認識された場合にも、ＬＴ閾値を、よりユーザに適した値に補正できる。
【０１４４】
以下、ＤＴ補正情報生成処理（図７；ステップＳ２０３）の内容を説明する。
【０１４５】
図１４に、ＤＴ補正情報生成処理の流れ図を示す。
この図１４に示してあるように、ＤＴ閾値補正情報生成処理を開始したＣＰＵ１４は、
まず、操作履歴テーブル３３から、最初のＳ→Ｓ→Ｃ→Ｄレコードを検索する（ステップＳ５０１）。
【０１４６】
Ｓ→Ｓ→Ｃ→Ｄレコードは、基本的には、操作履歴テーブル３３上の“ｉｄ値が連続した４レコードであって、第１、第２レコードの操作種類がいずれもＳであり、第３レコードの操作種類がＣであり、第４レコードの操作種類がＤである４レコード”である。ただし、Ｓ→Ｓ→Ｃ→Ｄレコードは、以下の条件３〜条件５も満たしている。尚、以下の説明において、第３既定時間とは、予め設定されている時間（本実施例では、１秒）のことである。
【０１４７】
条件３：第２レコードの操作時刻−第１レコードの操作時刻≦第３既定時間
条件４：第３レコードの操作時刻−第２レコードの操作時刻≦第１既定時間
条件５：第４レコードの操作時刻−第３レコードの操作時刻≦第２既定時間
【０１４８】
このステップＳ５０１の処理で操作履歴テーブル３３から検索される４レコードは、以下のような４操作に関するものである。
【０１４９】
図１２に示したような、Ｓ操作とＤ操作とが可能なオブジェクトを有するアプリの使用時には、ＤＴ閾値がユーザに適した値よりも小さくなっているが故に、Ｄ操作のつもりで行った操作が２回のＳ操作として認定されてしまう場合がある。そして、Ｄ操作のつもりで行った操作が２回のＳ操作として認定されてしまった場合、ユーザは、短時間のうちにＣ操作を行ってから、短時間のうちにＤ操作をやり直す。ステップＳ５０１の処理では、そのような一連の操作を示す４レコードが操作履歴テーブル３３から検索される。
【０１５０】
Ｓ→Ｓ→Ｃ→Ｄレコードが検索できた場合（ステップＳ５０２；ＹＥＳ）、ＣＰＵ１４は、当該Ｓ→Ｓ→Ｃ→Ｄレコード中の２つのＳレコードに設定されている操作時刻の差をＴｓとして算出する（ステップＳ５０３）。より具体的には、ＣＰＵ１４は、ｉｄが大きい方のＳレコードの操作時刻から他方のＳレコードの操作時刻を減ずることにより２つのＳ操作のタップ間隔を算出し、算出したタップ間隔をＴｓとして記憶する。
【０１５１】
その後、ＣＰＵ１４は、Ｔｓと、予め設定されている、ＤＴ閾値の上限値を規定する情報であるＤＴ閾値下限値とを比較する（ステップＳ５０４）。
【０１５２】
“Ｔｓ≧ＤＴ閾値上限値”が成立しない場合（ステップＳ５０４；ＮＯ）、ＣＰＵ１４は、ステップＳ５０１に戻って、次のＳ→Ｓ→Ｃ→Ｄレコードを操作履歴テーブル３３から検索する。
【０１５３】
また、ＣＰＵ１４は、“Ｔｓ≧ＤＴ閾値上限値”が成立する場合（ステップＳ５０４；ＹＥＳ）には、“Ｔｓ−ＤＴ閾値”を補正値フィールドに設定したＤＴ閾値補正用レコードが解析結果テーブル３４を追加する（ステップＳ５０５）。
【０１５４】
そして、ＣＰＵ１４は、ステップＳ５０１に戻って、次のＳ→Ｓ→Ｃ→Ｄレコードを操作履歴テーブル３３から検索する。
【０１５５】
ＣＰＵ１４は、未処理のＳ→Ｓ→Ｃ→Ｄレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＳ→Ｓ→Ｃ→Ｄレコードがなくなった場合（ステップＳ５０２；ＮＯ）には、ステップＳ５１１以降の処理を開始する。
【０１５６】
既に明らかであるとは考えるが、ここで、ステップＳ５０１〜Ｓ５０５の処理について幾つかの事項を補足しておくことにする。
【０１５７】
或るＳ→Ｓ→Ｃ→Ｄレコードが検索され、その先頭のＳレコードの間隔がＴｓであった場合、“Ｔｓ≦ＤＴ閾値”が成立するように、ＤＴ閾値を増大させれば、タップ間隔＝Ｔｓの２Ｓ操作がＤ操作として認定される状態を形成できる。そして、“Ｔｓ−ＤＴ閾値”分、ＤＴ閾値を増大させれば、“Ｔｓ＝ＤＴ閾値”が成立することになる。そのため、ＤＴ閾値補正用レコードに補正値として“Ｔｓ−ＤＴ閾値”を設定しているのである。
【０１５８】
ただし、ＤＴ閾値が過度に大きくなると、Ｓ操作に対する応答が遅い（図５のステップＳ１０５、Ｓ１０７参照）とユーザが感じるようになってしまう。そのため、ステップＳ５０４にて、ＴｓとＤＴ閾値上限値とを比較し、ＴｓがＤＴ閾値上限値よりも大きい場合には、ステップＳ５０５の処理が実行されないようにしているのである。
【０１５９】
以下、ＤＴ閾値補正情報生成処理のステップＳ５１１以降の処理の内容を説明する。
【０１６０】
ステップＳ５０１〜Ｓ５０５の処理を終了したＣＰＵ１４は、ステップＳ５１１にて、操作履歴テーブル３３から、最初のＤ→Ｃ→Ｓ→Ｓレコードを検索する。
【０１６１】
Ｄ→Ｃ→Ｓ→Ｓレコードは、基本的には、操作履歴テーブル３３上の“ｉｄが連続した４レコードであって、第１レコードの操作種類がＤであり、第２レコードの操作種類がＣであり、第３、第４レコードの操作種類がいずれもＳである４レコード”である。ただし、Ｄ→Ｃ→Ｓ→Ｓレコードは、以下の条件６〜条件８も満たしている。
【０１６２】
条件６：第２レコードの操作時刻−第１レコードの操作時刻≦第１既定時間（＝２秒）
条件７：第３レコードの操作時刻−第２レコードの操作時刻≦第２既定時間（＝３秒）
条件８：第４レコードの操作時刻−第３レコードの操作時刻≦第３既定時間（＝１秒）
【０１６３】
Ｄ、Ｃ、Ｓ、Ｓというレコードの順番と条件６〜８とから明らかなように、ステップＳ５１１では、“２回のＳ操作のつもりで行った操作がＤ操作として認定されたため、Ｃ操作を行ってから２回のＳ操作をやり直した操作”に関する４レコードが検索される。
【０１６４】
Ｄ→Ｃ→Ｓ→Ｓレコードが検索できた場合（ステップＳ５１２；ＹＥＳ）、ＣＰＵ１４は、“Ｄａ＋ＤＴ閾値≦ＤＴ閾値下限値”が成立しているか否かを判断する（ステップＳ５１３）。ここで、Ｄａとは、１回の補正情報更新処理によるＤＴ閾値（ＤＴ閾値補正値）の減少時間（例えば、−５ｍｓ）として予め設定されている負の値のことである。
【０１６５】
“Ｄａ＋ＤＴ閾値≦ＤＴ閾値下限値”が成立しない場合（ステップＳ５１３；ＮＯ）、ＣＰＵ１４は、ステップＳ５１１に戻って、次のＤ→Ｃ→Ｓ→Ｓレコードを操作履歴テーブル３３から検索する。
【０１６６】
一方、“Ｄａ＋ＤＴ閾値≦ＤＴ閾値下限値”が成立する場合（ステップＳ５１３；ＹＥＳ）、ＣＰＵ１４は、Ｄａを、補正値フィールドに設定したＤＴ閾値補正用レコードを操作履歴テーブル３３に追加する（ステップＳ５１４）。すなわち、ＣＰＵ１４は、ＤＴ閾値を、一定量減少させるためのＤａを補正値として設定したＤＴ閾値補正用レコードを操作履歴テーブル３３に追加する。
【０１６７】
尚、ステップＳ５１３の判断をなくし、ステップＳ５１４の処理を、“Ｄレコードの間隔−ＤＴ閾値”を補正値フィールドに設定したＤＴ閾値補正用レコードを操作履歴テーブル３３に追加する処理に変更することも出来る。また、ステップＳ５１３の判断を他の判断に変更し、ステップＳ５１４の処理を、“Ｄレコードの間隔−ＤＴ閾値”を補正値フィールドに設定したＤＴ閾値補正用レコードを操作履歴テーブル３３に追加する処理に変更
することも出来る。
【０１６８】
ステップＳ５１４の処理を終えたＣＰＵ１４は、ステップＳ５１１に戻る。
【０１６９】
ＣＰＵ１４は、未処理のＤ→Ｃ→Ｓ→Ｓレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＤ→Ｃ→Ｓ→Ｓレコードがなくなったとき（ステップＳ５１２；ＮＯ）に、このＤＴ閾値補正情報生成処理を終了する。
【０１７０】
ＤＴ閾値補正情報生成処理（図７；ステップＳ２０３）を終えたＣＰＵ１４は、既に説明したように、解析結果テーブル３４上の補正値の平均値を補正対象識別子別に算出して補正情報３０中の対応する補正値に加算する（ステップＳ２０４）。次いで、ＣＰＵ１４は、ＬＴ閾値及びＤＴ閾値を再算出する（ステップＳ２０５）。
【０１７１】
その後、ＣＰＵ１４は、操作履歴テーブル３３及び解析結果テーブル３４をクリアする（ステップＳ２０６）。そして、ＣＰＵ１４は、補正情報更新処理を終了して、操作判別処理を実行しながら、操作履歴テーブル３３上のレコード数が所定数以上となること等を監視している状態となる。
【０１７２】
《第２実施例》
図１５に、第２実施例に係る情報処理装置２０の概略構成を示す。
【０１７３】
本実施例に係る情報処理装置２０は、第１実施例に係る情報処理装置１０のＯＳ２１を、ＯＳ２２に変更した装置である。そして、ＯＳ２２に従ってＣＰＵ１４が行う各処理は、ＯＳ２１に従ってＣＰＵ１４が行う各処理と共通する部分が多いものとなっている。そのため、以下では、第１実施例に係る情報処理装置１０と異なる部分を中心に、第２実施例に係る情報処理装置２０の構成及び動作を説明する。
【０１７４】
まず、以下の説明で、新たに用いる幾つかの用語を定義する。
以下の説明では、タップ先／種類が誤認定された最初のタップ操作のことを、初回操作と表記する。また、初回操作後、何回か操作をやり直すことにより、目的とする動作を情報処理装置２０（アプリ）に行わせることが出来たタップ操作のことを、最終操作と表記する。さらに、初回操作から最終操作までの一連の操作のことを、特殊操作シーケンスと表記する。要するに、図９の（Ａ）、図１０の（Ａ）のような操作のことを、初回操作と表記し、図９の（Ｃ）、図１０の（Ｅ）のような操作のことを、最終操作と表記する。また、図９の（Ａ）〜（Ｃ）、図１０の（Ａ）〜（Ｅ）のような操作シーケンスのことを、特殊操作シーケンスと表記する。
【０１７５】
図１５に戻って、情報処理装置２０の構成及び動作を説明する。
【０１７６】
図１５に示してあるように、情報処理装置２０は、ＲＡＭ１６上に、システム用補正情報３１、幾つか（図１５では、１つ）のアプリ別補正情報３２、操作履歴テーブル３５及び解析結果テーブル３６が記憶されている状態で動作する。また、情報処理装置２０のＣＰＵ１４は、操作判別処理及び補正情報更新処理を行う。
【０１７７】
図１６〜図１９に、夫々、操作履歴テーブル３５、解析結果テーブル３６、システム用補正情報３１、アプリ別補正情報３２の構成（データ構造）を示す。
【０１７８】
図１６に示してあるように、操作履歴テーブル３５は、情報処理装置１０の操作履歴テーブル３３（図６）に、前間隔フィールド及び後間隔フィールドを追加した構成を有している。
【０１７９】
この操作履歴テーブル３５の、前間隔フィールド及び後間隔フィールド以外の各フィールドは、操作履歴テーブル３３の同名のフィールドと同じ情報が設定されるフィールドである。
【０１８０】
前間隔フィールド、後間隔フィールドは、夫々、“自レコードの操作時刻−前レコードの操作時刻”（以下、前間隔と表記する）、“次レコードの操作時刻−自レコードの操作時刻”（以下、後間隔と表記する）が設定されるフィールドである。ただし、特殊操作シーケンスの構成要素である可能性がある操作に関するレコードの前間隔／後間隔フィールドだけに、前間隔／後間隔は設定される。前間隔／後間隔フィールドへの前間隔／後間隔の設定手順、前間隔／後間隔フィールドに設定された前間隔／後間隔の用途については後述することにする。
【０１８１】
図１７に示してあるように、解析結果テーブル３６は、解析結果テーブル３４（図４）に、アプリ名フィールドを追加した構成を有するテーブルである。
【０１８２】
この解析結果テーブル３６のｉｄフィールド、補正対象フィールド、補正値フィールドは、夫々、解析結果テーブル３４のｉｄフィールド、補正対象フィールド、補正値フィールドに設定されるものと同じ情報が設定されるフィールドである。解析結果テーブル３６のアプリ名フィールドは、補正値フィールドに設定されている補正値の算出に使用された操作履歴テーブル３５のレコード上の操作対象アプリ名（通知先フィールドに設定されているアプリ名）が設定されるフィールドである。
【０１８３】
以下、この解析結果テーブル３６上の、“タップ座標”、“ＤＴ閾値”、“ＬＴ閾値”が補正対象フィールドに設定されているレコードのことも、夫々、座標補正用レコード、ＤＴ閾値補正用レコード、ＬＴ閾値補正用レコードと表記する。
【０１８４】
図１８に示してあるように、システム用補正情報３１は、補正情報３０（図３）と同構成の情報である。
【０１８５】
このシステム用補正情報３１は、補正情報３０と同様に、情報処理装置２０の起動時にＲＯＭ１５からＲＡＭ１６へロードされ、情報処理装置２０の終了時等にＲＯＭ１５に書き戻される情報である。また、システム用補正情報３１は、補正情報３０の更新手順と同様の手順で更新される情報ともなっている。
【０１８６】
ただし、本実施例に係る補正情報更新処理（以下、第２補正情報更新処理とも表記する）は、特殊操作シーケンスの要素シーケンス（図１０の（Ａ）〜（Ｃ）の３操作等）に基づき、補正値を算出することがない処理（詳細は後述）となっている。また、第２補正情報更新処理は、特殊操作シーケンスの内容に基づき算出したタップ座標／ＬＴ閾値／ＤＴ閾値用の補正値の平均値をさらに１／２した値を、システム用補正情報３１中の各補正値に加算する処理ともなっている。従って、システム用補正情報３１の各補正値の値自体は、ユーザによる操作履歴が同じであっても、補正情報３０中の各補正値の値とは異なる。
【０１８７】
図１９に示してあるように、アプリ別補正情報３２は、システム用補正情報３１（図１８）と同構成の情報である。このアプリ別補正情報３２は、或るアプリの初回実行時に、その時点におけるシステム用補正情報３１のコピーが、そのアプリ用のものとしてＲＡＭ１６上に用意される情報である。また、各アプリ用のアプリ別補正情報３２は、更新に用いられる解析結果テーブル３６のレコードが、各アプリのアプリ名が設定されているレコードだけであることを除けば、システム用補正情報３１と同手順／アルゴリズムで更新される情報となっている。尚、ＣＰＵ１４（ＯＳ２２）は、或るアプリの終了時に、そのア
プリ用の、ＲＡＭ１６上のアプリ別補正情報３２をＲＯＭ１５に保存する。
【０１８８】
次に、本実施例に係る操作判別処理の内容を説明する。
【０１８９】
図２０に、本実施例に係る操作判別処理（以下、第２操作判別処理とも表記する）の流れ図を示す。
【０１９０】
この第２操作判別処理のステップＳ６０１、Ｓ６０２、Ｓ６０４〜Ｓ６１１の処理は、夫々、第１実施例に係る操作判別処理（図５；以下、第１操作判別処理とも表記する）のステップＳ１０１、Ｓ１０２、Ｓ１０４〜Ｓ１１１の処理と同じものである。そのため、以下では、ステップＳ６０３、Ｓ６１２、ステップＳ６１３の処理の内容を中心に、この第２操作判別処理の内容を説明する。
【０１９１】
尚、以下の説明において、システム用座標補正値、システム用ＬＴ補正値、システム用ＤＴ補正値とは、夫々、システム用補正情報３１（図１８）中の座標補正値、ＬＴ補正値、ＤＴ補正値のことである。操作対象アプリ用補正情報とは、操作対象アプリ用のアプリ別補正情報３２（図１９）のことである。操作対象アプリ用座標補正値、操作対象アプリ用ＬＴ補正値、操作対象アプリ用ＤＴ補正値とは、夫々、操作対象アプリ用補正情報中の座標補正値、ＬＴ補正値、ＤＴ補正値のことである。
【０１９２】
図２０に示してあるように、第２操作判別処理を実行しているＣＰＵ１４（ＯＳ２２）は、タップ操作がなされた場合（ステップＳ６０１；タップ）には、タップオブジェクト特定処理（ステップＳ６０３）を行う。
【０１９３】
このタップオブジェクト特定処理は、図２１に示した手順の処理である。
【０１９４】
すなわち、タップオブジェクト特定処理を開始したＣＰＵ１４（ＯＳ２２）は、まず、検出座標にＲＡＭ１６上のシステム用座標補正値（システム用補正情報３１中の座標補正値）を加算することにより暫定座標を算出する（ステップＳ７０１）。
【０１９５】
次いで、ＣＰＵ１４は、算出した暫定座標と、実行中の各アプリにより表示されている各オブジェクトの形状等に関する情報とに基づき、今回のタップ操作の操作対象となっているアプリ（以下、操作対象アプリと表記する）を特定する（ステップＳ７０２）。
【０１９６】
操作対象アプリの特定を終えたＣＰＵ１４は、操作対象アプリ用補正情報（操作対象アプリ用のアプリ別補正情報３２）がＲＡＭ１６上に存在しているか否かを判断する（ステップＳ７０３）。そして、ＣＰＵ１４は、操作対象アプリ用補正情報がＲＡＭ１６上に存在していた場合（ステップＳ７０３；ＹＥＳ）には、ステップＳ７０７以降の処理を開始する。
【０１９７】
一方、操作対象アプリ用補正情報がＲＡＭ１６上に存在していなかった場合（ステップＳ７０３；ＮＯ）、ＣＰＵ１４は、操作対象アプリ用補正情報がＲＯＭ１５上に存在しているか否かを判断する（ステップＳ７０４）。操作対象アプリ用補正情報がＲＯＭ１５上に存在していた場合（ステップＳ７０４；ＹＥＳ）、ＣＰＵ１４は、ステップＳ７０５にて、その操作対象アプリ用補正情報をＲＡＭ１６上に読み出してから、ステップＳ７０７以降の処理を開始する。
【０１９８】
また、ＣＰＵ１４は、操作対象アプリ用補正情報がＲＯＭ１５上に存在していなかった場合（ステップＳ７０４；ＮＯ）には、ＲＡＭ１６上のシステム用補正情報３１のコピーを操作対象アプリ用補正情報３２としてＲＡＭ１６上に記憶する（ステップＳ７０６）。
そして、ＣＰＵ１４は、ステップＳ７０７以降の処理を開始する。
【０１９９】
ステップＳ７０７にて、ＣＰＵ１４は、暫定座標に操作対象アプリ用座標補正値を加算することによって、タップ座標を算出する。また、ＣＰＵ１４は、ＬＴ基準閾値に、システム用ＬＴ補正値と操作対象アプリ用ＬＴ補正値とを加算することによって、ＬＴ閾値を算出する。さらに、ＣＰＵ１４は、ＤＴ基準閾値に、システム用ＤＴ補正値と操作対象アプリ用ＤＴ補正値とを加算することによって、ＤＴ閾値を算出する。
【０２００】
尚、ＣＰＵ１４は、算出したタップ座標が操作対象アプリ以外のアプリにより表示されているオブジェクト上の点の座標であった場合には、操作対象アプリにより表示されているオブジェクト上の点の座標となるように、タップ座標を変更する。具体的には、ＣＰＵ１４は、“暫定座標＋ｋ・操作対象アプリ用座標補正値”が、操作対象アプリにより表示されているオブジェクト上の点の座標となるｋの最大値ｋmaxを求め、タップ座標を、“
暫定座標＋ｋmax・操作対象アプリ用座標補正値”に変更する。
【０２０１】
ステップＳ７０７の処理を終えたＣＰＵ１４は、算出したタップ座標に基づき、タップオブジェクトを特定する（ステップＳ７０８）。尚、このステップＳ７０８の処理は、ステップＳ１０３の処理と同様に、タップオブジェクトを特定しない場合がある処理である。
【０２０２】
そして、ステップＳ７０８の処理を終えたＣＰＵ１４は、このタップオブジェクト特定処理（図２１の処理）を終了する。
【０２０３】
要するに、このタップオブジェクト特定処理は、ステップＳ１０３の処理と同様に、タップ座標を算出し、算出したタップ座標に基づきタップオブジェクトを特定する処理である。ただし、タップオブジェクト特定処理では、システム用座標情報３１とアプリ別補正情報３２とを利用してタップ座標が算出される。また、タップオブジェクト特定処理では、タップ操作の種類を判定するためのＬＴ閾値及びＤＴ閾値が、システム用座標情報３１とアプリ別補正情報３２とを利用して算出される。
【０２０４】
図２０に戻って、第２操作判別処理の説明を続ける。
【０２０５】
タップオブジェクト特定処理後、或るイベント（シングルタップイベント等）の発生を操作対象アプリに通知したＣＰＵ１４（ＯＳ２２）は、操作履歴テーブル３５に、ユーザが行った操作の内容を示すレコードを追加する（ステップＳ６１２）。このステップＳ６１２の処理時に操作履歴テーブル３５に追加されるレコードは、前間隔及び後間隔フィールドにＮＵＬＬが設定されていることを除けば、ステップＳ１１２（図５）の処理時に操作履歴テーブル３３に追加されるレコードと同じものである。
【０２０６】
その後、ＣＰＵ１４は、間隔設定処理（ステップＳ６１３）を行う。
【０２０７】
図２２に、間隔設定処理の流れ図を示す。この間隔設定処理は、現レコード及び前レコードが、特殊操作シーケンスの構成要素である可能性がある操作に関するレコードである場合に限り、前レコードの後間隔フィールド、現レコードの前間隔フィールドに、それぞれ、前間隔、後間隔を設定する処理である。尚、現レコードとは、今回、操作履歴テーブル３５に追加されたレコードのことであり、前レコードとは、前回、操作履歴テーブル３５に追加されたレコードのことである。
【０２０８】
図２２に示してあるように、間隔設定処理を開始したＣＰＵ１４（ＯＳ２２）は、まず、現レコードの操作時刻から前レコードの操作時刻を減じた値Δｔを算出する（ステップ
Ｓ８０１）。
【０２０９】
次いで、ＣＰＵ１４は、現レコードの操作種類と前レコードの操作種類とから、ステップＳ８０３の処理で使用する間隔閾値を選択する（ステップＳ８０２）。
【０２１０】
図２３に、このステップＳ８０２の処理で選択される間隔閾値と操作種類の組み合わせとの対応関係を示す。この図２３から明らかなように、ＣＰＵ１４は、前レコードの操作種類がＳ（シングルタップ）、Ｄ（ダブルタップ）又はＬ（ロングタップ）であり、現レコードの操作種類がＣ（キャンセル）であった場合には、間隔閾値として２０００ｍｓ（２秒）を選択する。
【０２１１】
ＣＰＵ１４は、前レコードの操作種類がＣであり、現レコードの操作種類がＳ、Ｌ又はＤであった場合には、間隔閾値として３０００ｍｓを選択する。また、ＣＰＵ１４は、前レコードの操作種類、現レコードの操作種類が共にＳであった場合には、間隔閾値として１０００ｍｓを選択し、前、現レコードの操作種類の組み合わせが他の組み合わせであった場合には、間隔閾値として０ｍｓを選択する。
【０２１２】
尚、２０００ｍｓ、３０００ｍｓ、１０００ｍｓという間隔閾値は、夫々、第１実施例における第１既定時間、第２既定時間、第３既定時間に相当する情報である。
【０２１３】
ステップＳ８０２（図２２）の処理を終えたＣＰＵ１４は、“Δｔ≦間隔閾値”が成立しているか否かを判断する（ステップＳ８０３）。“Δｔ≦間隔閾値”が成立していた場合（ステップＳ８０３；ＹＥＳ）、ＣＰＵ１４は、Δｔを、前レコードの後間隔フィールドと現レコードの前間隔フィールドとに設定する（ステップＳ８０４）。そして、ＣＰＵ１４は、この間隔設定処理を終了する。
【０２１４】
一方、“Δｔ≦間隔閾値”が成立していなかった場合（ステップＳ８０３；ＮＯ）、ＣＰＵ１４は、ステップＳ８０４の処理を行うことなく、間隔設定処理を終了する。
【０２１５】
要するに、上記した、第１実施例に係る３種の補正情報生成処理の内容から明らかなように、特殊操作シーケンスの構成要素である可能性がある操作は、以下の操作である。
【０２１６】
（１）Ｃ操作の完了後、３秒以内に行われているＴ（Ｓ、Ｌ又はＤ）操作
（２）その完了後、３秒以内にＴ操作が行われているＣ操作
（３）Ｔ操作の完了後、２秒以内になされたＣ操作
（４）その完了後、２秒以内にＣ操作が行われているＴ操作
（５）Ｓ操作の完了後、１秒以内に行われたＳ操作
（６）その完了後、１秒以内にＳ操作が行われているＳ操作
【０２１７】
間隔設定処理のステップＳ８０２では、現レコードと前レコードの操作種別の組み合わせから、（１）、（３）又は（５）の説明文中の秒数（３、２、１）が、間隔閾値として選択されている。また、“Δｔ≦間隔閾値？”という判断（ステップＳ８０３）では、現レコードと前レコードの操作種別の組み合わせに応じて、“Δｔ≦３？”、“Δｔ≦２？”、“Δｔ≦１？”のいずれかが行われている。そして、現レコードの操作が、特殊操作シーケンスの構成要素である可能性がある場合、前レコードの操作も、特殊操作シーケンスの構成要素である可能性がある（（１）と（２）、（３）と（４）、（５）と（６）参照）。そのため、Δｔを前レコードの後間隔フィールドと現レコードの前間隔フィールドとに同時に設定している（ステップＳ８０４）のである。
【０２１８】
以下、第２補正情報更新処理（ＣＰＵ１４（ＯＳ２２）が実行する補正情報更新処理）
の内容を説明する。
【０２１９】
図２４に、第２補正情報更新処理の流れ図を示す。
まず、テーブル変換処理（ステップＳ９０１〜Ｓ９０４の処理）の内容を説明する。
【０２２０】
尚、以下の説明において、“前間隔が設定されている”、“後間隔が設定されている”とは、夫々、“前間隔フィールドの値がＮＵＬＬではない”、“後間隔フィールドの値がＮＵＬＬではない”ということである。Ｘ（＝Ｓ、ＣＳ等）レコードとは、操作種類がＸとなっている操作履歴テーブル３５上のレコードのことである。また、Ｔとは、Ｓ、Ｌ又はＤのことである。従って、ＣＴとは、ＣＳ、ＣＬ又はＣＤのことである。このＣＴは、ＣＴという文字列であっても、ＣＴを示す情報であっても良い。
【０２２１】
テーブル変換処理は、操作履歴テーブル３５を、『特殊操作シーケンスの初回操作と最終操作とに関する情報を、タップ操作のやり直し回数によらず、連続した２レコードの検索で得られるテーブル』に変換（加工）する処理である。
【０２２２】
図２４に示してあるように、テーブル変換処理を開始したＣＰＵ１４は、まず、操作履歴テーブル３５上の、前レコードがＣレコードであり、前間隔が設定されている各Ｔレコードの操作種類をＣＴに変更する（ステップＳ９０１）。次いで、ＣＰＵ１４は、操作履歴テーブル３５上の、次レコードがＣレコードであり、後間隔が設定されている各Ｙレコードの操作種類Ｙ（＝Ｓ、Ｄ、Ｌ、ＣＳ、ＣＤor ＣＬ）を、ＹＣに変更する（ステップ
Ｓ９０２）。尚、上記した間隔設定処理（図２２）は、主として、これらのステップの処理時に、２レコードの操作時刻差を算出しなくても良いようにするために行っているものである。
【０２２３】
その後、ＣＰＵ１４は、操作履歴テーブル３３上の各Ｃレコードを削除する（ステップＳ９０３）。また、ＣＰＵ１４は、操作履歴テーブル３３上の各ＣＴＣレコードも削除する（ステップＳ９０３）。さらに、ＣＰＵ１４は、操作履歴テーブル３３上の各ＣＳ→ＳＣレコードも削除する（ステップＳ９０３）。ここで、ＣＳ→ＳＣレコードとは、ＣＳレコード、ＳＣレコードという順（ＣＳレコードが、ＳＣレコードの前レコードとなっている順；以下、同様）に並んだ２レコードのことである。
【０２２４】
以下、図９に示した内容の特殊操作シーケンスをユーザが行っていた場合と、図１０に示した内容の特殊操作シーケンスをユーザが行っていた場合とを例に、テーブル変換処理（ステップＳ９０１〜Ｓ９０４の処理）の内容を具体的に説明する。
【０２２５】
操作履歴テーブル３５に１個もレコードが記憶されていない状態で、図９に示した内容の特殊操作シーケンスをユーザが行った場合、操作履歴テーブル３５に、図９の（Ａ）の操作を示すＳレコードが追加される。その後、操作履歴テーブル３５に、図９の（Ｂ）の操作を示すＣレコード、図９の（Ｃ）の操作を示すＳレコードが順次追加される。また、レコードの追加毎に間隔設定処理が行われるため、操作履歴テーブル３５の内容は、図２５Ａに示したものとなる。
【０２２６】
また、図１０に示した内容の特殊操作シーケンスをユーザが行った場合には、操作履歴テーブル３５に、図１０の（Ａ）の操作を示すＳレコード、図１０の（Ｂ）の操作を示すＣレコード、図１０の（Ｃ）の操作を示すＳレコードが順次追加される。さらに、操作履歴テーブル３５に、図１０の（Ｄ）の操作を示すＣレコードと図１０の（Ｅ）の操作を示すＳレコードも追加される。そして、レコードの追加毎に間隔設定処理が行われるため、特殊操作シーケンス開始前の操作履歴テーブル３５に１個のレコードが記憶されていた場合、操作履歴テーブル３５の内容は、図１６に示したものとなる。
【０２２７】
そして、テーブル変換処理の開始時における操作履歴テーブル３５の内容が、図２５Ａに示したものであった場合には、ステップＳ９０１及びＳ９０２の処理により、操作履歴テーブル３５の内容が図２５Ｂに示したものに変更される。
【０２２８】
また、図１６に示した内容の操作履歴テーブル３５に対してテーブル変換処理のステップＳ９０１及びＳ９０２の処理が行われた場合、操作履歴テーブル３５の内容が図２６Ａに示したものに変更されることになる。
【０２２９】
図２５Ｂ、図２６Ａから明らかなように、ステップＳ９０１及びＳ９０２の処理により、操作履歴テーブル３５は、操作種類だけから、各タップ操作が特殊操作シーケンスの構成要素である可能性がある操作であるか否かを判断できるものとなる。従って、操作履歴テーブル３５上の各Ｃレコードを削除しても、特殊操作シーケンスの内容を把握できる。
【０２３０】
また、ＣＴＣ（ＣＳＣ、ＣＬＣ、ＣＤＣ；図２６Ａでは、ＣＳＣ）レコードは、その直前及び直後にＣ操作が行われているタップ操作、つまり、初回操作でも最終操作でもないタップ操作に関するレコードである。従って、操作履歴テーブル３５上の各ＣＳＣレコードを削除しても、特殊操作シーケンスの初回操作及び最終操作に関するレコードは、操作履歴テーブル３５上に残る。
【０２３１】
そして、操作履歴テーブル３５上の各ＣＴＣレコードと各Ｃレコードとを削除すれば、図２５Ｃ、図２６Ｂに示したように、特殊操作シーケンスの初回操作と最終操作とに関する２レコードが並んだ状態を形成できる。尚、図２５Ｃ、図２６Ｂに示してある操作履歴テーブル３５は、夫々、図２５Ｂ、図２６Ａに示してある操作履歴テーブル３５から、ＣＴＣレコード及びＣレコードを除去したものである。
【０２３２】
そのため、上記内容の処理をステップＳ９０１〜Ｓ９０３にて行っているのである。
【０２３３】
ただし、Ｄ操作として認定されなかった２シングルタップ操作（以下、ＳＳ操作と表記する）の内容は、２レコードとして操作履歴テーブル３３に記録される。そして、ステップＳ９０１及びＳ９０２の処理により、初回操作ではないＳＳ操作に関する２レコードは、ＣＳ→ＳＣレコードとなる。そのため、ＣＳ→ＳＣレコードを削除することにより、ＳＳ操作が関連する特殊操作シーケンスについても、初回のＳＳ操作の内容を表すレコードと最終操作（Ｄ操作）に関するレコードが並んだ状態を形成できるようにしているのである。
【０２３４】
尚、初回のＳＳ操作の内容を表すレコードとは、“次レコードが、最終操作（Ｄ操作）に関するＣＤレコードとなっており、前間隔が設定されているＳＣレコード”のことである。
【０２３５】
具体的には、ＳＳ操作時には操作履歴テーブル３３に２つのＳレコードが追加される。そして、間隔設定処理により、２番目のＳ操作に関するＳレコードの前間隔フィールドに、前間隔（自レコードの操作時刻−前レコードの操作時刻）、すなわち、ＳＳ操作のタップ間隔が設定される。そして、補正情報更新処理が開始されると、ステップＳ９０２の処理により、当該Ｓレコードの操作種類がＳＣに変更されるが、ＳＳ操作の２番目のＳ操作ではないＳ操作に関するＳＣレコードには、前間隔が設定されていない（図２３、図２６Ａ等参照）。従って、ステップＳ９０２（図２４）の処理完了後に操作履歴テーブル３３上に存在している“前間隔が設定されているＳＣレコード”は、それに設定されている前間隔と一致するタップ間隔のＳＳ操作が行われたことを示すレコードであることになる。そして、ＣＳ→ＳＣレコードが削除されると、初回のＳＳ操作に関するＳＣレコードしか
操作履歴テーブル３３上に残らない。従って、テーブル変換処理後に操作履歴テーブル３３上に存在する“次レコードがＣＤレコードとなっており、前間隔が設定されているＳＣレコード”は、“初回のＳＳ操作の内容を表すレコード”となっていることになる。
【０２３６】
テーブル変換処理（図２４）を完了したＣＰＵ１４（ＯＳ２２）は、座標補正情報生成処理（ステップＳ９０５）と、ＬＴ閾値補正情報生成処理（ステップＳ９０６）と、ＤＴ閾値補正情報生成処理（ステップＳ９０７）とを、行う。
【０２３７】
以下、各情報生成処理の内容を説明する。尚、説明の便宜上、以下では、本実施例に係る座標補正情報生成処理、ＬＴ閾値補正情報生成処理、ＤＴ閾値補正情報生成処理のことを、夫々、第２座標補正情報生成処理、第２ＬＴ閾値補正情報生成処理、第２ＤＴ閾値補正情報生成処理と表記する。また、上記した第１実施例に係る座標補正情報生成処理、ＬＴ閾値補正情報生成処理、ＤＴ閾値補正情報生成処理のことを、夫々、第１座標補正情報生成処理、第１ＬＴ閾値補正情報生成処理、第１ＤＴ閾値補正情報生成処理と表記する。
【０２３８】
図２７に、第２座標補正情報生成処理の流れ図を示す。
この図２７に示してあるように、第２座標補正情報生成処理を開始したＣＰＵ１４は、まず、操作履歴テーブル３５から、最初のＴＣ→ＣＴレコード（ＳＣ→ＣＳレコード、ＬＣ→ＣＬレコード又はＤＣ→ＣＤレコード）を検索する（ステップＳ１００１）。このステップＳ１００１で検索されるＴＣ→ＣＴレコードは、ＴＣレコード、ＣＴレコードの順に並んだ操作履歴テーブル３５上の２レコードである。
【０２３９】
すなわち、操作履歴テーブル３５は、間隔設定処理及びテーブル変換処理により、図２５Ｃや図２６Ｂに示した内容のテーブルに変換／加工されている。そのため、ＴＣ→ＣＴレコードの検索により、タップ先が誤認定されたために行われた特殊操作シーケンスの初回操作と最終操作とに関する２レコードを、当該特殊操作シーケンスのやり直し回数にとらず操作履歴テーブル３５から検索することができる。
【０２４０】
ＴＣ→ＣＴレコードが検索できた場合（ステップＳ１００２；ＹＥＳ）、ＣＰＵ１４は、当該ＴＣ→ＣＴレコード中のＴＣレコードの座標及びＣＴレコードの座標を取得する（ステップＳ１００３）。そして、ＣＰＵ１４は、ＴＣレコードの座標からＣＴレコードの座標を減じた座標差と、当該２座標が示している点間の距離である補正距離とを算出する（ステップＳ１００３）。ＣＰＵ１４は、このステップＳ１００３にて、ＴＣレコードの通知先アプリ名を取得し注目アプリ名として記憶する処理も行う。（ステップＳ１００３）。尚、ＴＣレコードの通知先アプリ名とＣＴレコードのアプリ名は一致している。従って、ＣＴレコードからアプリ名を取得することも出来る。
【０２４１】
ステップＳ１００３の処理を終えたＣＰＵ１４は、算出した補正距離と、補正距離上限値（図２７では、上限値）とを比較する（ステップＳ１００４）。補正距離が補正距離上限値以下であった場合（ステップＳ１００４；ＹＥＳ）、ＣＰＵ１４は、ステップＳ１００５にて、各フィールドに以下の情報を設定したレコードを解析結果テーブル３６に追加する。
【０２４２】
〔ｉｄフィールド〕
レコード追加前の解析結果テーブル３６上のレコード数
〔補正対象フィールド〕
“タップ座標”
〔アプリ名フィールド〕
注目アプリ名
〔補正値フィールド〕
算出した座標差
【０２４３】
要するに、ＣＰＵ１４は、算出した座標差を補正値として設定し、注目アプリ名を、アプリ名として設定した座標補正用レコードを解析結果テーブル３６に追加する（ステップＳ１００５）。そして、ＣＰＵ１４は、ステップＳ１００１に戻って、再び、ＴＣ→ＣＴレコードを操作履歴テーブル３３から検索する。
【０２４４】
一方、補正距離が補正距離上限値よりも大きかった場合（ステップＳ１００４；ＮＯ）、ＣＰＵ１４は、ステップＳ１００５の処理を行うことなく、ステップＳ１００１に戻る。
【０２４５】
ＣＰＵ１４は、未処理のＴＣ→ＣＴレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＴＣ→ＣＴレコードがなくなったとき（ステップＳ１００２；ＮＯ）に、この座標補正情報生成処理を終了する。
【０２４６】
以上の説明から明らかなように、第２座標補正情報生成処理は、第１座標補正情報生成処理（図８）と同手順で補正値（座標差）を算出する処理である。ただし、図１０に示した内容の特殊操作シーケンスが行われていた場合、第２座標補正情報生成処理のステップＳ１００１では、図１０の（Ａ）、（Ｅ）に示してある２操作の内容を示すＴＣ→ＣＴ（ＳＣ→ＣＳ）レコードが検索される。また、その結果として、“ポイント５４の座標−ポイント５２の座差”が、タップ座標用の補正値として解析結果テーブル３６に記録される。従って、本情報処理装置２０によれば、図１０の特殊操作シーケンスが行われていた場合、“ポイント５４の座標−ポイント５２の座標”分、タップ座標を補正できることになる。
【０２４７】
一方、第１実施例の情報処理装置１０は、既に説明したように、図１０に示した内容の特殊操作シーケンスが行われていた場合、０．５×（ポイント５４の座標−ポイント５２の座標）しかタップ座標を補正できない装置となっている。従って、本実施例に係る情報処理装置２０によれば、情報処理装置１０よりも、良好にタップ座標（タップ座標補正値）を補正できる。
【０２４８】
次に、第２ＬＴ閾値補正情報生成処理（図２４；ステップＳ９０６）の内容を説明する。
【０２４９】
図２８に、第２ＬＴ閾値補正情報生成処理の流れ図を示す。
【０２５０】
図２８に示してあるように、第２ＬＴ閾値補正情報生成処理を開始したＣＰＵ１４は、まず、操作履歴テーブル３３から、最初のＳＣ→ＣＬレコードを検索する（ステップＳ１１０１）。このステップＳ１１０１で検索されるＳＣ→ＣＬレコードは、ＳＣレコード、ＣＬレコードという順に並んだ操作履歴テーブル３５上の２レコードである。
【０２５１】
ＳＣ→ＣＬレコードが検索できた場合（ステップＳ１１０２；ＹＥＳ）、ＣＰＵ１４は、当該ＳＣ→ＣＬレコード中のＳＣレコードに設定されている間隔、通知先アプリ名を、夫々、Ｔｄ、注目アプリ名として記憶する（ステップＳ１１０３）。
【０２５２】
次いで、ＣＰＵ１４は、“Ｔｄ≧ＬＴ閾値下限値”が成立するか否かを判断する（ステップＳ１１０４）。“Ｔｄ≧ＬＴ閾値下限値”が成立しない場合（ステップＳ１１０４；ＮＯ）、ＣＰＵ１４は、ステップ１１０１に戻って、操作履歴テーブル３５から次のＳＣ→ＣＬレコードを検索する。
【０２５３】
一方、“Ｔｄ≧ＬＴ閾値下限値”が成立する場合（ステップＳ１１０４；ＹＥＳ）、ＣＰＵ１４は、“Ｔｄ−注目アプリ用ＬＴ閾値”を補正値として設定したＬＴ閾値補正用レコードを解析結果テーブル３６に追加する（ステップＳ１１０５）。ここで、注目アプリ用ＬＴ閾値とは、注目アプリ名で識別される注目アプリに対して使用されるＬＴ閾値のことである。すなわち、注目アプリ用ＬＴ閾値とは、“ＬＴ基準閾値＋システム用ＬＴ補正値＋注目アプリ用のアプリ別補正値３２中のＬＴ補正値”のことである。
【０２５４】
尚、ステップＳ１１０５にて解析結果テーブル３６に追加されるＬＴ閾値補正用レコードは、アプリ名フィールドに注目アプリ名を設定したものである。また、“Ｔｄ−ＬＴ閾値”ではなく“Ｔｄ−注目アプリ用ＬＴ閾値”を補正値としているのは、実行中のアプリが何であるかによりＬＴ閾値が変わる（図２１）ため、ステップＳ１１０５の処理時のＬＴ閾値を用いると適正な補正が行えない場合があるからである。
【０２５５】
ステップＳ１１０５の処理を終えたＣＰＵ１４は、ステップＳ１１０１に戻って、操作履歴テーブル３３から次のＳＣ→ＣＬレコードを検索する。
【０２５６】
ＣＰＵ１４は、未処理のＳＣ→ＣＬレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＳＣ→ＣＬレコードがなくなった場合（ステップＳ１１０２；ＮＯ）には、操作履歴テーブル３３から、最初のＬＣ→ＣＳレコードを検索する（ステップＳ１１１１）。このステップＳ１１１１で検索されるＬＣ→ＣＳレコードは、ＬＣレコード、ＣＳレコードの順に並んだ操作履歴テーブル３５上の２レコードである。
【０２５７】
ＬＣ→ＣＳレコードが検索できた場合（ステップＳ１１１２；ＹＥＳ）、ＣＰＵ１４は、当該ＬＣ→ＣＳレコード中のＬＣレコードの間隔、通知先アプリ名を、夫々、Ｔｄ、注目アプリ名として記憶する（ステップＳ１１１３）。そして、ＣＰＵ１４は、“Ｔｄ≦ＬＴ閾値上限値”が成立するか否かを判断する（ステップＳ１１１４）。
【０２５８】
ＣＰＵ１４は、“Ｔｄ≦ＬＴ閾値上限値”が成立しない場合（ステップＳ１１１４；ＮＯ）、ステップＳ１１１１に戻って、次のＬＣ→ＣＳレコードを操作履歴テーブル３３から検索する。
【０２５９】
一方、“Ｔｄ≦ＬＴ閾値上限値”が成立する場合（ステップＳ１１１４；ＹＥＳ）、ＣＰＵ１４は、“Ｔｄ−注目アプリ用ＬＴ閾値”を補正値フィールドに設定したＬＴ閾値補正用レコードを解析結果テーブル３６に追加する（ステップＳ１１１５）。そして、ＣＰＵ１４は、ステップＳ１１１１に戻って、次のＬＣ→ＣＳレコードを操作履歴テーブル３３から検索する。
【０２６０】
ＣＰＵ１４は、未処理のＬＣ→ＣＳレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＬＣ→ＣＳレコードがなくなったとき（ステップＳ１１１２；ＮＯ）に、この第２ＬＴ閾値補正情報生成処理を終了する。
【０２６１】
この第２ＬＴ閾値補正情報生成処理もは、第１座標補正情報生成処理と同様に、特殊操作シーケンスの初回操作に関するレコード上に情報に基づき、補正値を算出する。そして、情報処理装置１０が実行する第１ＬＴ閾値補正情報生成処理は、特殊操作シーケンスの初回操作ではない操作に関するレコード上に情報に基づき、補正値を算出する場合がある装置である。従って、本実施例に係る情報処理装置２０は、情報処理装置１０よりも、良好にＬＴ閾値を補正できる装置となっていると言うことが出来る。
【０２６２】
次に、第２ＤＴ閾値補正情報生成処理の内容を説明する。
【０２６３】
図２９に、第２ＤＴ閾値補正情報生成処理の流れ図を示す。尚、この第２ＬＴ閾値補正情報生成処理も、第１ＤＴ閾値補正情報生成処理と、補正値の算出手順自体は同じものである。
図２９に示してあるように、この第２ＤＴ閾値補正情報生成処理を開始したＣＰＵ１４（ＯＳ２２）は、まず、操作履歴テーブル３３から、最初のＳＣ→ＣＤレコードを検索する（ステップＳ１２０１）。ここで、ＳＣ→ＣＤレコードとは、前間隔が設定されているＳＣレコードとＣＤレコードとがこの順に並んだ操作履歴テーブル３５上の２レコードのことである。尚、“前間隔が設定されている”という条件を付けてあるのは、既に説明したように、当該条件を付けておけば、“ＳＳ操作の内容を表すレコード”を検索できるからである。
【０２６４】
ＳＣ→ＣＤレコードが検索できた場合（ステップＳ１２０２；ＹＥＳ）、ＣＰＵ１４は、ＳＣ→ＣＤレコードの要素として検索されたＳＣレコードの前間隔をＴｓとして記憶する（ステップＳ１２０３）。また、ＣＰＵ１４は、ＳＣレコードの通知先アプリ名を注目アプリ名として記憶する（ステップＳ１２０３）。
【０２６５】
次いで、ＣＰＵ１４は、“Ｔｓ≦ＤＴ閾値上限値”が成立するか否かを判断する（ステップＳ１２０４）。
【０２６６】
“Ｔｓ≦ＤＴ閾値下限値”が成立する場合（ステップＳ１２０４；ＹＥＳ）、ＣＰＵ１４は、“Ｔｓ−注目アプリ用ＤＴ閾値”を補正値として設定し、注目アプリ名をアプリ名として設定したＤＴ閾値補正用レコードを解析結果テーブル３６を追加する（ステップＳ１２０５）。
【０２６７】
そして、ステップＳ１２０５の処理を終えたＣＰＵ１４は、ステップＳ１２０１に戻って、次のＳＣ→ＣＤレコードを操作履歴テーブル３３から検索する。
【０２６８】
一方、“Ｔｓ≦ＤＴ閾値下限値”が成立しない場合（ステップＳ１２０４；ＮＯ）、ＣＰＵ１４は、ステップＳ１２０５の処理を行うことなく、ステップＳ１２０１に戻る。
【０２６９】
ＣＰＵ１４は、未処理のＳＣ→ＣＤレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＳＣ→ＣＤレコードがなくなった場合（ステップＳ１２０２；ＮＯ）には、操作履歴テーブル３３から、ＤＣ→ＣＳレコードを検索する（ステップＳ１２１１）。
【０２７０】
ＤＣ→ＣＳレコードは、ＤＣレコードと、後間隔が設定されているＣＳレコードとが、この順に並んだ操作履歴テーブル３５上の２レコードである。尚、“後間隔が設定されている”という条件を付けてあるのは、ＳＳ操作の１番目の操作に関するＣＳレコードを検索するためである。具体的には、Ｓレコードに後間隔が設定されるのは、次レコードがＳレコード又はＣレコードである場合（図２３参照）である。そして、ＣＳレコードは、次レコードがＣレコードではないレコードである（図２４参照）。従って、後間隔が設定されているＣＳレコードを検索すれば、次レコードがＳレコードであるＣＳレコード、つままり、ＳＳ操作の１番目の操作に関するＣＳレコードを検索できることになる。
【０２７１】
ＤＣ→ＣＳレコードが検索できた場合（ステップＳ１２１２；ＹＥＳ）、ＣＰＵ１４は、ＤＣ→ＣＳレコードの要素として検索されたＤＣレコードの通知先アプリ名を注目アプリ名として記憶する（ステップＳ１２１３）。
【０２７２】
その後、ＣＰＵ１４は、“Ｄａ＋ＤＴ閾値≦ＤＴ閾値上限値”が成立しているか否かを判断する（ステップＳ１２１４）。そして、ＣＰＵ１４は、“Ｄａ＋ＤＴ閾値≦ＤＴ閾値
上限値”が成立しない場合（ステップＳ１２１４；ＮＯ）には、ステップＳ１２１１に戻る。
【０２７３】
ＣＰＵ１４は、“Ｄａ＋ＤＴ閾値≦ＤＴ閾値上限値”が成立しない場合（ステップＳ１２１３；ＮＯ）には、Ｄａを補正値として設定し、注目アプリ名をアプリ名として設定したＤＴ閾値補正用レコードを操作履歴テーブル３３に追加する（ステップＳ１２１４）。そして、ステップＳ１２１４の処理を終えたＣＰＵ１４は、ステップＳ１２１１に戻る。
【０２７４】
ＣＰＵ１４は、未処理のＤＣ→ＣＳレコードがなくなるまで、同様の処理を繰り返す。そして、ＣＰＵ１４は、未処理のＤＣ→ＣＳレコードがなくなったとき（ステップＳ１２０２；ＮＯ）に、このＤＴ閾値補正情報生成処理を終了する。
【０２７５】
図２４に戻って、第２補正情報更新処理の残りのステップを説明する。
３種の補正情報生成処理（ステップＳ９０５〜Ｓ９０７）を終えたＣＰＵ１４（ＯＳ２２）は、補正対象識別子別に、解析結果テーブル３６上の補正値の平均値を算出する（ステップＳ９０８）。すなわち、ＣＰＵ１４は、座標補正用レコードの補正値の平均値（ｘ方向の座標差の平均値及びｙ方向の座標差の平均値）と、ＬＴ閾値補正用レコードの補正値の平均値と、ＤＴ閾値補正用レコードの補正値の平均値とを、算出する。
【０２７６】
そして、ＣＰＵ１４は、座標補正用レコードの補正値から算出した平均値の１／２をシステム用座標補正値（システム用補正情報３１（図１８）中の座標補正値）に加算する（ステップＳ９０８）。また、ＣＰＵ１４は、ＬＴ閾値補正用レコードの補正値から算出した平均値の１／２をシステム用ＬＴ補正値に加算し、ＤＴ閾値補正用レコードの補正値から算出した平均値の１／２をシステム用ＤＴ補正値に加算する（ステップＳ９０８）。
【０２７７】
さらに、ＣＰＵ１４は、ステップＳ９０８にて、更新後のシステム用座標補正値が、予め設定されている座標補正範囲（本実施例では、円状の範囲）内の値であるか否かを判断する。そして、ＣＰＵ１４は、座標補正範囲外の値となっていた場合には、システム用座標補正値（ｘ方向、ｙ方向の補正値）を、（０，０）方向へシフトさせることにより、座標補正範囲の境界線上の値に変更する。
【０２７８】
ステップＳ９０８の処理を終えたＣＰＵ１４は、補正対象識別子及びアプリ名別（補正対象識別子とアプリ名との組み合わせ別）に、解析結果テーブル３６上の補正値の平均値を算出する（ステップＳ９０９）。そして、ＣＰＵ１４は、算出した各平均値の１／２を、ＲＡＭ１６上の（ＲＡＭ１６上にない場合にはＲＯＭ１５上の）、対応するアプリ用補正値に加算する（ステップＳ９０９）。尚、対応するアプリ用補正値とは、対応するアプリ用のアプリ別補正情報３２中の座標補正値、ＬＴ補正値又はＤＴ補正値のことである。
【０２７９】
さらに、ＣＰＵ１４は、ステップＳ９０９にて、更新後の各アプリ用座標補正値が、上記した座標補正範囲内の値であるか否かを判断する。そして、ＣＰＵ１４は、座標補正範囲外の値となっていた各アプリ用座標補正値については、アプリ用座標補正値を、（０，０）方向へシフトさせることにより、座標補正範囲の境界線上の値に変更する。
【０２８０】
ステップＳ９０９の処理を終えたＣＰＵ１４は、解析結果テーブル３６及び操作履歴テーブル３５をクリアする（ステップＳ９１０）。そして、ＣＰＵ１４は、この補正情報更新処理を終了して、操作判別処理を実行しながら、操作履歴テーブル３５に所定数以上のレコードが追加されること等を監視している状態となる。
【０２８１】
以上、詳細に説明したように、第１、第２実施例に係る情報処理装置１０、２０（ＯＳ２１、２２）は、ユーザの操作履歴を記録し、記録した情報から“タップ操作→短時間内
のキャンセル操作→短時間内のタップ操作”という操作シーケンスを特定し、操作シーケンスの特定結果に基づき、タップ座標の補正量を既定する座標補正値、ＬＴ閾値及びＤＴ閾値を、よりユーザに適した値に更新する機能を有している。
【０２８２】
従って、各実施例に係る情報処理装置１０、２０のユーザは、ユーザが設定画面を用いた、座標補正値等のタッチパネルパラメータの設定作業を行わなくても良いことになる。
【０２８３】
また、第２実施例に係る情報処理装置２０は、初回操作から最終操作までの特殊操作シーケンスを特定し、その特定結果に基づき、座標補正値等を、よりユーザに適した値に更新する。そして、初回操作が、ユーザの通常のタップ操作なのであるから、情報処理装置２０は、初回操作を含まない３操作から座標補正値等を更新する場合がある情報処理装置１０よりも、座標補正値等を良好に補正できる装置となっていると言うことが出来る。
【０２８４】
さらに、情報処理装置２０（ＯＳ２２）は、各タッチパネルパラメータを、操作対象アプリ用補正値とシステム用補正値とを用いて補正する（図２１参照）。従って、情報処理装置２０は、特定のアプリ（例えば、ゲームアプリ）の実行中は、連続的に早くタップしてもダブルタップされたと判定しないが、他のアプリの実行中は、通常のタップ間隔の操作でダブルタップされたと判定する状態で動作させることが出来る。また、情報処理装置２０を用いておけば、図３０に模式的に示したように、２種のアプリβ、γによる画面がタッチパネル１１上に表示されている場合に、各アプリの境界近傍の部分をタップしても誤認定が行われないようにすることも出来る。
【０２８５】
《変形例》
上記した第１、第２実施例に係る情報処理装置１０、２０（ＯＳ２１、２２）は、各種の変形を行えるものである。例えば、各情報処理装置１０、２０（ＯＳ２１、２２）を、タップ座標の補正だけを行うものや、ＬＴ（ロングタップ）閾値の補正だけを行うものに変形することが出来る。また、情報処理装置１０を、アプリケーションプログラムによって、補正情報更新処理（図７）やステップＳ１１２（図５）の処理が行われる装置に変形することも出来る。
【０２８６】
情報処理装置２０を、各補正値の値が上記した値の２倍になっているシステム用補正情報３１及びアプリ別補正情報３２を管理し、既にアプリ別補正情報３２が用意されているアプリについては、そのアプリ用のアプリ別補正情報３２を利用し、まだアプリ別補正情報３２が用意されていないアプリについてはシステム用補正情報３１を利用する装置に変形することも出来る。
【０２８７】
情報処理装置１０、２０を、各補正対象について、補正する方向（タップ座標については２次元方向、ＬＴ閾値、ＤＴ閾値については１次元方向）だけを決定し、決定した方向に一定量だけ、補正対象を補正する装置に変形することも出来る。また、情報処理装置１０を、解析結果テーブル３４上の各補正対象についての補正値の平均値ではなく、各補正対象についての補正値の最大値を、補正情報３０中の各補正値に加算する装置に変形することも出来る。当然、情報処理装置２０に対して同様の変形を施すことも出来る。
【０２８８】
情報処理装置１０、２０を、“タップ操作⇒所定時間内のキャンセル操作⇒その後のタップ操作”という操作シーケンスを特定し、当該操作シーケンスの内容に基づき、タッチパネルパラメータ（タップ座標補正量等）の補正量を求め、求めた補正量が異常な値ではない場合にタッチパネルパラメータを実際に補正する装置に変形することも出来る。
【０２８９】
また、情報処理装置１０、２０は、戻るボタン１３の押下操作が、キャンセル操作として機能する装置であったが、キャンセル操作は、何らかのアイテムの操作でありさえすれ
ば良い。従って、情報処理装置１０、２０を、戻るボタン１３が、タッチスクリーン１１上に表示されるボタンである装置等に変形することも出来る。また、ＯＳ２１やＯＳ２２を、ＣＤ−ＲＯＭ（compact disc read-only memory）等の可搬型記録媒体に記録して配
布しても良い。さらに、第１既定時間等として上記した値とは異なる値を使っても良いことや、情報処理装置１０、２０を具体的なハードウェア構成が上記したものとは異なる装置（例えば、タブレットＰＣ）に変形しても良いことなどは、当然のことである。
【０２９０】
以上、開示した技術に関し、さらに、以下の付記を開示する。
【０２９１】
（付記１）
タッチパネルと、
前記タッチパネルに、現時点における画面の前画面が表示させるためのアイテムと、
操作履歴情報記憶部と、
前記タッチパネルを入出力装置として利用するアプリケーションを実行する制御部と
を含み、
前記制御部は、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を前記操作履歴情報記憶部に記憶する操作履歴記憶処理と、
前記操作履歴情報記憶部に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記アイテムの操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、当該操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を更新するタッチパネルパラメータ更新処理と
を行う
ことを特徴とする情報処理装置。
【０２９２】
（付記２）
前記タッチパネルパラメータ更新処理が、
前記操作シーケンスとして、第１操作と第３操作とが同一種類のタップ操作である第１種操作シーケンスと、第１操作と第３操作とが異なる種類のタップ操作である第２種操作シーケンスとを特定し、前記第１種操作シーケンスの特定結果に基づき、前記座標補正値を更新すると共に、前記第２種操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作の種類を判別するための時間閾値を更新する処理である
ことを特徴とする付記１に記載の情報処理装置。
【０２９３】
（付記３）
前記制御部は、さらに、
前記タッチパネルのタップ座標をシステム用座標補正値に基づき補正することにより暫定座標を算出し、算出した暫定座標に基づき、実行中のアプリケーションの中からタップ操作が行われたアプリケーションを特定し、特定したアプリケーション用のアプリ別座標補正値と前記システム用座標補正値とに基づき前記タッチパネルのタップ座標を補正することにより補正後座標を算出し、当該補正後座標に基づき前記特定したアプリケーションのいずれのオブジェクトがタップされたかを判定する判定処理を行い、
前記操作履歴記憶処理が、
各タップ操作については、前記判定処理により特定されたアプリケーションの識別情報と前記判定処理により算出された前記補正後座標とを含む操作履歴情報を前記操作履歴情報記憶部に記憶する処理であり、
前記タッチパネルパラメータ処理が、
前記座標補正値として前記システム用座標補正値と１つ以上の前記アプリ別座標補正値とを更新する処理であって、特定した操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を第１アルゴリズムで処理することにより前記システム用座標補正値を更新し、特定した操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を、前記第１操作又は前記第３操作に含まれるアプリケーションの識別情報別に前記第１アルゴリズムで処理することにより、各アプリケーション用の前記アプリ別座標補正値を更新する処理である
ことを特徴とする付記１に記載の情報処理装置。
【０２９４】
（付記４）
前記制御部は、さらに、
前記タッチパネルのタップ座標をシステム用座標補正値に基づき補正することにより暫定座標を算出し、算出した暫定座標に基づき、実行中のアプリケーションの中からタップ操作が行われたアプリケーションを特定し、特定したアプリケーション用のアプリ別補正値と前記システム補正値とに基づき前記タッチパネルのタップ座標を補正することにより補正後座標を算出し、算出した補正後座標に基づき前記特定したアプリケーションのいずれのオブジェクトがタップされたかを判定する判定処理であって、前記特定したアプリケーション用のアプリ別時間閾値とシステム用時間閾値とを用いて前記タッチパネルに対して行われたタップ操作の種類を判定する判定処理を行い、
前記操作履歴記憶処理が、
各タップ操作については、タップ時間と前記判定処理により特定されたアプリケーションの識別情報と前記判定処理により算出された前記補正後座標とを含む操作履歴情報とを前記操作履歴情報記憶部に記憶する処理であり、
前記タッチパネルパラメータ処理が、
前記座標補正値として前記システム用座標補正値と１つ以上の前記アプリ別座標補正値とを更新すると共に前記時間閾値として前記システム用時間閾値と１つ以上の前記アプリ別時間閾値とを更新する処理であって、特定した第１種操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を第１アルゴリズムで処理することにより前記システム用座標補正値を更新し、特定した第１種操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を、前記第１操作又は前記第３操作に含まれるアプリケーションの識別情報別に前記第１アルゴリズムで処理することにより、各アプリケーション用の前記アプリ別座標補正値を更新し、特定した第２種操作シーケンスについての前記第１操作及び前記第３操作に関する前記操作履歴情報を第２アルゴリズムで処理することにより前記システム用時間閾値を更新し、特定した第１種操作シーケンスに関する前記第１操作及び前記第３操作についての前記操作履歴情報を、前記第１操作又は前記第３操作に含まれるアプリケーションの識別情報別に前記第２アルゴリズムで処理することにより、各アプリケーション用の前記アプリ別時間閾値を更新する処理である
ことを特徴とする付記２に記載の情報処理装置。
【０２９５】
（付記５）
タッチパネルと、
前記タッチパネルに、現時点における画面の前画面を表示させるためのアイテムと、
操作履歴情報記憶部と、
前記タッチパネルを入出力装置として利用するアプリケーションを実行する制御部と
を含み、
前記制御部は、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を前記操作履歴情報記憶部に記憶する操作履歴記憶処理と、
前記操作履歴情報記憶部に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記戻りボタンの押下操作である第２操作、第１操作とは種類が異なるタップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、当該操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作の種類を判別するための時間閾値を更新するタッチパネルパラメータ更新処理と
を行う
ことを特徴とする情報処理装置。
【０２９６】
（付記６）
タッチパネルと、前記タッチパネルに、現時点における画面の前画面を表示させるためのアイテムとを備えた情報処理装置のタッチパネルパラメータの補正方法であって、
プロセッサが、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を操作履歴情報記憶部に記憶し、
前記操作履歴情報記憶部に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記アイテムの操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が第１規定時間以下である操作シーケンスを特定し、
前記操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を規定する座標補正値を更新する
ことを特徴とするタッチパネルパラメータの補正方法。
【０２９７】
（付記７）
タッチパネルと、前記タッチパネルに、現時点における画面の前画面を表示させるためのボタンと、記憶装置とを備えた情報処理装置に、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを少なくとも示す操作履歴情報を前記記憶装置に記憶し、
前記記憶装置に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記戻りボタンの押下操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が第１規定時間以下である操作シーケンスを特定し、
前記操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を規定する座標補正値を補正する
処理を行わせることを特徴とするプログラム。
【０２９８】
（付記８）
タッチパネルと、前記タッチパネルに、現時点における画面の前画面を表示させるためのアイテムと、記憶装置とを備えた情報処理装置により実行されるプログラムを記録したコンピュータ可読媒体であって、
前記プログラムは、前記情報処理装置に、
前記タッチパネルに対するタップ操作又は前記アイテムの操作が行われたときに、行われた操作の種類と当該操作が行われた時刻とを少なくとも示す操作履歴情報を前記記憶装置に記憶し、
前記記憶装置に記憶された操作履歴情報に基づき、ユーザが行った操作シーケンスの中から、タップ操作である第１操作、前記戻りボタンの押下操作である第２操作、タップ操作である第３操作がこの順に行われた、前記第１操作と前記第２操作との間の時間間隔が規定時間以下である操作シーケンスを特定し、
前記操作シーケンスの特定結果に基づき、前記タッチパネルに対して行われたタップ操作のタップ座標の補正量を規定するタッチパネルパラメータである座標補正値を補正する
処理を行わせる
ことを特徴とするコンピュータ可読媒体。
【０２９９】
（付記９）
タッチパネルと、
前記タッチパネルに、表示中の画面の前画面を表示させるためのアイテムと、
操作履歴情報記憶部と、
前記タッチパネルを入出力装置として利用するアプリケーションを実行する制御部と
を含み、
前記制御部は、
前記タッチパネルに対するタップ操作又は前記アイテムの操作がなされる度に、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を前記操作履歴情報記憶部に記憶する操作履歴記憶処理と、
前記操作履歴情報記憶部に記憶された操作履歴情報の中から、或る処理の開始指示としてユーザが行った初回タップ操作に関する操作履歴情報及び当該初回タップ操作では前記処理が開始されなかったために前記ユーザが行った最終タップ操作に関する操作履歴情報を特定し、特定した操作履歴情報に基づき、ユーザが行ったタップ操作のタップ座標の補正量を規定する座標補正値を更新するタッチパネルパラメータ更新処理と
を行う
ことを特徴とする情報処理装置。
【０３００】
（付記１０）
タッチパネルと、
前記タッチパネルに、表示中の画面の前画面を表示させるためのアイテムと、
操作履歴情報記憶部と、
前記タッチパネルを入出力装置として利用するアプリケーションを実行する制御部と
を含み、
前記制御部は、
前記タッチパネルに対するタップ操作又は前記アイテムの操作がなされる度に、行われた操作の種類と当該操作が行われた時刻とを示す操作履歴情報を前記操作履歴情報記憶部に記憶する操作履歴記憶処理と、
前記操作履歴情報記憶部に記憶された操作履歴情報の中から、或る処理の開始指示としてユーザが行った初回タップ操作に関する操作履歴情報及び当該初回タップ操作では前記処理が開始されなかったために前記ユーザが行った最終タップ操作に関する操作履歴情報を特定し、特定した操作履歴情報に基づき、ユーザが行ったタップ操作の種類を判別するための時間閾値を更新するタッチパネルパラメータ更新処理と
を行う
ことを特徴とする情報処理装置。
【０３０１】
（付記１１）
タッチパネルパラメータ更新処理が、
前記第１操作と前記第２操作との間の時間間隔、前記第２操作と前記第３操作との間の時間間隔がそれぞれ前記規定時間、第２既定時間以下である操作シーケンスを特定する処理である
ことを特徴とする付記１から５のいずれかに記載の情報処理装置。
【符号の説明】
【０３０２】
１０、２０  情報処理装置
１１  タッチパネル
１２  ボタン部
１３  戻るボタン
１４  ＣＰＵ
１５  ＲＯＭ
１６  ＲＡＭ
２１、２２  ＯＳ
３０  補正情報
３１  システム用補正情報
３２  アプリ別補正情報
３３、３５  操作履歴テーブル
３４、３６  解析結果テーブル
【図１】
2014142863.tif 000003
【図２】
2014142863.tif 000004
【図３】
2014142863.tif 000005
【図４】
2014142863.tif 000006
【図５】
2014142863.tif 000007
【図６】
2014142863.tif 000008
【図７】
2014142863.tif 000009
【図８】
2014142863.tif 000010
【図９】
2014142863.tif 000011
【図１０】
2014142863.tif 000012
【図１１】
2014142863.tif 000013
【図１２】
2014142863.tif 000014
【図１３】
2014142863.tif 000015
【図１４】
2014142863.tif 000016
【図１５】
2014142863.tif 000017
【図１６】
2014142863.tif 000018
【図１７】
2014142863.tif 000019
【図１８】
2014142863.tif 000020
【図１９】
2014142863.tif 000021
【図２０】
2014142863.tif 000022
【図２１】
2014142863.tif 000023
【図２２】
2014142863.tif 000024
【図２３】
2014142863.tif 000025
【図２４】
2014142863.tif 000026
【図２５Ａ】
2014142863.tif 000027
【図２５Ｂ】
2014142863.tif 000028
【図２５Ｃ】
2014142863.tif 000029
【図２６Ａ】
2014142863.tif 000030
【図２６Ｂ】
2014142863.tif 000031
【図２７】
2014142863.tif 000032
【図２８】
2014142863.tif 000033
【図２９】
2014142863.tif 000034
【図３０】
2014142863.tif 000035