(57)【特許請求の範囲】
【請求項１】
コンピュータに、
タッチパネル上の押下入力の移動距離が所定の閾値以上であれば前記押下入力の位置および前記押下入力の移動方向の組み合わせに対応する記号を出力し、前記移動距離が前記所定の閾値未満であれば前記位置に対応する記号を出力し、
出力した前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記位置、前記移動距離、前記移動方向のうちの少なくともいずれか一つの情報を含む履歴を記録し、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記新たな押下入力の位置、移動距離、移動方向のうちの前記履歴が有する情報に対応する情報とに基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記所定の閾値を補正すべきと判定した場合、前記履歴に基づいて、前記所定の閾値を補正する、
処理を実行させることを特徴とする入力プログラム。
【請求項２】
前記記録する処理は、
前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記タッチパネルを分割した複数の領域のうちの前記位置に応じた領域と、前記所定の閾値および前記移動距離の比較結果と、前記移動方向とを含む履歴を記録し、
前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記複数の領域のうちの前記新たな押下入力の位置に応じた領域と、前記所定の閾値および前記新たな押下入力の移動距離の比較結果と、前記新たな押下入力の移動方向とに基づいて、前記所定の閾値の補正をすべきか否かを判定する、
ことを特徴とする請求項１に記載の入力プログラム。
【請求項３】
前記記録する処理は、
前記記号の削除を受け付けたことに応じて、さらに、前記移動距離を含む履歴を記録し、
前記補正する処理は、
前記所定の閾値を補正すべきと判定した場合、前記履歴に含まれる前記移動距離に基づいて、前記所定の閾値を補正する、
ことを特徴とする請求項２に記載の入力プログラム。
【請求項４】
前記コンピュータに、
前記押下入力の移動距離に基づいて、前記所定の閾値を補正する際の候補値を算出する、処理を実行させ、
前記記録する処理は、
前記記号の削除を受け付けたことに応じて、さらに、算出した前記候補値および前記移動距離の比較結果を含む履歴を記録し、
前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記複数の領域のうちの前記新たな押下入力の位置に応じた領域と、前記所定の閾値および前記新たな押下入力の移動距離の比較結果と、前記新たな押下入力の移動方向と、に基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記補正する処理は、
前記所定の閾値を補正すべきと判定した場合、前記候補値で前記所定の閾値を更新することにより前記所定の閾値を補正する、
ことを特徴とする請求項２または３に記載の入力プログラム。
【請求項５】
前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴に含まれる領域と前記新たな押下入力の位置に応じた領域とが同一であり、かつ、前記履歴に含まれる移動方向と前記新たな押下入力の移動方向とが一致し、かつ、前記新たな押下入力の移動距離が前記所定の閾値以上であり、かつ、前記履歴に含まれる前記所定の閾値および移動距離の比較結果によって当該移動距離が前記所定の閾値未満であることが示され、かつ、前記履歴に含まれる前記候補値および移動距離の比較結果によって当該移動距離が前記候補値以上であることが示される場合、前記所定の閾値の補正をすべきと判定する、
ことを特徴とする請求項４に記載の入力プログラム。
【請求項６】
前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴に含まれる領域と前記新たな押下入力の位置に応じた領域とが同一であり、前記新たな押下入力の移動距離が前記所定の閾値未満であり、かつ、前記履歴に含まれる前記所定の閾値および移動距離の比較結果によって当該移動距離が前記所定の閾値以上であることが示され、かつ、前記履歴に含まれる前記候補値および移動距離の比較結果によって当該移動距離が前記候補値未満であることが示される場合、前記所定の閾値の補正をすべきと判定する、
ことを特徴とする請求項４または５に記載の入力プログラム。
【請求項７】
前記出力する処理は、
前記タッチパネル上の押下入力が複数行われた場合、複数の押下入力の各々の押下入力に対応する記号を出力し、
前記削除する処理は、
出力した前記各々の押下入力に対応する記号の削除を受け付けたことに応じて、前記各々の押下入力に対応する記号に対応付けて前記各々の押下入力の位置、前記各々の押下入力の移動距離、前記各々の押下入力の移動方向を含む履歴を記録し、
前記判定する処理は、
前記タッチパネル上の複数の新たな押下入力を受け付けたことに応じて、記録した前記履歴に対応付けられた前記各々の押下入力に対応する記号と前記複数の新たな押下入力によって出力される記号とで異なる記号がある場合に、記録した前記履歴と前記複数の領域のうちの前記複数の新たな押下入力の位置に応じた領域と、前記所定の閾値および前記複数の新たな押下入力の移動距離の比較結果と、前記複数の新たな押下入力の移動方向とに基づいて、前記所定の閾値の補正をすべきか否かを判定する、
ことを特徴とする請求項４〜６のいずれか一つに記載の入力プログラム。
【請求項８】
前記判定する処理は、
前記タッチパネル上の複数の新たな押下入力を受け付けたことに応じて、記録した前記履歴に対応付けられた前記各々の押下入力に対応する記号と前記複数の新たな押下入力によって出力される記号とで異なる記号がある場合に、記録した前記各々の押下入力の位置に応じた領域と前記複数の新たな押下入力のうちの前記各々の押下入力に対応する新たな押下入力の位置に応じた領域とが同一であり、かつ、
前記各々の押下入力の移動方向と当該新たな押下入力の移動方向とが一致し、かつ、当該新たな押下入力の移動距離が前記所定の閾値以上であり、かつ、前記履歴に含まれる前記所定の閾値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記所定の閾値未満であることが示され、かつ、前記履歴に含まれる前記候補値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記候補値以上であることが示される、
または、当該新たな押下入力の移動距離が前記所定の閾値未満であり、かつ、前記履歴に含まれる前記所定の閾値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記所定の閾値以上であることが示され、かつ、前記履歴に含まれる前記候補値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記候補値未満であることが示される、
または、前記履歴に対応付けられた前記各々の押下入力に対応する記号と当該新たな押下入力によって出力される記号とが同一であり、かつ、前記履歴に含まれる前記所定の閾値および前記各々の押下入力の移動距離の比較結果によって示される当該移動距離が前記所定の閾値以上か否かの真偽値と前記履歴に含まれる前記候補値および前記各々の押下入力の移動距離の比較結果によって示される当該移動距離が前記候補値以上か否かの真偽値とが同一である、
場合、前記所定の閾値の補正をすべきと判定する、
ことを特徴とする請求項７に記載の入力プログラム。
【請求項９】
前記コンピュータに、
前記タッチパネル上の押下入力が複数行われた場合、複数の押下入力の移動距離のうちの前記所定の閾値以上となる移動距離の平均値と標準偏差とに基づいて第１の値を算出するとともに、前記複数の押下入力の移動距離のうちの前記所定の閾値未満となる移動距離の平均値と標準偏差とに基づいて第２の値を算出し、
前記候補値を算出する処理は、
算出した前記第１の値と前記第２の値とに基づいて、前記候補値を算出する、
ことを特徴とする請求項４〜８のいずれか一つに記載の入力プログラム。
【請求項１０】
タッチパネル上の押下入力の移動距離が所定の閾値以上であれば前記押下入力の位置および前記押下入力の移動方向の組み合わせに対応する記号を出力し、前記移動距離が前記所定の閾値未満であれば前記位置に対応する記号を出力し、
出力した前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記位置、前記移動距離、前記移動方向のうちの少なくともいずれか一つの情報を含む履歴を記録し、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記新たな押下入力の位置、移動距離、移動方向のうちの前記履歴が有する情報に対応する情報とに基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記所定の閾値を補正すべきと判定した場合、前記履歴に基づいて、前記所定の閾値を補正する、
制御部を有することを特徴とする入力装置。
【請求項１１】
コンピュータが、
タッチパネル上の押下入力の移動距離が所定の閾値以上であれば前記押下入力の位置および前記押下入力の移動方向の組み合わせに対応する記号を出力し、前記移動距離が前記所定の閾値未満であれば前記位置に対応する記号を出力し、
出力した前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記位置、前記移動距離、前記移動方向のうちの少なくともいずれか一つの情報を含む履歴を記録し、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記新たな押下入力の位置、移動距離、移動方向のうちの前記履歴が有する情報に対応する情報とに基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記所定の閾値を補正すべきと判定した場合、前記履歴に基づいて、前記所定の閾値を補正する、
処理を実行することを特徴とする入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力プログラム、入力装置、および入力方法に関する。
【背景技術】
【０００２】
従来、タッチパネルを１回叩く操作であるタップ操作や、タッチパネルに触れたままスライドさせるフリック操作を受け付けることにより、受け付けた操作に応じた文字等の記号を入力する技術がある。関連する先行技術として、例えば、タッチパネルから押圧されている位置を示す位置情報を受信し、演算することで特定した一の文字を文字情報として送信するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が、一の押圧動作が開始してから終了するまでに得られる位置情報により一の文字を特定する技術がある。また、端末筐体を把持する持ち手が左手または右手かを判別し、タッチ操作の検出位置と持ち手の判別結果に基づきフリック判定の閾値を決定し、タッチ操作中の指の移動距離と閾値の比較結果に基づきタッチ操作がフリック操作であるか否かを判別する技術がある。また、タッチパネルへのタッチ操作の種類を、タッチ操作判定情報テーブルを用いて判定し、判定したタッチ操作の種類が誤りか否かを判定し、誤認識である場合、タッチ操作ログ・テーブルに誤認識であることを記録するものがある。また、直前の複数の押下間隔に基づいて求めた値と直前の複数の押下間隔以外の押下間隔を含む押下間隔に基づいた値との比率を用いて求めた値で、キーの押下を検知したときからの経過時間と比較し文字を確定することに用いる所定の時間を更新する技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２８２３８０号公報
【特許文献２】特開２０１４−１７０４９８号公報
【特許文献３】特開２０１３−１９１１７５号公報
【特許文献４】特開２０１１−２８４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、タッチパネルを用いて記号入力を行う際の入力精度が確保できない場合がある。例えば、ユーザがフリック操作の移動距離を短くする癖を持っていたとすると、フリック操作をタップ操作として誤判定してしまい、入力精度が劣化することになる。また、フリック操作とタップ操作とを区別する閾値を補正することにより入力精度を向上させようとしても、ユーザが誤判定に気付いて入力された記号を削除して再入力した場合と、ユーザの単純な入力ミスや推敲による打ち直しの場合とを区別することができない。従って、閾値を補正する契機を特定することができず、あるユーザに適した閾値に補正することはできない。
【０００５】
１つの側面では、本発明は、タッチパネルを用いた記号入力の精度を向上させることができる入力プログラム、入力装置、および入力方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、タッチパネル上の押下入力の移動距離が所定の閾値以上であれば押下入力の位置および押下入力の移動方向の組み合わせに対応する記号を出力し、移動距離が所定の閾値未満であれば位置に対応する記号を出力し、出力した記号の削除を受け付けたことに応じて、記号に対応付けて位置、移動距離、移動方向のうちの少なくともいずれか一つの情報を含む履歴を記録し、タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した履歴と、新たな押下入力の位置、移動距離、移動方向のうちの履歴が有する情報に対応する情報とに基づいて、所定の閾値の補正をすべきか否かを判定し、所定の閾値を補正すべきと判定した場合、履歴に基づいて、所定の閾値を補正する入力プログラム、入力装置、および入力方法が提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、タッチパネルを用いた記号入力の精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態にかかる入力装置１０１の動作例を示す説明図である。
【図２】図２は、タブレット端末２００のハードウェア構成例を示す説明図である。
【図３】図３は、タブレット端末２００の機能構成例を示す説明図である。
【図４】図４は、タッチパネル領域分割の一例を示す説明図である。
【図５】図５は、操作処理手順の一例を示すフローチャート（その１）である。
【図６】図６は、操作処理手順の一例を示すフローチャート（その２）である。
【図７】図７は、文字特定処理手順の一例を示すフローチャートである。
【図８】図８は、統計値更新処理手順の一例を示すフローチャートである。
【図９】図９は、統計値更新処理手順の他の例を示すフローチャートである。
【図１０】図１０は、文字記録処理手順の一例を示すフローチャートである。
【図１１】図１１は、入力文字記録部３１１の記憶内容の一例を示す説明図である。
【図１２】図１２は、文字表示処理手順の一例を示すフローチャートである。
【図１３】図１３は、タッチパネル１０２の表示例を示す説明図である。
【図１４】図１４は、文字削除処理手順の一例を示すフローチャートである。
【図１５】図１５は、カーソル移動処理手順の一例を示すフローチャートである。
【図１６】図１６は、確定処理手順の一例を示すフローチャートである。
【図１７】図１７は、判定修正処理手順の一例を示すフローチャートである。
【図１８】図１８は、条件Ａ、Ｂ、Ｃを示す説明図である。
【図１９】図１９は、文字修正の一連の動作例を示す説明図（その１）である。
【図２０】図２０は、文字修正の一連の動作例を示す説明図（その２）である。
【図２１】図２１は、文字修正の一連の動作例を示す説明図（その３）である。
【図２２】図２２は、文字修正の一連の動作例を示す説明図（その４）である。
【図２３】図２３は、文字修正の一連の動作例を示す説明図（その５）である。
【図２４】図２４は、あるユーザの押下位置の移動距離の一例を示すグラフである。
【図２５】図２５は、他のユーザの押下位置の移動距離の一例を示すグラフである。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、開示の入力プログラム、入力装置、および入力方法の実施の形態を詳細に説明する。
【００１０】
図１は、本実施の形態にかかる入力装置１０１の動作例を示す説明図である。図１に示す入力装置１０１は、タッチパネル１０２を１回叩く操作であるタップ操作や、タッチパネル１０２に触れたままスライドさせるフリック操作に基づいて、記号を入力するコンピュータである。入力する記号はどのようなものでもよく、例えば、言語を書き記すための記号である文字や、文字の区切りを示す句点、読点などの区切り記号、単位を示す記号、加算を示す「＋」や減算を示す「−」等の数学記号、絵文字等である。以下の説明では、入力する記号は文字であるとする。
【００１１】
また、入力装置１０１は、タッチパネル１０２を有してもよいし、タッチパネル１０２を有するコンピュータからタッチパネル１０２上で押下された押下位置の始点と終点とを受け付けてもよい。本実施の形態では、入力装置１０１は、タッチパネル１０２を有するものとする。タッチパネル１０２を有するコンピュータとしては、例えば、タブレット端末やスマートフォン等が挙げられる。
【００１２】
タップ操作かフリック操作かの判定は、タッチパネル１０２上の押下位置の始点から終点までの移動距離が所定の閾値以上か否かで判定することができる。以下、所定の閾値を、第一の閾値１１１とする。例えば、第一の閾値１１１は、指を押下して上にあげた際に指の位置のずれが起きる度合いから決定される。
【００１３】
しかしながら、前述した度合いは、タッチパネル１０２を操作するユーザやタッチパネル１０２を使用する環境によって異なるため、初期設定のままでは、個々のユーザにとっては妥当でない値となる可能性がある。例えば、ユーザによっては、ユーザがタップ操作のつもりで指を動かしたのにフリック操作と判定されたり、反対に、フリック操作のつもりがタップ操作と判定されたりする誤判定が増えることになる。
【００１４】
フリック操作とタップ操作を判別する閾値を動的に変更する方法としては、例えば、持ち手の判別結果に基づいて閾値を決定するものが考えられる。しかしながら、打ち直しが誤判定を修正するものか、ユーザの打ち間違いを修正するものかを判定できないため、個人ごとに閾値の修正を動的に行うことができない。
【００１５】
また、タップの度に入力する文字を順次変更するトグル入力について、ユーザの打鍵操作を監視し、ユーザごとに閾値の設定を行う方法が考えられる。しかしながら、フリック操作による入力においては、ユーザが文字を修正入力するケースには、タップとフリックの認識間違いの場合だけでなく、ユーザ自身の打ち間違いの場合がある。そして、この２つの場合を区別することができないため、フリック操作による入力について、個人ごとに閾値の修正を動的に行うことができない。また、ユーザは、誤判定の直後に修正するだけでなく、継続して数文字入力した後に間違いに気づいて修正する場合がある。この場合、タップの度に入力する文字を順次変更するトグル入力についてユーザの打鍵操作を監視してユーザごとに閾値の設定する方法では、数文字入力後まとめて修正するパターンを検出することができない。
【００１６】
そこで、本実施の形態では、フリック操作かタップ操作による入力文字を削除し再入力した際、入力時と再入力時の履歴から第１の閾値１１１を補正すべきと判定した場合に、第１の閾値１１１を補正する方法について説明する。
【００１７】
図１を用いて、入力装置１０１の動作例について説明する。図１の例では、一文字を入力した際にユーザｕが誤判定に気付き修正するパターンについて説明する。数文字入力後まとめて修正するパターンについては、図１９〜図２３を用いて説明する。図１で示すように、入力装置１０１は、タッチパネル１０２に、ソフトウェアキーボード表示領域１０３と、出力文字表示領域１０４とを表示する。ソフトウェアキーボード表示領域１０３は、複数の領域に分割されている。このように、入力装置１０１は、複数の領域に分割することにより、分割しない場合に比べて多くの種類の文字を入力することができる。しかし、入力した文字を用いる外部のアプリケーションソフトウェアが、予め入力可能な文字の種類を制限している際には、入力装置１０１は、領域を分割せずに、タッチ操作とフリック操作とに応じた文字を出力する形式でもよい。
【００１８】
図１の左の図における（１）で示すように、入力装置１０１は、タッチパネル１０２上の押下入力の移動距離が第一の閾値１１１以上であれば押下入力の位置および押下入力の移動方向の組み合わせに対応する文字を出力する。また、入力装置１０１は、移動距離が第一の閾値１１１未満であれば押下入力の位置に対応する文字を出力する。図１の例では、第一の閾値１１１が、１５［画素数］であるとする。また、図１の例では、入力装置１０１は、ソフトウェアキーボード表示領域１０３内の「か」の領域で左方向のフリック操作を受け付ければ「き」を出力し、「か」の領域でタップ操作を受け付ければ「か」を出力するものとする。さらに、図１の（１）で示す例では、ユーザｕは、左方向のフリック操作を行ったつもりであったが、移動距離が１０［画素数］であり、第一の閾値１１１より小さいためタップ操作と判定された例を示す。
【００１９】
次に、ユーザｕが誤判定に気付いたため削除の操作を行うと、図１の中央の図における（２）で示すように、入力装置１０１は、出力した文字の削除を受け付ける。文字の削除を受け付ける方法については、タッチパネル１０２上の領域のタップ操作でもよいし、入力装置１０１が有するスイッチ、ボタンが押下されたことでもよい。
【００２０】
そして、図１の中央の図における（３）で示すように、入力装置１０１は、出力した文字の削除を受け付けたことに応じて、出力した文字に対応付けて押下入力の位置、移動距離、移動方向のうちの少なくともいずれか一つの情報を含む履歴１２１を記録する。図１の（３）の例では、入力装置１０１は、押下入力の位置、移動距離、移動方向の全てを含めて履歴１２１に記録する。また、図１の（３）の例では、入力装置１０１は、押下入力の位置に対応する文字「か」を押下入力の位置として記録する。
【００２１】
次に、図１の右の図における（４）で示すように、入力装置１０１は、タッチパネル１０２上の新たな押下入力を受け付ける。図１の（４）では、入力装置１０１は、ユーザｕにより第１の閾値１１１より長い移動距離となる左方向の押下入力を受け付けている。
【００２２】
そして、図１の右の図における（５）で示すように、入力装置１０１は、新たな押下入力を受け付けたことに応じて、履歴１２１と新たな押下入力の位置、移動距離、移動方向とに基づいて、第一の閾値１１１の補正をすべきか否かを判定する。具体的には、入力装置１０１は、履歴１２１と、新たな押下入力の位置、移動距離、移動方向のうちの履歴１２１が有する情報に対応する情報とに基づいて、第一の閾値１１１の補正をすべきか否かを判定する。図１の例では、履歴１２１に位置、移動距離、移動方向が全てある場合の判定方法について説明し、履歴１２１に位置、移動距離、移動方向の一部がある場合の判定方法については、図３で説明する。
【００２３】
例えば、入力装置１０１は、次の４つの条件が全て満たされる場合に、第一の閾値１１１を補正すべきと判定する。１つ目の条件は、履歴１２１の位置と新たな押下入力の位置とが同一であることである。２つ目の条件は、履歴１２１の移動方向と新たな押下入力の移動方向とが一致することである。３つ目の条件は、履歴１２１の移動距離が第一の閾値１１１未満であることである。４つ目の条件は、新たな押下入力の移動距離が第一の閾値１１１以上であることである。この４つの条件を全て満たす場合とは、ユーザｕはフリック操作を行ったつもりであったが、行ったフリック操作が短すぎてタップ操作と判定された可能性がある場合である。図１の（５）の例では、４つの条件を全て満たし、入力装置１０１は、第一の閾値１１１を補正すべきと判定する。
【００２４】
次に、図１の右の図における（６）で示すように、入力装置１０１は、第１の閾値１１１を補正すべきと判定した場合、履歴１２１に基づいて、第一の閾値１１１を補正する。例えば、入力装置１０１は、押下入力の移動距離に基づいて、第一の閾値１１１を補正する際の候補値として第二の閾値１１２を算出しておき、第二の閾値１１２で第一の閾値１１１を更新することにより、第一の閾値１１１を補正してもよい。具体的な第二の閾値１１２の算出例については、図３、図８、図９等で説明するが、図１の例では、ユーザｕがフリック操作を行ったつもりだった押下入力の移動距離が１０であるから、入力装置１０１は、１０から所定値として１を減算した値として９を算出する。図１の（６）の例では、第二の閾値１１２が９と算出されており、入力装置１０１は、第一の閾値１１１を９に補正する。これにより、入力装置１０１は、ユーザｕが操作の誤判定に気付いた際に閾値を適正に補正することができる。
【００２５】
なお、以上の説明では、入力装置１０１がタッチパネル１０２を有する例を挙げたが、これに限らない。例えば、サーバとタブレット端末を含むシンクライアント環境において、入力装置１０１はサーバであり、サーバは、タブレット端末から押下位置の始点と終点を受け付けて、図１で説明した処理を行った後、画面情報をタブレット端末に送信してもよい。次に、入力装置１０１がタブレット端末である場合のハードウェア構成について、図２を用いて説明する。
【００２６】
（タブレット端末２００のハードウェア構成例）
図２は、タブレット端末２００のハードウェア構成例を示す説明図である。図２において、タブレット端末２００は、ＣＰＵ２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、ディスクドライブ２０４と、ディスク２０５と、通信インターフェース２０６と、タッチパネル１０２と、を有する。また、ＣＰＵ２０１〜ディスクドライブ２０４と、通信インターフェース２０６と、タッチパネル１０２とはバス２０７によってそれぞれ接続される。
【００２７】
ここで、ＣＰＵ２０１は、タブレット端末２００の全体の制御を司る演算処理装置である。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する不揮発メモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される揮発性メモリである。ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリードおよびライトを制御する制御装置である。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する。ディスクドライブ２０４には、例えば、磁気ディスクドライブ、ソリッドステートドライブなどを採用することができる。例えばディスクドライブ２０４が磁気ディスクドライブである場合、ディスク２０５には、磁気ディスクを採用することができる。また、ディスクドライブ２０４がソリッドステートドライブである場合、ディスク２０５には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００２８】
通信インターフェース２０６は、ネットワークと内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース２０６は、通信回線を通じてネットワークを介して他の装置に接続される。
【００２９】
タッチパネル１０２は、ユーザｕによるタップ操作やフリック操作を検出するセンサと、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示するディスプレイとを組み合わせた装置である。具体的には、センサは、ディスプレイ上に重ねて配置される。また、センサは、例えば、抵抗膜方式、表面型や投影型の静電容量方式等が採用されたセンサである。ディスプレイは、例えば、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイなどを採用することができる。
【００３０】
（タブレット端末２００の機能構成例）
図３は、タブレット端末２００の機能構成例を示す説明図である。タブレット端末２００は、制御部３００を有する。制御部３００は、操作処理部３０１と、算出部３０２と、判定修正部３０３とを含む。操作処理部３０１は、出力部３０４と、記録部３０５とを含む。また、判定修正部３０３は、判定部３０６と、補正部３０７とを有する。制御部３００は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などである。また、各部の処理結果は、ＣＰＵ２０１のレジスタや、ＣＰＵ２０１のキャッシュメモリ、ＲＡＭ２０３等に格納される。
【００３１】
また、タブレット端末２００は、第一の閾値１１１と、第二の閾値１１２と、入力文字記録部３１１と、削除文字記録部３１２とにアクセス可能である。第一の閾値１１１と、第二の閾値１１２と、入力文字記録部３１１と、削除文字記録部３１２は、ＲＡＭ２０３、ディスク２０５といった記憶装置に格納される。入力文字記録部３１１は、入力された文字に関する情報を記憶する。削除文字記録部３１２は、削除された文字に関する情報を記憶する。削除文字記録部３１２に記録されるレコードが、図１で示した履歴１２１に相当する。
【００３２】
操作処理部３０１は、第一の閾値１１１を用いたフリック操作、タップ操作の判定および文字の特定を行う。さらに、操作処理部３０１は、入力文字記録部３１１の更新、削除操作に応じた削除文字記録部３１２への記録を行う。
【００３３】
次に、操作処理部３０１の一部の機能となる出力部３０４と記録部３０５とについて説明する。以下の説明では、一文字入力した状態でユーザｕが誤判定に気付いた場合の機能について説明する。出力部３０４は、タッチパネル１０２上の押下入力の移動距離が第一の閾値１１１以上であれば押下入力の位置および押下入力の移動方向の組み合わせに対応する文字を出力し、移動距離が第一の閾値１１１未満であれば位置に対応する文字を出力する。
【００３４】
記録部３０５は、出力した文字の削除を受け付けたことに応じて、文字に対応付けて押下入力の位置、移動距離、移動方向のうちの少なくともいずれか一つの情報を含むレコードを、削除文字記録部３１２に記録する。
【００３５】
また、記録部３０５は、出力した文字の削除を受け付けたことに応じて、出力した文字に対応付けて、次に示す情報を含むレコードを削除文字記録部３１２に記録してもよい。そして、レコードには、タッチパネル１０２を分割した複数の領域のうちの位置に応じた領域と、第一の閾値１１１および移動距離の比較結果と、移動方向とが含まれる。第一の閾値１１１および削除文字記録部３１２に含まれる移動距離の比較結果を、「削除文字記録部３１２のフリック判定」と呼称する。移動距離が第一の閾値１１１以上であれば、削除文字記録部３１２のフリック判定が真であるとし、移動距離が第一の閾値１１１未満であれば、削除文字記録部３１２のフリック判定が偽であるとする。
【００３６】
また、記録部３０５は、出力した文字の削除を受け付けたことに応じて、さらに、移動距離を含むレコードを、削除文字記録部３１２に記録してもよい。
【００３７】
また、記録部３０５は、文字の削除を受け付けたことに応じて、さらに、算出部３０２が算出した第二の閾値１１２および移動距離の比較結果を含むレコードを、削除文字記録部３１２に記録してもよい。第二の閾値１１２および削除文字記録部３１２に含まれる移動距離の比較結果を、「削除文字記録部３１２の新フリック判定」と呼称する。移動距離が第二の閾値１１２以上であれば、削除文字記録部３１２の新フリック判定が真であるとし、移動距離が第二の閾値１１２未満であれば、削除文字記録部３１２の新フリック判定が偽であるとする。
【００３８】
算出部３０２は、統計量を算出し、第二の閾値１１２を逐次更新する。具体的には、算出部３０２は、押下入力の移動距離に基づいて、第二の閾値１１２を算出する。
【００３９】
また、算出部３０２は、タッチパネル１０２上の押下入力が複数行われた場合、複数の押下入力の移動距離のうちの第一の閾値１１１以上となる移動距離の平均値と標準偏差とに基づいて第１の値を算出する。また、算出部３０２は、複数の押下入力の移動距離のうちの第一の閾値１１１未満となる移動距離の平均値と標準偏差とに基づいて第２の値を算出してもよい。そして、算出部３０２は、第１の値と第２の値とに基づいて、第二の閾値１１２を算出する。例えば、算出部３０２は、第１の値と第２の値との平均値を、第二の閾値１１２として算出する。ここで、標準偏差は、標本標準偏差でもよいし、母集団の標準偏差でもよい。また、算出部３０２は、平均値の代わりに中央値を用いてもよいし、標準偏差の代わりに四分位偏差を用いてもよい。
【００４０】
判定修正部３０３は、判定修正処理を実行する。判定修正部３０３の一部の機能となる判定部３０６と補正部３０７とについて説明する。例えば、タブレット端末２００が、タッチパネル１０２上の新たな押下入力を受け付けたとする。新たな押下入力を受け付けたことに応じて、判定部３０６は、記録した削除文字記録部３１２と入力文字記録部３１１のうちの削除文字記録部３１２が有する情報に対応する情報とに基づいて、第一の閾値１１１の補正をすべきか否かを判定する。入力文字記録部３１１には、新たな押下入力の位置、移動距離、移動方向が記録されている。また、判定部３０６は、新たな押下入力によって文字を出力する前に判定してもよいし、出力した後に判定してもよい。
【００４１】
ここで、削除文字記録部３１２に含まれる情報が、押下入力の位置、移動距離、移動方向のうちのいずれか一つと、削除された文字である場合の判定方法の一例について説明する。まずは、押下入力の位置と削除された文字との場合について説明する。この場合、判定部３０６は、削除文字記録部３１２に含まれる押下入力の位置と、新たな押下入力の位置とが一致し、かつ、削除された文字と新たな押下入力によって出力される文字とが異なる場合に、第一の閾値１１１の補正をすべきと判定する。このような処理は、例えば、フリック操作の移動方向が１方向だけに限定されているときに有効である。
【００４２】
次に、移動距離と削除された文字との場合について説明する。この場合、判定部３０６は、削除文字記録部３１２に含まれる移動距離が第一の閾値１１１以上か否かの真偽値と、新たな押下入力の移動距離が第一の閾値１１１以上か否かの真偽値とが異なる場合に、第一の閾値１１１の補正をすべきと判定する。このような処理は、例えば、領域が１つしかない場合に有効である。
【００４３】
次に、移動距離と削除された文字との場合について説明する。この場合、判定部３０６は、削除された文字と、新たな押下入力によって出力される文字とが異なり、かつ、削除文字記録部３１２に含まれる移動方向と新たな押下入力の移動方向が一致する場合に、第一の閾値１１１の補正をすべきと判定する。このような処理は、例えば、領域が１つしかない場合に有効である。
【００４４】
また、判定部３０６は、削除文字記録部３１２と複数の領域のうちの新たな押下入力の位置に応じた領域と、第一の閾値１１１および新たな押下入力の移動距離の比較結果と、新たな押下入力の移動方向とに基づいて補正をすべきか否かを判定してもよい。ここで、第一の閾値１１１および入力文字記録部３１１に含まれる新たな押下入力の移動距離の比較結果を、「入力文字記録部３１１のフリック判定」と呼称する。移動距離が第一の閾値１１１以上であれば、入力文字記録部３１１のフリック判定が真であるとし、移動距離が第一の閾値１１１未満であれば、入力文字記録部３１１のフリック判定が偽であるとする。
【００４５】
また、判定部３０６は、削除文字記録部３１２と複数の領域のうちの新たな押下入力の位置に応じた領域と、入力文字記録部３１１のフリック判定と、新たな押下入力の移動方向と、に基づいて、第一の閾値１１１の補正をすべきか否かを判定してもよい。
【００４６】
また、判定部３０６は、削除文字記録部３１２に含まれる領域と新たな押下入力の位置に応じた領域とが同一であり、かつ、条件Ａを満たす場合、第一の閾値１１１の補正をすべきと判定してもよい。条件Ａの内容は、図１８で説明する。
【００４７】
また、判定部３０６は、削除文字記録部３１２に含まれる領域と新たな押下入力の位置に応じた領域とが同一であり、かつ、条件Ｂを満たす場合、第一の閾値１１１の補正をすべきと判定してもよい。条件Ｂの内容は、図１８で説明する。
【００４８】
補正部３０７は、第一の閾値１１１を補正すべきと判定した場合、削除文字記録部３１２に基づいて、第一の閾値１１１を補正する。ここで、削除文字記録部３１２に含まれる情報が、押下入力の位置、移動距離、移動方向のうちのいずれか一つと、削除された文字である場合の補正方法について説明する。まずは、押下入力の位置と削除された文字との場合と、移動方向と削除された文字との場合について説明する。ここで、削除された文字によって、削除された文字がタップ操作に対応する文字なのか、フリック操作に対応する文字なのかが判定できる。削除された文字がタップ操作に対応する文字であれば、その操作はユーザｕによってフリック操作を行ったつもりのものであったため、補正部３０７は、第一の閾値１１１を小さくする方向に補正する。同様に、削除された文字がフリック操作に対応する文字であれば、その操作はユーザｕによってタップ操作を行ったつもりのものであったため、補正部３０７は、第一の閾値１１１を大きくする方向に補正する。
【００４９】
また、補正部３０７は、第一の閾値１１１を補正すべきと判定した場合、削除文字記録部３１２に含まれる移動距離に基づいて、第一の閾値１１１を補正してもよい。例えば、削除された文字がタップ操作に対応する文字であれば、その操作はユーザｕによってフリック操作を行ったつもりのものであったため、補正部３０７は、削除文字記録部３１２に含まれる移動距離より小さい値を第一の閾値１１１として補正する。同様に、削除された文字がフリック操作に対応する文字であれば、その操作はユーザｕによってタップ操作を行ったつもりのものであったため、補正部３０７は、削除文字記録部３１２に含まれる移動距離より大きい値を第一の閾値１１１として補正する。
【００５０】
また、補正部３０７は、第一の閾値１１１を補正すべきと判定した場合、第二の閾値１１２で第一の閾値１１１を更新することにより第一の閾値１１１を補正してもよい。
【００５１】
次に、以下の説明では、数文字入力した状態でユーザｕが誤判定に気付いた場合の機能について説明する。この場合、出力部３０４は、タッチパネル１０２上の押下入力が複数行われた場合、複数の押下入力の各々の押下入力に対応する文字を出力する。
【００５２】
記録部３０５は、各々の押下入力に対応する文字の削除を受け付けたことに応じて、各々の押下入力に対応する文字に対応付けて各々の押下入力の位置、各々の押下入力の移動距離、各々の押下入力の移動方向を含むレコードを削除文字記録部３１２に記録する。
【００５３】
判定部３０６は、タッチパネル１０２上の複数の新たな押下入力を受け付けたことに応じて、記録した削除文字記録部３１２に対応付けられた各々の押下入力に対応する文字と複数の新たな押下入力によって出力される文字とで異なる文字があるか判定する。異なる文字があれば、判定部３０６は、削除文字記録部３１２と複数の新たな押下入力の位置に応じた領域と、第一の閾値１１１および複数の新たな押下入力の移動距離の比較結果と、複数の新たな押下入力の移動方向とに基づいて、補正をすべきか否かを判定する。
【００５４】
また、判定部３０６は、削除文字記録部３１２の各々の押下入力に対応する文字と複数の新たな押下入力によって出力される文字とで異なる文字があるか判定する。異なる文字があれば、判定部３０６は、削除文字記録部３１２の各々の押下入力の位置に応じた領域と複数の新たな押下入力のうちの削除文字記録部３１２の各々の押下入力に対応する新たな押下入力の位置に応じた領域とが全て同一であるか判定する。全て同一である場合、判定部３０６は、削除文字記録部３１２の各々の押下入力について、条件Ａまたは条件Ｂまたは条件Ｃのいずれか一つを満たせば、第一の閾値１１１を補正すべきと判定する。条件Ｃの内容は、図１８で説明する。
【００５５】
補正部３０７については、一文字入力した状態でユーザｕが誤判定に気付いた場合と、数文字入力した状態でユーザｕが誤判定に気付いた場合とで処理が変わらないため、説明を省略する。
【００５６】
図４は、タッチパネル領域分割の一例を示す説明図である。図４では、タッチパネル１０２の表示領域を、４×４の１６領域に分割した例を示す。図４の例では、分割した１６領域のうちの１０の領域は日本語５０音の文字入力キー領域である。
【００５７】
タブレット端末２００は、日本語５０音の文字入力キー領域への押下開始時に５０音の行を特定する。そして、タブレット端末２００は、タップ操作で「あ」段の文字を特定し、フリック操作で「い」段〜「お」段のいずれかの文字を特定する。具体的には、タブレット端末２００は、左方向へのフリック操作で「い」段の文字を特定し、上方向へのフリック操作で「う」段の文字を特定し、右方向へのフリック操作で「え」段の文字を特定し、下方向へのフリック操作で「お」段の文字を特定する。領域分割と文字の割り当ては一つの例であり、他の領域分割、割り当て方法もありうる。例えば、文字入力領域には日本語５０音以外の文字を割り当ててもよい。
【００５８】
また、図４では、分割した１６領域のうち、日本語５０音の文字入力キー領域以外に、「削除」と表記された削除キー領域、「→」「←」と表記されたカーソル移動キー領域、「確定」と表記された確定キー領域を割り当てている。削除キー領域、カーソル移動キー領域、確定キー領域へのタップ操作を行うことで、それぞれ文字削除処理、カーソル移動処理、入力文字列の確定処理を実行する。削除処理、カーソル移動処理、確定処理の割り当ては、一つの例であり、他の割り当て方法もありうる。また、これらの処理を起動する操作は、タッチパネル上の操作でなくタブレット端末２００が有する外部のスイッチや、ボタン等を使って実装してもよい。
【００５９】
図５は、操作処理手順の一例を示すフローチャート（その１）である。また、図６は、操作処理手順の一例を示すフローチャート（その２）である。操作処理部３０１は、押下開始位置と押下終了位置とを取得する（ステップＳ５０１）。次に、操作処理部３０１は、押下開始位置が属する領域を特定する（ステップＳ５０２）。そして、操作処理部３０１は、特定した領域が文字入力キー領域か否かを判断する（ステップＳ５０３）。特定した領域が文字入力キー領域である場合（ステップＳ５０３：Ｙｅｓ）、操作処理部３０１は、文字特定処理を実行する（ステップＳ５０４）。次に、操作処理部３０１は、統計値更新処理を実行する（ステップＳ５０５）。そして、操作処理部３０１は、文字記録処理を実行する（ステップＳ５０６）。次に、操作処理部３０１は、文字表示処理を実行する（ステップＳ５０７）。そして、操作処理部３０１は、判定修正処理を実行する（ステップＳ５０８）。ステップＳ５０８の処理終了後、操作処理部３０１は、操作処理を終了する。
【００６０】
一方、特定した領域が文字入力キー領域でない場合（ステップＳ５０３：Ｎｏ）、操作処理部３０１は、特定した領域が削除キー領域か否かを判断する（ステップＳ６０１）。特定した領域が削除キー領域である場合（ステップＳ６０１：Ｙｅｓ）、操作処理部３０１は、文字削除処理を実行する（ステップＳ６０２）。
【００６１】
一方、特定した領域が削除キー領域でない場合（ステップＳ６０１：Ｎｏ）、操作処理部３０１は、特定した領域がカーソル移動キー領域か否かを判断する（ステップＳ６０３）。特定した領域がカーソル移動キー領域である場合（ステップＳ６０３：Ｙｅｓ）、操作処理部３０１は、カーソル移動処理を実行する（ステップＳ６０４）。
【００６２】
一方、特定した領域がカーソル移動キー領域でない場合（ステップＳ６０３：Ｎｏ）、操作処理部３０１は、特定した領域が確定キー領域か否かを判断する（ステップＳ６０５）。特定した領域が確定キー領域である場合（ステップＳ６０５：Ｙｅｓ）、操作処理部３０１は、確定処理を実行する（ステップＳ６０６）。
【００６３】
ステップＳ６０２、ステップＳ６０４、ステップＳ６０６のうちのいずれか一つの処理終了後、または、特定した領域が確定キー領域でない場合（ステップＳ６０５：Ｎｏ）、操作処理部３０１は、操作処理を終了する。
【００６４】
図７は、文字特定処理手順の一例を示すフローチャートである。文字特定処理は、入力された文字を特定する処理である。操作処理部３０１は、押下開始位置と押下終了位置とから、移動距離、上下左右のいずれかの移動方向を算出する（ステップＳ７０１）。ここで、本実施の形態では、移動方向は、４方向であるが、これに限られず、例えば、斜めの方向を加えた８方向でもよい。
【００６５】
次に、操作処理部３０１は、移動距離が第一の閾値１１１以上か否かを判断する（ステップＳ７０２）。移動距離が第一の閾値１１１以上である場合（ステップＳ７０２：Ｙｅｓ）、操作処理部３０１は、ユーザｕの操作をフリック操作と判定する（ステップＳ７０３）。そして、操作処理部３０１は、該当する文字入力領域でのフリック操作の各移動方向に割り当てられた文字を特定する（ステップＳ７０４）。
【００６６】
一方、移動距離が第一の閾値１１１未満である場合（ステップＳ７０２：Ｎｏ）、操作処理部３０１は、ユーザｕの操作をタップ操作と判定する（ステップＳ７０５）。そして、操作処理部３０１は、該当する文字入力キー領域でのタップ操作に割り当てられた文字を特定する（ステップＳ７０６）。
【００６７】
ステップＳ７０４またはステップＳ７０６の処理終了後、操作処理部３０１は、文字特定処理を終了する。なお、ステップＳ７０２、ステップＳ７０３、ステップＳ７０５の処理において、操作処理部３０１は、移動距離が第一の閾値１１１より大きい場合に、フリック操作と判定し、移動距離が第一の閾値１１１以下の場合に、タップ操作と判定してもよい。
【００６８】
次に、統計値更新処理について、図８、図９を用いて二つの例を示す。
【００６９】
図８は、統計値更新処理手順の一例を示すフローチャートである。算出部３０２は、ユーザｕの操作がタップ操作か否かを判断する（ステップＳ８０１）。ユーザｕの操作がタップ操作である場合（ステップＳ８０１：Ｙｅｓ）、算出部３０２は、過去の一定期間におけるタップ操作の移動距離の平均値を算出する（ステップＳ８０２）。次に、算出部３０２は、過去の一定期間におけるタップ操作の移動距離の分散および標準偏差を算出する（ステップＳ８０３）。
【００７０】
そして、算出部３０２は、平均値＋３×標準偏差を、第二の閾値１１２として保存する（ステップＳ８０４）。ここで、図８の例では、ユーザｕの通常のタップ操作での指のずれより十分に大きい値が第二の閾値１１２として保存される。また、算出部３０２は、フリック操作の集合に関する統計量を用いて第二の閾値１１２を算出してもよい。フリック操作の集合に関する統計量を用いる例については、図９を用いて説明する。
【００７１】
ステップＳ８０４の処理終了後、または、ユーザｕの操作がタップ操作でない場合（ステップＳ８０１：Ｎｏ）、算出部３０２は、統計値更新処理を終了する。
【００７２】
図９は、統計値更新処理手順の他の例を示すフローチャートである。算出部３０２は、ユーザｕの操作がタップ操作か否かを判断する（ステップＳ９０１）。ユーザｕの操作がタップ操作である場合（ステップＳ９０１：Ｙｅｓ）、算出部３０２は、過去の一定期間におけるタップ操作の移動距離の平均値を算出する（ステップＳ９０２）。次に、算出部３０２は、過去の一定期間におけるタップ操作の移動距離の分散および標準偏差を算出する（ステップＳ９０３）。
【００７３】
ユーザｕの操作がタップ操作でない場合（ステップＳ９０１：Ｎｏ）、算出部３０２は、ユーザｕの操作がフリック操作であるか否かを判断する（ステップＳ９０４）。ユーザｕの操作がフリック操作である場合（ステップＳ９０４：Ｙｅｓ）、算出部３０２は、過去の一定期間におけるフリック操作の移動距離の平均値を算出する（ステップＳ９０５）。次に、算出部３０２は、過去の一定期間におけるフリック操作の移動距離の分散および標準偏差を算出する（ステップＳ９０６）。
【００７４】
ステップＳ９０３の処理終了後、またはステップＳ９０６の処理終了後、算出部３０２は、タップ操作の平均値＋３×タップ操作の標準偏差を算出する（ステップＳ９０７）。ステップＳ９０７で算出される値は、図３で説明した第２の値に相当する。
【００７５】
また、算出部３０２は、フリック操作の平均値−３×フリック操作の標準偏差を算出する（ステップＳ９０８）。ステップＳ９０８で算出される値は、図３で説明した第１の値に相当する。
【００７６】
なお、ステップＳ９０７、ステップＳ９０８の処理について、算出部３０２は、タップ操作の平均値＋２×タップ操作の標準偏差と、フリック操作の平均値−２×フリック操作の標準偏差とを算出してもよい。そして、算出部３０２は、両値の平均値を第二の閾値１１２として保存する（ステップＳ９０９）。
【００７７】
ステップＳ９０９の処理終了後、または、ユーザｕの操作がフリック操作でない場合（ステップＳ９０４：Ｎｏ）、算出部３０２は、統計値更新処理を終了する。
【００７８】
また、図８、図９で示した統計値更新処理について、ユーザｕが後から削除した文字を入力した際のタップ操作およびフリック操作については、移動距離の統計値算出の対象から除外するのが望ましい。
【００７９】
図１０は、文字記録処理手順の一例を示すフローチャートである。操作処理部３０１は、入力文字記録部３１１のカーソル位置を取得する（ステップＳ１００１）。次に、操作処理部３０１は、特定された文字に関して、「入力文字、領域ＩＤ（Ｉｄｅｎｔｉｆｙ）、移動距離、移動方向、フリック判定」という５項目の組を有するデータを作成する（ステップＳ１００２）。各項目については、図１１で説明する。
【００８０】
そして、操作処理部３０１は、作成したデータをカーソル位置の直後に挿入または追加する（ステップＳ１００３）。次に、操作処理部３０１は、カーソル位置を一つ後に移動する（ステップＳ１００４）。ステップＳ１００４の処理終了後、操作処理部３０１は、文字記録処理を終了する。
【００８１】
図１１は、入力文字記録部３１１の記憶内容の一例を示す説明図である。図１１では、図１１の（ａ）〜（ｃ）に分けて、入力文字記録部３１１の記憶内容の一例を示す。入力文字記録部３１１は、ステップＳ１００２で作成した５項目を１レコードとして記憶する。また、入力文字記録部３１１の１つのレコードが、１つのフリック操作またはタップ操作に対する入力文字を示す。
【００８２】
５項目について、具体的に説明する。入力文字項目は、入力された文字が格納される項目である。領域ＩＤ項目は、押下された領域を識別する情報が格納される。移動距離項目は、押下された移動距離を画素単位で示した値が格納される。移動方向項目は、押下位置の始点から押下位置の終点に向かう方向を示す情報が格納される。フリック判定項目は、「移動距離≧第一の閾値１１１」の真偽値が格納される。フリック判定が真である場合、タブレット端末２００がフリック操作であると判定したことを示す。これに対し、フリック判定が偽である場合、タブレット端末２００がタップ操作であると判定したことを示す。
【００８３】
図１１の（ａ）に示す入力文字記録部３１１は、レコード１１０１＿１を有する。また、図１１の（ａ）では、レコード１１０１＿１が示す入力文字の右側にカーソルがあることを示す。レコード１１０１＿１は、領域ＩＤが「か」の領域に、タップ操作が行われ、入力文字が「か」と特定されたことを示す。
【００８４】
図１１の（ｂ）では、図１１の（ａ）の状態から、タップ操作により文字「か」が特定された際の入力文字記録部３１１の記憶内容とカーソル位置とを示す。具体的には、図１１の（ｂ）では、入力文字記録部３１１は、レコード１１０１＿１の次として、入力文字「か」に関するレコード１１０１＿２が追加されたことと、レコード１１０１＿２が示す入力文字「か」の右側にカーソルがあることを示す。
【００８５】
図１１の（ｃ）では、図１１の（ｂ）の状態から、フリック操作により文字「い」が特定された際の入力文字記録部３１１の記憶内容とカーソル位置とを示す。具体的には、図１１の（ｃ）では、入力文字記録部３１１は、レコード１１０１＿２の次として、入力文字「い」に関するレコード１１０１＿３が追加されたことと、レコード１１０１＿３が示す入力文字「い」の右側にカーソルがあることを示す。
【００８６】
図１２は、文字表示処理手順の一例を示すフローチャートである。操作処理部３０１は、入力文字記録部３１１に記録された各入力文字を結合した文字列を、タッチパネル１０２に表示する（ステップＳ１２０１）。次に、操作処理部３０１は、カーソル位置にカーソルを表す記号を、タッチパネル１０２に表示する（ステップＳ１２０２）。ステップＳ１２０２の処理終了後、操作処理部３０１は、文字表示処理を終了する。
【００８７】
図１３は、タッチパネル１０２の表示例を示す説明図である。図１３の例では、タッチパネル１０２は、表示枠１３０１内に、「かかい」という文字列を表示しており、さらに、カーソル位置に相当する文字「い」の後ろにカーソルを表す記号として、Ｉビームポインタ１３０２を表示する。
【００８８】
図１４は、文字削除処理手順の一例を示すフローチャートである。操作処理部３０１は、カーソル位置の前にデータがあるか否かを判断する（ステップＳ１４０１）。カーソル位置の前にデータがある場合（ステップＳ１４０１：Ｙｅｓ）、操作処理部３０１は、入力文字記録部３１１のカーソル位置直前のデータを削除する（ステップＳ１４０２）。次に、操作処理部３０１は、削除した文字に関する移動距離と第二の閾値１１２とを比較した判定結果を新フリック判定に設定する（ステップＳ１４０３）。そして、操作処理部３０１は、削除した文字に関するデータの組に、新フリック判定を追加したデータの組を作成する（ステップＳ１４０４）。
【００８９】
次に、操作処理部３０１は、作成したデータを、削除文字記録部３１２の先頭に挿入する（ステップＳ１４０５）。そして、操作処理部３０１は、カーソル位置を修正する（ステップＳ１４０６）。次に、操作処理部３０１は、文字表示処理を実行する（ステップＳ１４０７）。ステップＳ１４０７の処理終了後、または、カーソル位置の前にデータがない場合（ステップＳ１４０１：Ｎｏ）、操作処理部３０１は、文字削除処理を終了する。
【００９０】
ここで、本実施の形態では、操作処理部３０１は、文字削除処理として、カーソル位置の前の文字を削除するＢａｃｋｓｐａｃｅキー型の一文字削除を行っているが、カーソル位置の次の文字を削除する  Ｄｅｌｅｔｅキー型の一文字削除を使用してもよい。また、操作処理部３０１は、削除操作は複数の連続した文字を選択して消去する形の消去でもよい。
【００９１】
図１５は、カーソル移動処理手順の一例を示すフローチャートである。操作処理部３０１は、カーソル移動操作の方向を確認する（ステップＳ１５０１）。左方向へのカーソル移動操作である場合（ステップＳ１５０１：左方向）、操作処理部３０１は、現在のカーソル位置が最左端か否かを判断する（ステップＳ１５０２）。現在のカーソル位置が最左端でない場合（ステップＳ１５０２：Ｎｏ）、操作処理部３０１は、カーソル位置を一つ前に移動する（ステップＳ１５０３）。
【００９２】
一方、右方向へのカーソル移動操作である場合（ステップＳ１５０１：右方向）、操作処理部３０１は、現在のカーソル位置が最右端か否かを判断する（ステップＳ１５０４）。現在のカーソル位置が最右端でない場合（ステップＳ１５０４：Ｎｏ）、操作処理部３０１は、カーソル位置を一つ後に移動する（ステップＳ１５０５）。
【００９３】
ステップＳ１５０３またはステップＳ１５０５の処理終了後、操作処理部３０１は、削除文字記録部３１２のデータを削除する（ステップＳ１５０６）。そして、操作処理部３０１は、文字表示処理を実行する（ステップＳ１５０７）。
【００９４】
ステップＳ１５０７の処理終了後、または、現在のカーソル位置が最左端である場合（ステップＳ１５０２：Ｙｅｓ）、または、現在のカーソル位置が最右端である場合（ステップＳ１５０４：Ｙｅｓ）、操作処理部３０１は、カーソル移動処理を終了する。
【００９５】
図１６は、確定処理手順の一例を示すフローチャートである。操作処理部３０１は、入力文字記録部３１１に記録されたデータを外部のアプリに送信する（ステップＳ１６０１）。次に、操作処理部３０１は、入力文字記録部３１１に記録されたデータを削除する（ステップＳ１６０２）。そして、操作処理部３０１は、削除文字記録部３１２に記録されたデータを削除する（ステップＳ１６０３）。次に、操作処理部３０１は、文字表示処理を実行する（ステップＳ１６０４）。ステップＳ１６０４の処理終了後、操作処理部３０１は、確定処理を終了する。
【００９６】
図１７は、判定修正処理手順の一例を示すフローチャートである。判定修正部３０３は、削除文字記録部３１２に一文字以上の情報があるか否かを判断する（ステップＳ１７０１）。削除文字記録部３１２に一文字以上の情報がある場合（ステップＳ１７０１：Ｙｅｓ）、判定修正部３０３は、削除操作後に入力文字記録部３１１に追加された文字数を取得する（ステップＳ１７０２）。次に、判定修正部３０３は、取得した文字数が削除文字記録部３１２の文字数と一致するか否かを判断する（ステップＳ１７０３）。
【００９７】
取得した文字数が削除文字記録部３１２の文字数と一致する場合（ステップＳ１７０３：Ｙｅｓ）、判定修正部３０３は、入力文字に異なる箇所があるか否かを判断する（ステップＳ１７０４）。入力文字に異なる箇所がある場合（ステップＳ１７０４：Ｙｅｓ）、判定修正部３０３は、全ての領域ＩＤが一致するか否かを判断する（ステップＳ１７０５）。全ての領域ＩＤが一致する場合（ステップＳ１７０５：Ｙｅｓ）、判定修正部３０３は、全文字について条件Ａ、Ｂ、Ｃのいずれか一つが成立するか否かを判断する（ステップＳ１７０６）。条件Ａ、Ｂ、Ｃの具体的な内容については、図１８で説明する。
【００９８】
条件Ａ、Ｂ、Ｃのいずれか一つが成立する場合（ステップＳ１７０６：Ｙｅｓ）、ユーザｕが誤判定に気付き修正した場合であるとみなし、判定修正部３０３は、第二の閾値１１２で第一の閾値１１１を更新する（ステップＳ１７０７）。そして、判定修正部３０３は、削除文字記録部３１２に記録されたデータを削除する（ステップＳ１７０８）。ステップＳ１７０８の処理終了後、判定修正部３０３は、判定修正処理を終了する。
【００９９】
一方、入力文字に異なる箇所がない場合（ステップＳ１７０４：Ｎｏ）、または領域ＩＤが一致しない入力文字がある場合（ステップＳ１７０５：Ｎｏ）、または条件Ａ、Ｂ、Ｃのいずれも成立しない場合（ステップＳ１７０６：Ｎｏ）、ユーザｕの単純な入力ミスや推敲による打ち直しであるとみなし、判定修正部３０３は、ステップＳ１７０８の処理を実行する。
【０１００】
また、削除文字記録部３１２に一文字以上の情報がない場合（ステップＳ１７０１：Ｎｏ）、または取得した文字数が削除文字記録部３１２の文字数と一致しない場合（ステップＳ１７０３：Ｎｏ）、判定修正部３０３は、判定修正処理を終了する。
【０１０１】
図１８は、条件Ａ、Ｂ、Ｃを示す説明図である。図１８では、条件Ａ、Ｂ、Ｃを表１８０１にまとめて表示してある。具体的には、レコード１８０１＿Ａが条件Ａの内容を示し、レコード１８０１＿Ｂが条件Ｂの内容を示し、レコード１８０１＿Ｃが条件Ｃの内容を示す。
【０１０２】
条件Ａに関して、タブレット端末２００は、レコード１８０１＿Ａが示すように、４つの条件が全て成り立てば、条件Ａが満たされたと判定する。１つ目の条件は、入力文字記録部３１１の移動方向と削除文字記録部３１２の移動方向とが一致することである。２つ目の条件は、入力文字記録部３１１のフリック判定が真であることである。３つ目の条件は、削除文字記録部３１２のフリック判定が偽であることである。４つ目の条件は、削除文字記録部３１２の新フリック判定が真であることである。条件Ａが満たされる場合とは、ユーザｕはフリック操作を行ったつもりであったが、行ったフリック操作が短すぎてタップ操作と判定された可能性があり、第二の閾値１１２を用いることで、正しくフリック操作と判定できる場合である。
【０１０３】
条件Ｂに関して、タブレット端末２００は、レコード１８０１＿Ｂが示すように、３つの条件が全て成り立てば、条件Ｂが満たされたと判定する。１つ目の条件は、入力文字記録部３１１のフリック判定が偽であることである。２つ目の条件は、削除文字記録部３１２のフリック判定が真であることである。３つ目の条件は、削除文字記録部３１２の新フリック判定が偽であることである。条件Ｂが満たされる場合とは、ユーザｕはタップ操作を行ったつもりであったが、行ったタップ操作がずれてしまいフリック操作と判定された可能性があり、第二の閾値１１２を用いることで、正しくタップ操作と判定できる場合である。
【０１０４】
条件Ｃに関して、タブレット端末２００は、レコード１８０１＿Ｃが示すように、２つの条件が全て成り立てば、条件Ｃが満たされたと判定する。１つ目の条件は、入力文字記録部３１１の入力文字と削除文字記録部３１２の入力文字とが一致することである。２つ目の条件は、削除文字記録部３１２のフリック判定と削除文字記録部３１２の新フリック判定とが一致することである。条件Ｃが満たされる場合とは、第二の閾値１１２を用いても修正しなくてよい文字の判定には影響がない場合である。
【０１０５】
次に、図１９〜図２３を用いて、文字修正の一連の動作例を示す。
【０１０６】
図１９は、文字修正の一連の動作例を示す説明図（その１）である。図１９に示す状態１の開始時点において、第一の閾値１１１が２５で、第二の閾値１１２が１５とする。そして、状態１では、「か」「か」「い」の３入力文字が特定されており、入力文字に対応するレコード１１０１＿１〜３が入力文字記録部３１１に記録されている。ユーザｕは、本来「き」「か」「い」と入力するはずであったが、フリックの長さ、つまり押下開始から終了までの移動距離が第一の閾値１１１より短かったため、タップ操作と判定されたものである。
【０１０７】
図１９に示す状態２では、状態１から、ユーザｕが誤判定に気付き、一文字削除を行った状態である。文字削除が行われると、タブレット端末２００は、入力文字記録部３１１の「い」に該当するレコード１１０１＿３を入力文字記録部３１１から削除し、削除したレコード１１０１＿３を複製したレコード１９０１＿１を削除文字記録部３１２に追加する。ここで、タブレット端末２００は、レコード１１０１＿３の各データと、「移動距離≧第二の閾値１１２」の真偽値を示す新フリック判定とを、レコード１９０１＿１として削除文字記録部３１２に追加する。
【０１０８】
図２０は、文字修正の一連の動作例を示す説明図（その２）である。図２０に示す状態３では、状態２から、さらに二文字削除操作を行った結果を示す。入力文字記録部３１１にはレコードがなく、削除文字記録部３１２には３入力文字分のレコード１９０１＿１〜３が追加されている。
【０１０９】
図２１は、文字修正の一連の動作例を示す説明図（その３）である。図２１に示す状態４では、状態３から、ユーザｕの打ち直しにより、３文字分のレコード２１０１＿１〜３が入力文字記録部３１１に追加された状態を示す。タブレット端末２００は、削除文字記録部３１２に一文字以上のレコードがある場合には、追加された文字数と削除文字記録部３１２の文字数を比較し、一致する場合にはさらに詳細に比較する。状態４では、追加された文字数が３であり、削除文字記録部３１２の文字数が３であるから、文字数が一致するため、タブレット端末２００は、さらに詳細に比較する。
【０１１０】
図２２は、文字修正の一連の動作例を示す説明図（その４）である。図２２に示す状態５では、状態４から、タブレット端末２００が追加された文字数と削除文字記録部３１２の文字数とが一致することを判定した後の状態である。
【０１１１】
ステップＳ１７０４で示した入力文字については、入力文字記録部３１１が「きかい」であり、削除文字記録部３１２が「かかい」なので、入力文字に異なる箇所があるという条件を満たす。
【０１１２】
次に、ステップＳ１７０５で示した領域ＩＤについては、入力文字記録部３１１と削除文字記録部３１２とで一致しており、条件を満たす。
【０１１３】
そして、ステップＳ１７０６で示した条件Ａ、Ｂ、Ｃについては、一文字目となるレコード２１０１＿１とレコード１９０１＿１とに関しては、条件Ａが成立し、フリック操作をタップ操作と判定した誤判定が第二の閾値１１２で修正できることがわかる。二文字目、三文字目となるレコード２１０１＿２、３とレコード１９０１＿２、３とについては、条件Ｃを満たし、第二の閾値１１２でも第一の閾値１１１同様に正しい判定が得られることがわかる。
【０１１４】
図２３は、文字修正の一連の動作例を示す説明図（その５）である。図２３に示す状態６は、状態５から、入力文字記録部３１１と削除文字記録部３１２との全てのレコード対が、比較条件Ａ、Ｂ、Ｃのいずれかを満たすことを判定した後の状態である。タブレット端末２００は、第一の閾値１１１を第二の閾値１１２で更新する。また、タブレット端末２００は、ステップＳ１７０４〜ステップＳ１７０６の判定の結果に関わらず、削除文字記録部３１２のデータを削除する。
【０１１５】
次に、あるユーザと他のユーザという２人の押下位置の移動距離を用いて、押下位置の移動距離と第一の閾値１１１および第二の閾値１１２との関係を、図２４と図２５とで説明する。
【０１１６】
図２４は、あるユーザの押下位置の移動距離の一例を示すグラフである。図２４の例で示すグラフ２４０１は、あるユーザの押下位置の移動距離を示すとともに、第一の閾値１１１を６０［画素数］とし、第二の閾値１１２を、図８で示した方法で算出した例を示す。ここで、あるユーザは、画素数が０から３９までの移動距離の操作をタップ操作と認識しており、画素数が４０以上の移動距離の操作をタップ操作と認識しているとする。
【０１１７】
タブレット端末２００は、タップ操作と判定した移動距離の平均値と標準偏差を算出する。グラフ２４０１の例では、画素数が０から９までの１６回のタップ操作の移動距離を、全て４．５とみなす。同様に、画素数が１０から１９までの８回のタップ操作の移動距離を、１４．５とみなし、画素数が２０から２９までのタップ操作の移動距離を、２４．５の移動距離とみなし、画素数が５０から５９までのタップ操作の移動距離を、５４．５の移動距離とみなす。そして、タブレット端末２００は、第二の閾値１１２を、４１．６［画素数］と算出する。このように、第二の閾値１１２は第一の閾値１１１より、あるユーザが認識している閾値により近い値となり、あるユーザの操作の癖に対応した閾値となる。
【０１１８】
図２５は、他のユーザの押下位置の移動距離の一例を示すグラフである。図２５の例で示すグラフ２５０１は、他のユーザの押下位置の移動距離を示すとともに、第一の閾値１１１を５０［画素数］とした例を示す。さらに、グラフ２５０１は、第二の閾値１１２を、タップ操作における「平均値＋２×標準偏差」とフリック操作における「平均値−２×標準偏差」の二つの数値の平均値を第二の閾値１１２として算出した例を示す。ここで、他のユーザは、画素数が０から５９までの移動距離の操作をタップ操作と認識しており、画素数が６０以上の移動距離の操作をタップ操作と認識しているとする。また、グラフ２５０１に示す各移動距離は、図２４で示した方法と同一の方法で算出したとみなすものとする。
【０１１９】
タブレット端末２００は、タップ操作における「平均値＋２×標準偏差」を、４３．８［画素数］と算出し、フリック操作における「平均値−２×標準偏差」を、７７．３［画素数］と算出する。そして、タブレット端末２００は、６０．６［画素数］と算出する。このように、第二の閾値１１２は第一の閾値１１１より、他のユーザが認識している閾値により近い値となり、他のユーザの操作の癖に対応した閾値となる。
【０１２０】
以上説明したように、タブレット端末２００は、フリック操作かタップ操作による入力文字を削除し再入力した際、入力時と再入力時の履歴から第一の閾値１１１を補正すべきと判定した場合に、第一の閾値１１１を補正する。これにより、タブレット端末２００は、ユーザｕが操作の誤判定に気付いた際に閾値を適正に補正することができる。そして、タブレット端末２００は、閾値を適正に補正することにより、入力精度を向上することができる。
【０１２１】
また、タブレット端末２００は、削除文字記録部３１２に記録したタッチパネル１０２を分割した複数の領域のうちの位置に応じた領域と第一の閾値１１１および移動距離の比較結果と移動方向と新たな押下入力とに基づいて、補正すべきか判定してもよい。これにより、タブレット端末２００は、ユーザｕが操作の誤判定に気付いたか否かを精度良く判定することができる。
【０１２２】
また、タブレット端末２００は、押下入力の移動距離に基づいて、第一の閾値１１１を補正してもよい。これにより、ユーザｕが操作の誤判定に気付いた際のユーザｕの癖が現れた移動距離に基づいた値に補正できるため、ユーザｕに適した第一の閾値１１１を設定することができる。
【０１２３】
また、タブレット端末２００は、入力文字記録部３１１および削除文字記録部３１２の領域ＩＤとフリック判定と移動方向と、削除文字記録部３１２の新フリック判定とに基づいて、第一の閾値１１１を補正すべきか否かを判定してもよい。これにより、タブレット端末２００は、ユーザｕが操作の誤判定に気付いたか否かを精度良く判定することができるとともに、第二の閾値１１２を用いて正しく判定できることを担保することができる。
【０１２４】
また、タブレット端末２００は、削除された文字と再入力された文字とについて、条件Ａが満たされれば、第一の閾値１１１を補正すべきと判定してもよい。これにより、タブレット端末２００は、ユーザｕはフリック操作を行ったつもりであったが、行ったフリック操作が短すぎてタップ操作と判定された可能性があり、第二の閾値１１２を用いることで、正しくフリック操作と判定することができる。
【０１２５】
また、タブレット端末２００は、削除された文字と再入力された文字とについて、条件Ｂが満たされれば、第一の閾値１１１を補正すべきと判定してもよい。これにより、タブレット端末２００は、ユーザｕはタップ操作を行ったつもりであったが、行ったタップ操作がずれてしまいフリック操作と判定された可能性があり、第二の閾値１１２を用いることで、正しくタップ操作と判定することができる。
【０１２６】
また、タブレット端末２００は、削除された文字列と再入力された文字列とについて、削除された文字列と再入力された文字列に異なる箇所があれば、入力文字記録部３１１および削除文字記録部３１２を用いて、補正すべきか否かを判定してもよい。削除された文字列と再入力された文字列が同一であれば、第一の閾値１１１の補正は不要であるから、これにより、タブレット端末２００は、第一の閾値１１１を補正すべきか否かの判定にかかる負荷を抑制することができる。
【０１２７】
また、タブレット端末２００は、削除された文字列と再入力された文字列との対となる文字について、条件Ａ、Ｂ、Ｃのいずれかを満たす場合に、第一の閾値１１１を補正すべきと判定してもよい。これにより、タブレット端末２００は、ユーザｕが操作の誤判定に気付いた操作については正しく判定することができるようになるとともに、第一の閾値１１１を補正することにより、修正しなくてよい文字の判定には影響しないことを担保することができる。
【０１２８】
また、タブレット端末２００は、タップ操作と判定した平均値と標準偏差とから第１の値を算出し、フリック操作と判定した平均値と標準偏差とから第２の値を算出し、第１の値と第２の値とから第二の閾値１１２を算出してもよい。これにより、第二の閾値１１２は、タップ操作の移動距離とフリック操作の移動距離との中間となるため、タブレット端末２００は、ユーザｕに適した第一の閾値１１１に補正することができる。
【０１２９】
なお、本実施の形態で説明した入力方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本入力プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本入力プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１３０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１３１】
（付記１）コンピュータに、
タッチパネル上の押下入力の移動距離が所定の閾値以上であれば前記押下入力の位置および前記押下入力の移動方向の組み合わせに対応する記号を出力し、前記移動距離が前記所定の閾値未満であれば前記位置に対応する記号を出力し、
出力した前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記位置、前記移動距離、前記移動方向のうちの少なくともいずれか一つの情報を含む履歴を記録し、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記新たな押下入力の位置、移動距離、移動方向のうちの前記履歴が有する情報に対応する情報とに基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記所定の閾値を補正すべきと判定した場合、前記履歴に基づいて、前記所定の閾値を補正する、
処理を実行させることを特徴とする入力プログラム。
【０１３２】
（付記２）前記記録する処理は、
前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記タッチパネルを分割した複数の領域のうちの前記位置に応じた領域と、前記所定の閾値および前記移動距離の比較結果と、前記移動方向とを含む履歴を記録し、
前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記複数の領域のうちの前記新たな押下入力の位置に応じた領域と、前記所定の閾値および前記新たな押下入力の移動距離の比較結果と、前記新たな押下入力の移動方向とに基づいて、前記所定の閾値の補正をすべきか否かを判定する、
ことを特徴とする付記１に記載の入力プログラム。
【０１３３】
（付記３）前記記録する処理は、
前記記号の削除を受け付けたことに応じて、さらに、前記移動距離を含む履歴を記録し、
前記補正する処理は、
前記所定の閾値を補正すべきと判定した場合、前記履歴に含まれる前記移動距離に基づいて、前記所定の閾値を補正する、
ことを特徴とする付記２に記載の入力プログラム。
【０１３４】
（付記４）前記コンピュータに、
前記押下入力の移動距離に基づいて、前記所定の閾値を補正する際の候補値を算出する、処理を実行させ、
前記記録する処理は、
前記記号の削除を受け付けたことに応じて、さらに、算出した前記候補値および前記移動距離の比較結果を含む履歴を記録し、
前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記複数の領域のうちの前記新たな押下入力の位置に応じた領域と、前記所定の閾値および前記新たな押下入力の移動距離の比較結果と、前記新たな押下入力の移動方向と、に基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記補正する処理は、
前記所定の閾値を補正すべきと判定した場合、前記候補値で前記所定の閾値を更新することにより前記所定の閾値を補正する、
ことを特徴とする付記２または３に記載の入力プログラム。
【０１３５】
（付記５）前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴に含まれる領域と前記新たな押下入力の位置に応じた領域とが同一であり、かつ、前記履歴に含まれる移動方向と前記新たな押下入力の移動方向とが一致し、かつ、前記新たな押下入力の移動距離が前記所定の閾値以上であり、かつ、前記履歴に含まれる前記所定の閾値および移動距離の比較結果によって当該移動距離が前記所定の閾値未満であることが示され、かつ、前記履歴に含まれる前記候補値および移動距離の比較結果によって当該移動距離が前記候補値以上であることが示される場合、前記所定の閾値の補正をすべきと判定する、
ことを特徴とする付記４に記載の入力プログラム。
【０１３６】
（付記６）前記判定する処理は、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴に含まれる領域と前記新たな押下入力の位置に応じた領域とが同一であり、前記新たな押下入力の移動距離が前記所定の閾値未満であり、かつ、前記履歴に含まれる前記所定の閾値および移動距離の比較結果によって当該移動距離が前記所定の閾値以上であることが示され、かつ、前記履歴に含まれる前記候補値および移動距離の比較結果によって当該移動距離が前記候補値未満であることが示される場合、前記所定の閾値の補正をすべきと判定する、
ことを特徴とする付記４または５に記載の入力プログラム。
【０１３７】
（付記７）前記出力する処理は、
前記タッチパネル上の押下入力が複数行われた場合、複数の押下入力の各々の押下入力に対応する記号を出力し、
前記削除する処理は、
出力した前記各々の押下入力に対応する記号の削除を受け付けたことに応じて、前記各々の押下入力に対応する記号に対応付けて前記各々の押下入力の位置、前記各々の押下入力の移動距離、前記各々の押下入力の移動方向を含む履歴を記録し、
前記判定する処理は、
前記タッチパネル上の複数の新たな押下入力を受け付けたことに応じて、記録した前記履歴に対応付けられた前記各々の押下入力に対応する記号と前記複数の新たな押下入力によって出力される記号とで異なる記号がある場合に、記録した前記履歴と前記複数の領域のうちの前記複数の新たな押下入力の位置に応じた領域と、前記所定の閾値および前記複数の新たな押下入力の移動距離の比較結果と、前記複数の新たな押下入力の移動方向とに基づいて、前記所定の閾値の補正をすべきか否かを判定する、
ことを特徴とする付記４〜６のいずれか一つに記載の入力プログラム。
【０１３８】
（付記８）前記判定する処理は、
前記タッチパネル上の複数の新たな押下入力を受け付けたことに応じて、記録した前記履歴に対応付けられた前記各々の押下入力に対応する記号と前記複数の新たな押下入力によって出力される記号とで異なる記号がある場合に、記録した前記各々の押下入力の位置に応じた領域と前記複数の新たな押下入力のうちの前記各々の押下入力に対応する新たな押下入力の位置に応じた領域とが同一であり、かつ、
前記各々の押下入力の移動方向と当該新たな押下入力の移動方向とが一致し、かつ、当該新たな押下入力の移動距離が前記所定の閾値以上であり、かつ、前記履歴に含まれる前記所定の閾値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記所定の閾値未満であることが示され、かつ、前記履歴に含まれる前記候補値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記候補値以上であることが示される、
または、当該新たな押下入力の移動距離が前記所定の閾値未満であり、かつ、前記履歴に含まれる前記所定の閾値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記所定の閾値以上であることが示され、かつ、前記履歴に含まれる前記候補値および前記各々の押下入力の移動距離の比較結果によって当該移動距離が前記候補値未満であることが示される、
または、前記履歴に対応付けられた前記各々の押下入力に対応する記号と当該新たな押下入力によって出力される記号とが同一であり、かつ、前記履歴に含まれる前記所定の閾値および前記各々の押下入力の移動距離の比較結果によって示される当該移動距離が前記所定の閾値以上か否かの真偽値と前記履歴に含まれる前記候補値および前記各々の押下入力の移動距離の比較結果によって示される当該移動距離が前記候補値以上か否かの真偽値とが同一である、
場合、前記所定の閾値の補正をすべきと判定する、
ことを特徴とする付記７に記載の入力プログラム。
【０１３９】
（付記９）前記コンピュータに、
前記タッチパネル上の押下入力が複数行われた場合、複数の押下入力の移動距離のうちの前記所定の閾値以上となる移動距離の平均値と標準偏差とに基づいて第１の値を算出するとともに、前記複数の押下入力の移動距離のうちの前記所定の閾値未満となる移動距離の平均値と標準偏差とに基づいて第２の値を算出し、
前記候補値を算出する処理は、
算出した前記第１の値と前記第２の値とに基づいて、前記候補値を算出する、
ことを特徴とする付記４〜８のいずれか一つに記載の入力プログラム。
【０１４０】
（付記１０）前記コンピュータが、前記タッチパネルを有することを特徴とする付記１〜９のいずれか一つに記載の入力プログラム。
【０１４１】
（付記１１）タッチパネル上の押下入力の移動距離が所定の閾値以上であれば前記押下入力の位置および前記押下入力の移動方向の組み合わせに対応する記号を出力し、前記移動距離が前記所定の閾値未満であれば前記位置に対応する記号を出力し、
出力した前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記位置、前記移動距離、前記移動方向のうちの少なくともいずれか一つの情報を含む履歴を記録し、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記新たな押下入力の位置、移動距離、移動方向のうちの前記履歴が有する情報に対応する情報とに基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記所定の閾値を補正すべきと判定した場合、前記履歴に基づいて、前記所定の閾値を補正する、
制御部を有することを特徴とする入力装置。
【０１４２】
（付記１２）コンピュータが、
タッチパネル上の押下入力の移動距離が所定の閾値以上であれば前記押下入力の位置および前記押下入力の移動方向の組み合わせに対応する記号を出力し、前記移動距離が前記所定の閾値未満であれば前記位置に対応する記号を出力し、
出力した前記記号の削除を受け付けたことに応じて、前記記号に対応付けて前記位置、前記移動距離、前記移動方向のうちの少なくともいずれか一つの情報を含む履歴を記録し、
前記タッチパネル上の新たな押下入力を受け付けたことに応じて、記録した前記履歴と、前記新たな押下入力の位置、移動距離、移動方向のうちの前記履歴が有する情報に対応する情報とに基づいて、前記所定の閾値の補正をすべきか否かを判定し、
前記所定の閾値を補正すべきと判定した場合、前記履歴に基づいて、前記所定の閾値を補正する、
処理を実行することを特徴とする入力方法。
【符号の説明】
【０１４３】
１０１  入力装置
１０２  タッチパネル
１１１  第一の閾値
１１２  第二の閾値
３００  制御部
３０１  操作処理部
３０２  算出部
３０３  判定修正部
３０４  出力部
３０５  記録部
３０６  判定部
３０７  補正部
３１１  入力文字記録部
３１２  削除文字記録部
【図１】
0006524903.tif 000002
【図２】
0006524903.tif 000003
【図３】
0006524903.tif 000004
【図４】
0006524903.tif 000005
【図５】
0006524903.tif 000006
【図６】
0006524903.tif 000007
【図７】
0006524903.tif 000008
【図８】
0006524903.tif 000009
【図９】
0006524903.tif 000010
【図１０】
0006524903.tif 000011
【図１１】
0006524903.tif 000012
【図１２】
0006524903.tif 000013
【図１３】
0006524903.tif 000014
【図１４】
0006524903.tif 000015
【図１５】
0006524903.tif 000016
【図１６】
0006524903.tif 000017
【図１７】
0006524903.tif 000018
【図１８】
0006524903.tif 000019
【図１９】
0006524903.tif 000020
【図２０】
0006524903.tif 000021
【図２１】
0006524903.tif 000022
【図２２】
0006524903.tif 000023
【図２３】
0006524903.tif 000024
【図２４】
0006524903.tif 000025
【図２５】
0006524903.tif 000026