(57)【特許請求の範囲】
【請求項１】
表面に対する動作を検出するタッチパネルと、
前記タッチパネル上にテキストを表示させる制御部とを備え、
当該前記制御部は、
前記タッチパネル上にそれぞれが特定の文字と対応づけられた複数のボタンを含むキーボード領域を表示させ、
前記複数のボタンを介してテキストを入力している際に、前記キーボード領域から開始して前記テキストの表示領域にかけて、前記タッチパネルの表面に接触したままで行われる所定動作が検出された場合に、前記テキストのうち、前記所定動作が検出された位置に対応する部分を編集箇所の基準として、前記テキストの編集処理を行うことを特徴とする文字入力装置。
【請求項２】
前記タッチパネルの表面の第１の位置で接触が開始され、前記タッチパネルの表面の第２の位置まで接触を維持する接触動作が前記タッチパネルによって検出された場合に、前記第１の位置で接触が開始されてから前記第２の位置まで接触が維持される間に接触が検出された各位置を結ぶ軌跡上に表示されているボタンに対応する文字を含む文字列を入力として受け付け、
入力として受け付けた文字列を連結して前記テキストとして表示させることを特徴とする請求項１に記載の文字入力装置。
【請求項３】
前記制御部は、前記編集処理として、前記テキストのうち、前記所定動作が検出された位置に対応する部分に、新たに入力を受け付けた文字列を挿入することを特徴とする請求項１または２に記載の文字入力装置。
【請求項４】
前記制御部は、前記編集処理として、前記テキストのうち、第１の所定動作が検出された位置に対応する第１の部分と第２の所定動作が検出された位置に対応する第２の部分とに囲まれた部分を、新たに入力を受け付けた文字列と置換することを特徴とする請求項１または２に記載の文字入力装置。
【請求項５】
前記制御部は、前記編集処理として、前記テキストのうち、第１の所定動作が検出された位置に対応する第１の部分と第２の所定動作が検出された位置に対応する第２の部分とに囲まれた部分を、当該部分の変換前の文字列に基づく変換処理によって得られた文字列と置換することを特徴とする請求項１または２に記載の文字入力装置。
【請求項６】
前記制御部は、前記第２の所定動作が検出された場合に、前記テキストのうち、前記第１の部分と前記第２の部分とに囲まれた部分を他の部分と異なる態様で表示させることを特徴とする請求項４または５に記載の文字入力装置。
【請求項７】
前記制御部は、移動方向を変化させる動作を前記所定動作の１つとして検出することを特徴とする請求項１から６のいずれか１項に記載の文字入力装置。
【請求項８】
前記制御部は、特定の形状の軌跡を描く動作を前記所定動作の１つとして検出することを特徴とする請求項１から７のいずれか１項に記載の文字入力装置。
【請求項９】
前記制御部は、所定以上の期間特定の位置にとどまる動作を前記所定動作の１つとして検出することを特徴とする請求項１から８のいずれか１項に記載の文字入力装置。
【請求項１０】
表面に対する接触を検出するタッチパネルを有する文字入力装置によって実行される文字入力方法であって、
前記タッチパネル上にテキストを表示させるステップと、
前記タッチパネル上にそれぞれが特定の文字と対応づけられた複数のボタンを含むキーボード領域を表示させるステップと、
前記複数のボタンを介してテキストを入力している際に、前記キーボード領域から開始して前記テキストの表示領域にかけて前記タッチパネルの表面に接触したままで行われる所定動作を検出するステップと、
前記テキストのうち、前記所定動作が検出された位置に対応する部分を編集箇所の基準として、前記テキストの編集処理を行うステップと
を含むことを特徴とする文字入力方法。
【請求項１１】
表面に対する接触を検出するタッチパネルを有する文字入力装置に、
前記タッチパネル上にテキストを表示させるステップと、
前記タッチパネル上にそれぞれが特定の文字と対応づけられた複数のボタンを含むキーボード領域を表示させるステップと、
前記複数のボタンを介してテキストを入力している際に、前記キーボード領域から開始して前記テキストの表示領域にかけて前記タッチパネルの表面に接触したままで行われる所定動作を検出するステップと、
前記テキストのうち、前記所定動作が検出された位置に対応する部分を編集箇所の基準として、前記テキストの編集処理を行うステップと
を実行させることを特徴とする文字入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字入力装置、文字入力方法および文字入力プログラムに関する。
【背景技術】
【０００２】
近年、直感的な操作を可能にするとともに、キーボードのように物理的に大きな面積を必要とするデバイスを具備しない小型の文字入力装置を実現するために、タッチパネルが広く利用されるようになっている。タッチパネルを用いて文字を入力するための技術として、タッチパネル上で文字を手書き入力する技術（例えば、特許文献１）と、タッチパネル上に表示された仮想的なキーボード（以下、「仮想キーボード」という）を用いて文字を入力する技術（例えば、特許文献２）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１４１４４８号公報
【特許文献２】特開２００８−１０８２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、タッチパネル上で文字を手書き入力する従来技術には、入力と文字認識処理に時間がかかるため高速な文字入力が困難であるという問題があった。また、仮想キーボードを用いて文字を入力する従来技術でも、入力したい文字に対応するキーごとに指をタッチパネルに対して上げ下げする動作を繰り返す必要があったため、高速な文字入力が困難であった。
【０００５】
本発明は、上記に鑑みてなされたものであって、タッチパネル上で高速に文字を入力することを可能にする文字入力装置、文字入力方法および文字入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、表面に対する動作を検出するタッチパネルと、前記タッチパネル上にテキストを表示させる制御部とを備え、前記制御部は、前記テキストの表示領域において前記タッチパネルの表面に接触したままで行われる特定の動作が検出された場合に、前記テキストのうち、前記所定動作が検出された位置に対応する部分を編集箇所の基準として、前記テキストの編集処理を行うことを特徴とする。
【０００７】
ここで、前記制御部は、前記タッチパネル上にそれぞれが特定の文字と対応づけられた複数のボタンを表示させ、前記タッチパネルの表面の第１の位置で接触が開始され、前記タッチパネルの表面の第２の位置まで接触を維持する接触動作が前記タッチパネルによって検出された場合に、前記第１の位置で接触が開始されてから前記第２の位置まで接触が維持される間に接触が検出された各位置を結ぶ軌跡上に表示されているボタンに対応する文字を含む文字列を入力として受け付け、入力として受け付けた文字列を連結して前記テキストとして表示させることが好ましい。
【０００８】
また、前記制御部は、前記編集処理として、前記テキストのうち、前記所定動作が検出された位置に対応する部分に、新たに入力を受け付けた文字列を挿入することが好ましい。
【０００９】
また、前記制御部は、前記編集処理として、前記テキストのうち、第１の所定動作が検出された位置に対応する第１の部分と第２の所定動作が検出された位置に対応する第２の部分とに囲まれた部分を、新たに入力を受け付けた文字列と置換することが好ましい。
【００１０】
また、前記制御部は、前記編集処理として、前記テキストのうち、第１の所定動作が検出された位置に対応する第１の部分と第２の所定動作が検出された位置に対応する第２の部分とに囲まれた部分を、当該部分の変換前の文字列に基づく変換処理によって得られた文字列と置換することが好ましい。
【００１１】
また、前記制御部は、前記第２の所定動作が検出された場合に、前記テキストのうち、前記第１の部分と前記第２の部分とに囲まれた部分を他の部分と異なる態様で表示させることが好ましい。
【００１２】
また、前記制御部は、移動方向を変化させる動作を前記所定動作の１つとして検出することが好ましい。
【００１３】
また、前記制御部は、特定の形状の軌跡を描く動作を前記所定動作の１つとして検出することが好ましい。
【００１４】
また、前記制御部は、所定以上の期間特定の位置にとどまる動作を前記所定動作の１つとして検出することが好ましい。
【００１５】
また、上述した課題を解決し、目的を達成するために、本発明は、表面に対する接触を検出するタッチパネルを有する文字入力装置によって実行される文字入力方法であって、前記タッチパネル上にテキストを表示させるステップと、前記テキストの表示領域において前記タッチパネルの表面に接触したままで行われる所定動作を検出するステップと、前記テキストのうち、前記所定動作が検出された位置に対応する部分を編集箇所の基準として、前記テキストの編集処理を行うステップとを含むことを特徴とする。
【００１６】
また、上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、表面に対する接触を検出するタッチパネルを有する文字入力装置に、前記タッチパネル上にテキストを表示させるステップと、前記テキストの表示領域において前記タッチパネルの表面に接触したままで行われる所定動作を検出するステップと、前記テキストのうち、前記所定動作が検出された位置に対応する部分を編集箇所の基準として、前記テキストの編集処理を行うステップとを実行させることを特徴とする。
【発明の効果】
【００１７】
本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、タッチパネル上で高速に文字を入力することを可能にするという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、携帯電話端末の外観を示す正面図である。
【図２】図２は、タッチパネル上に表示される仮想キーボードを示す図である。
【図３】図３は、ボタン領域内を指が通過した例を示す図である。
【図４】図４は、ボタン領域内で指の移動方向が変化した例を示す図である。
【図５】図５は、ボタン領域内で指が回転する軌跡を描いた例を示す図である。
【図６】図６は、候補を選択する場合の操作例を示す図である。
【図７】図７は、入力済みのテキストに文字列を追加する場合の操作例を示す図である。
【図８】図８は、入力済みのテキストの一部を編集する場合の操作例を示す図である。
【図９】図９は、携帯電話端末の機能の概略構成を示すブロック図である。
【図１０】図１０は、仮想キーボードデータの一例を示す図である。
【図１１】図１１は、携帯電話端末による文字入力処理の処理手順を示すフロー図である。
【図１２】図１２は、特定動作検出処理の処理手順を示すフロー図である。
【図１３】図１３は、特定の動作を検出する領域を示す図である。
【図１４】図１４は、予測変換における単語の区切り位置を変更する場合の操作例を示す図である。
【図１５】図１５は、入力済みのテキストの一部を再変換する場合の操作例を示す図である。
【図１６】図１６は、特定の動作によって指定した範囲に関する処理を選択するためのメニューの一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、文字入力装置として携帯電話端末を例として説明するが、本発明の適用対象は携帯電話端末に限定されるものではなく、タッチパネルを備える各種装置、例えば、ＰＨＳ（Personal  Handyphone  System）、ＰＤＡ、ポータブルナビゲーション装置、パーソナルコンピュータ、ゲーム機等に対しても本発明は適用できる。
【００２０】
（実施形態）
図１は、本発明の文字入力装置の一実施形態である携帯電話端末１の外観を示す正面図である。携帯電話端末１は、タッチパネル２と、ボタン３Ａ、ボタン３Ｂおよびボタン３Ｃからなる入力部３を備える。タッチパネル２は、文字、図形、画像等を表示するとともに、指、スタイラス、ペン等（以下、単に「指」という）を用いてタッチパネル２に対して行われる各種動作を検出する。入力部３は、いずれかのボタンが押下された場合に、押下されたボタンに対応する機能を起動させる。
【００２１】
携帯電話端末１は、利用者から文字の入力を受け付ける場合に、図２に示すように、タッチパネル２上に入力文字列候補表示領域１４とテキスト表示領域１５とを設けるとともに、仮想キーボード４を表示させる。入力文字列候補表示領域１４は、仮想キーボード４を用いて入力された文字を含む単語等が、利用者が入力しようとしている文字列の候補として表示される領域である。テキスト表示領域１５は、入力が確定した文字からなるテキストが表示される領域である。
【００２２】
仮想キーボード４は、物理的なキーボードのキーを模した複数の仮想的なボタンを含む。例えば、利用者が仮想キーボード４内の「Ｑ」のボタンに指を置いて（接触して）離す動作をすると、その動作がタッチパネル２によって検出され、携帯電話端末１は、「Ｑ」という文字を入力として受け付ける。なお、図２では、仮想キーボード４上に各アルファベットに対応するボタンがＱＷＥＲＹ配列で配置されているが、ボタンの配置は任意でよい。
【００２３】
携帯電話端末１は、さらに、仮想キーボード４上での連続方式による文字の入力を受け付ける。連続方式とは、利用者が指をタッチパネル２に接触させたまま仮想キーボード４上を移動させることによって複数の文字を連続して入力することを可能にする方式である。連続方式では、利用者は、例えば、指をタッチパネル２に接触させたままで、「Ｗ」のボタン、「Ｅ」のボタン、「Ｔ」のボタンの順に滑るように移動させることで「ＷＥＴ」という文字列を入力することができる。
【００２４】
このように、連続方式では、ボタン毎に指を上げ下げする動作を行わずに、タッチパネル２上で指を滑るように移動させるだけで複数の文字を入力することができるため、非常に高速に文字を入力することができる。
【００２５】
ただし、連続方式では、利用者が指を移動させた軌跡上にある各ボタンについて、利用者がそのボタンに対応する文字を入力するために意図的に触れたのか、あるいは、利用者が他のボタン上へ指を移動させるために単にその上を通過させたに過ぎないのかを判定する必要がある。例えば、仮想キーボード４の配列がＱＷＥＲＴＹ配列であり、利用者が上記の「ＷＥＴ」という単語を入力したいものとする。この場合、利用者の指は「Ｅ」のボタンから「Ｔ」のボタンへ移動する際に、それらのボタンの間にある「Ｒ」のボタン上を通過することになる。このため、「Ｒ」のボタンについては意図的に触れたわけではないと判定できなかった場合には、利用者の意図に反して「ＷＥＲＴ」という文字列が入力として受け付けられてしまう。
【００２６】
そこで、携帯電話端末１は、利用者が指を移動させた軌跡上にあるボタンのうち、特定の動作（所定動作）がタッチパネル２によって検出された位置に表示されているボタンを、利用者が文字を入力するために意図的に触れたものであると判定する。具体的には、携帯電話端末１は、指の接触を開始する動作がタッチパネル２によって検出された場合、接触の開始が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。また、携帯電話端末１は、指の移動が終了しタッチパネル２から離れる動作がタッチパネル２によって検出された場合、接触の終了が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。
【００２７】
また、携帯電話端末１は、指がタッチパネル２に触れたまま移動方向を変更する動作がタッチパネル２によって検出された場合、移動方向の変更が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。具体的には、携帯電話端末１は、指がボタンに進入したときの移動方向と指がボタンから出るときの移動方向とを比較し、移動方向の角度差が閾値よりも大きければ、利用者が意図的にそのボタンに触れたと判定する。
【００２８】
これは、他のボタンへの移動中において、単に通過するに過ぎない場合、指はボタン上を一定方向へ移動し、図３に示すように進入時の移動方向（ベクトル）を示すＶ１と脱出時の移動方向を示すＶ２の角度差は小さくなると考えられるためである。また、図４に示すように進入時の移動方向を示すＶ３と脱出時の移動方向を示すＶ４の角度差の角度差が大きい場合、利用者が意図的にそのボタンに触れた後に他のボタンに触れるために移動方向を変更した可能性が高いためである。つまり、このボタンが目的ボタンの一つであったと判定できる。
【００２９】
また、携帯電話端末１は、図５に示すように、指がタッチパネル２に触れたままあるボタン領域内で回転する軌跡を描いて移動する動作がタッチパネル２によって検出された場合に、利用者が意図的にそのボタンに触れたと判定する。単に通過するに過ぎない場合に指がこのような軌跡を描いて移動することはないと考えられるためである。なお、回転する軌跡に限らずに、山型や波状等の特徴的な形状の軌跡が指によってボタン領域内で描かれた場合に、利用者が意図的にそのボタンに触れたと判定することとしてもよい。
【００３０】
このようにボタン領域内で特徴的な形状の軌跡を描く指の移動が検出された場合にそのボタンが意図的に触れられたと判定することにより、利用者は同じ文字を容易に連続して入力することが可能になる。例えば、「Ｗ」という文字を３回連続して入力したい場合、利用者は「Ｗ」のボタン領域内で円を３回描くように指を移動させればよい。ここで、例えば、ボタン領域内での指の移動ベクトルの角度の総計が３６０度を超える度に１回転とカウントすることにより、回転数をカウントすることができる。
【００３１】
また、携帯電話端末１は、指がタッチパネル２に触れたままあるボタン領域内に所定以上の期間留まった場合に、利用者が意図的にそのボタンに触れたと判定する。ここでいう所定以上の期間は、単に指がボタン領域を通過する場合に要する時間よりも十分に長い時間であり、例えば、０．５秒程度の期間でよい。
【００３２】
このように利用者が意図する位置を特定の動作の検出によって特定する技術は、図６から図８に示すように、候補を選択する場合や、入力済みのテキストを編集する場合にも利用される。なお、以下に示す例は、ローマ字入力によって日本語が入力される場合の例である。
【００３３】
図６は、候補を選択する場合の操作例を示す図である。ステップＳ１１では、「Ｅ」のボタン領域内に指が置かれた後、指がタッチパネル２に触れたまま、「Ｒ」、「Ｅ」、「Ｈ」、「Ｊ」、「Ｋ」の順にボタン領域を通過し、「Ｕ」のボタン領域に所定以上の期間留まっている。この場合、携帯電話端末１は、指が置かれた「Ｅ」のボタンと、進入方向と脱出方向の角度差が閾値よりも大きい「Ｒ」、「Ｅ」および「Ｋ」のボタンと、滞在期間が所定以上である「Ｕ」のボタンとが意図的に触れられたと判定する。
【００３４】
そして、携帯電話端末１は、これらのボタンに対応する文字を連結した「ＥＲＥＫＵ」をローマ字変換して得られる「えれく」をテキスト表示領域１５に表示する。この表示は、どのボタンが意図的に触れられたと判定したかを利用者に示すために行われ、「えれく」には、この文字列が未確定な文字列であることを表す下線が付される。このとき、テキスト表示領域１５では、新たに文字が追加される位置を示すカーソル（図中では黒塗りの三角形として表示）が、「えれく」の直前に表示される。また、改行位置を示す改行記号が、「えれく」の直後に表示される。
【００３５】
また、携帯電話端末１は、「えれく」を予測変換して得られた「エレクトーン」および「エレクトロニクス」という２つの文字列を入力文字列の候補として、入力文字列候補表示領域１４に表示する。予測変換とは、入力済みの文字との結びつきの強さや使用頻度等に基づいて、入力途中の文字から、利用者が入力しようとしている文字列を予測する技術である。
【００３６】
続いて、ステップＳ１２では、指がタッチパネル２に触れたまま、入力文字列候補表示領域１４内の「エレクトロニクス」の表示領域に入った後、進行方向を変更して表示領域の外部へ移動している。この場合、携帯電話端末１は、「エレクトロニクス」の表示領域への進入方向と脱出方向の角度差が閾値よりも大きいため、「エレクトロニクス」が選択されたと判定する。
【００３７】
そして、ステップＳ１３において、携帯電話端末１は、未確定な文字列であった「えれく」を消去して、選択された「エレクトロニクス」をカーソルの直後に表示させる。そして、携帯電話端末１は、新たに入力される文字が「エレクトロニクス」の後に追加されることを示すために、カーソルを「エレクトロニクス」の直後に移動させる。
【００３８】
このように、入力文字列候補表示領域１４に表示されている入力文字列の候補のいずれが選択されたかを特定の動作が検出された位置に基づいて判定することにより、利用者は、指をタッチパネル２に触れさせたままで、入力文字列をスムーズに選択することができる。
【００３９】
図７は、入力済みのテキストに文字列を追加する場合の操作例を示す図である。ステップＳ２１は、図６に示したような操作によって「エレクトロニクスの発達により」というテキストの入力が済んでいる場面を示している。この場面では、「エレクトロニクスの発達により」というテキストがテキスト表示領域１５に表示され、そのテキストの直後にカーソルおよび改行記号が表示されている。また、利用者の指は、タッチパネル２に触れたまま、仮想キーボード４内に置かれている。
【００４０】
ここで、利用者が、入力済の「エレクトロニクス」と「の」の間に、「産業」の文字列を追加する編集を行いたいものとする。この場合、利用者は、ステップＳ２２として、指をタッチパネル２に触れさせたままで、テキスト表示領域１５に表示されている「エレクトロニクス」と「の」の間に移動させた後、進行方向を変更して仮想キーボード４内へ戻す。
【００４１】
すると、携帯電話端末１は、「エレクトロニクス」と「の」間の空間への進入方向と脱出方向の角度差が閾値よりも大きいため、「エレクトロニクス」と「の」の間が選択されたと判定する。そして、携帯電話端末１は、ステップＳ２３として、選択された位置が新たに入力される文字の挿入位置となったことを示すために、カーソルを、「エレクトロニクス」と「の」間へ移動させる。
【００４２】
続いて、利用者は、ステップＳ２４として、上述した連続方式により「さんぎ（ＳＡＮＧＩ）」と入力する。すると、携帯電話端末１は、「さんぎ」を、未確定であることを示す下線を付して、テキスト表示領域１５内のカーソルの直後に挿入して表示する。また、携帯電話端末１は、「さんぎ」を予測変換して得られた「産業」および「三行」という２つの文字列を入力文字列の候補として、入力文字列候補表示領域１４に表示する。
【００４３】
続いて、利用者は、ステップＳ２５として、指をタッチパネル２に触れさせたままで、入力文字列候補表示領域１４内の「産業」の表示領域内へ移動させた後、進行方向を変更して表示領域の外部へ移動させている。すると、携帯電話端末１は、「産業」の表示領域への進入方向と脱出方向の角度差が閾値よりも大きいため、「産業」が選択されたと判定する。
【００４４】
そして、ステップＳ２６において、携帯電話端末１は、未確定な文字列であった「さんぎ」を消去して、選択された「産業」をカーソルの直後に表示させる。そして、携帯電話端末１は、新たに入力される文字が「産業」の後に追加されることを示すために、カーソルを「産業」の直後に移動させる。
【００４５】
このように、テキスト表示領域１５に表示されている入力済みのテキストに文字列を挿入する位置を特定の動作が検出された位置に基づいて特定することにより、利用者は、指をタッチパネル２に触れさせたままで、挿入位置をスムーズに指定することができる。
【００４６】
図８は、入力済みのテキストの一部を編集する場合の操作例を示す図である。ステップＳ３１は、図６に示したような操作によって「エレクトロニクス三行の発達により」というテキストの入力が済んでいる場面を示している。この場面では、「エレクトロニクス三行の発達により」というテキストがテキスト表示領域１５に表示され、そのテキストの直後にカーソルおよび改行記号が表示されている。また、利用者の指は、タッチパネル２に触れたまま、仮想キーボード４内に置かれている。
【００４７】
ここで、利用者が、入力済の「三行」を「産業」へ修正したいものとする。この場合、利用者は、ステップＳ３２として、指をタッチパネル２に触れさせたままで、テキスト表示領域１５に表示されている「エレクトロニクス」と「三行」の間に移動させた後、進行方向を変更して、指を「三行」と「の」の間まで移動させる。さらに、利用者は、進行方向を変更して仮想キーボード４内へ戻す。
【００４８】
すると、携帯電話端末１は、「エレクトロニクス」と「三行」間の空間への進入方向と脱出方向の角度差が閾値よりも大きく、また、「三行」と「の」間の空間への進入方向と脱出方向の角度差が閾値よりも大きいため、「エレクトロニクス」と「三行」の間と、「三行」と「の」の間とが選択されたと判定する。このように２カ所が連続して選択された場合、携帯電話端末１は、その２カ所に挟まれる範囲を選択範囲として、他の部分と異なる態様で表示させるとともに、選択範囲の開始位置にカーソルを移動させる。図８の例では、携帯電話端末１は、ステップＳ３３として、「三行」の部分を選択範囲として反転表示させ、その部分の直前の位置にカーソルを移動させている。
【００４９】
続いて、利用者は、ステップＳ３４として、上述した連続方式により「さんぎ（ＳＡＮＧＩ）」と入力する。すると、携帯電話端末１は、選択範囲となっている「三行」に代えて、「さんぎ」を、未確定であることを示す下線を付して表示する。また、携帯電話端末１は、「さんぎ」を予測変換して得られた「産業」および「三行」という２つの文字列を入力文字列の候補として、入力文字列候補表示領域１４に表示する。
【００５０】
続いて、利用者は、ステップＳ３５として、指をタッチパネル２に触れさせたままで、入力文字列候補表示領域１４内の「産業」の表示領域内へ移動させた後、進行方向を変更して表示領域の外部へ移動させている。すると、携帯電話端末１は、「産業」の表示領域への進入方向と脱出方向の角度差が閾値よりも大きいため、「産業」が選択されたと判定する。
【００５１】
そして、ステップＳ３６において、携帯電話端末１は、未確定な文字列であった「さんぎ」を消去して、選択された「産業」をカーソルの直後に表示させる。そして、携帯電話端末１は、新たに入力される文字が「産業」の後に追加されることを示すために、カーソルを「産業」の直後に移動させる。
【００５２】
このように、テキスト表示領域１５に表示されている入力済みのテキストの置換範囲を特定の動作が検出された位置に基づいて特定することにより、利用者は、指をタッチパネル２に触れさせたままで、置換範囲をスムーズに指定することができる。
【００５３】
次に、携帯電話端末１の機能と制御部との関係を説明する。図９は、図１に示す携帯電話端末１の機能の概略構成を示すブロック図である。図９に示すように携帯電話端末１は、タッチパネル２と、入力部３と、電源部５と、通信部６と、スピーカ７と、マイク８と、記憶部９と、主制御部１０と、ＲＡＭ（Random  Access  Memory）１１とを有する。
【００５４】
タッチパネル２は、表示部２Ｂと、表示部２Ｂに重畳されたタッチセンサ２Ａとを有する。タッチセンサ２Ａは、指を用いてタッチパネル２に対して行われた各種動作を、動作が行われた場所のタッチパネル２上での位置とともに検出する。タッチセンサ２Ａによって検出される動作には、指をタッチパネル２の表面に接触させる動作や、指をタッチパネル２の表面に接触させたまま移動させる動作や、指をタッチパネル２の表面から離す動作が含まれる。なお、タッチセンサ２Ａは、感圧式、静電式等のいずれの検出方式を採用していてもよい。表示部２Ｂは、例えば、液晶ディスプレイ（ＬＣＤ、Liquid  Crystal  Display）や、有機ＥＬ（Organic  Electro−Luminescence）パネルなどで構成され、文字、図形、画像等を表示する。
【００５５】
入力部３は、物理的なボタン等を通じて利用者の操作を受け付け、受け付けた操作に対応する信号を主制御部１０へ送信する。電源部５は、蓄電池または外部電源から得られる電力を、主制御部１０を含む携帯電話端末１の各機能部へ供給する。通信部６は、基地局によって割り当てられるチャネルを介し、基地局との間でＣＤＭＡ方式などによる無線信号回線を確立し、基地局との間で電話通信及び情報通信を行う。スピーカ７は、電話通信における相手側の音声や着信音等を出力する。マイク８は、利用者等の音声を電気的な信号へ変換する。
【００５６】
記憶部９は、例えば、不揮発性メモリや磁気記憶装置であり、主制御部１０での処理に利用されるプログラムやデータを保存する。具体的には、記憶部９は、メールの送受信や閲覧のためのメールプログラム９Ａや、ＷＥＢページの閲覧のためのブラウザプログラム９Ｂや、上述した連続方式での文字入力処理と特定の動作による位置指定に基づく編集処理とを実行する文字入力プログラム９Ｃや、文字入力時にタッチパネル２に表示される仮想キーボードに関する定義を含む仮想キーボードデータ９Ｄや、正当な文字列が登録された辞書データ９Ｅを記憶する。記憶部９には、携帯電話端末１の基本的な機能を実現するオペレーティングシステムプログラムや、氏名、電話番号、メールアドレス等が登録されたアドレス帳データ等の他のプログラムやデータも記憶される。
【００５７】
主制御部１０は、例えば、ＣＰＵ（Central  Processing  Unit）であり、携帯電話端末１の動作を統括的に制御する。具体的には、主制御部１０は、記憶部９に記憶されているデータを必要に応じて参照しつつ、記憶部９に記憶されているプログラムを実行して、タッチパネル２、通信部６等を制御することによって各種処理を実行する。主制御部１０は、記憶部９に記憶されているプログラムや、処理を実行することによって取得／生成／加工されたデータを、一時的な記憶領域を提供するＲＡＭ１１に必要に応じて展開する。なお、主制御部１０が実行するプログラムや参照するデータは、通信部６による無線通信でサーバ装置からダウンロードすることとしてもよい。
【００５８】
ここで、記憶部９が記憶する仮想キーボードデータ９Ｄの一例を図１０に示す。図１０の例に示すように、仮想キーボードデータ９Ｄには、仮想キーボードに含まれるボタン毎に、ボタンに対応する文字、ボタンの位置（例えば、左上座標）、幅、高さ等が登録される。図１０に示す例では、あるボタンに対応する文字が「Ｑ」であり、そのボタンの左上座標がＸ＝１０、Ｙ＝１０であり、そのボタンの幅と高さが２０と４０であること等が登録されている。
【００５９】
次に、携帯電話端末１が文字の入力を受け付ける場合の動作について説明する。図１１は、携帯電話端末１による文字入力処理の処理手順を示すフロー図である。図１１に示す文字入力処理は、主制御部１０が記憶部９から文字入力プログラム９Ｃを読み出して実行することにより実現され、仮想キーボード４がタッチパネル２上に表示されている間、繰り返し実行される。なお、仮想キーボード４は、主制御部１０が文字入力プログラム９Ｃまたは他のプログラムを実行することにより、タッチパネル２上に表示される。
【００６０】
まず、主制御部１０は、ステップＳ４１として、検出フラグを０に設定する。検出フラグは、上述した特定の動作が検出された場合に１に設定されるフラグであり、ＲＡＭ１１に設けられる。続いて、主制御部１０は、ステップＳ４２として、特定動作検出処理を実行して、タッチパネル２にて特定の動作が検出されたかを判定する。特定動作検出処理の実行後も検出フラグが０のままの場合、すなわち、特定の動作が検出されない場合（ステップＳ４３，Ｎｏ）、主制御部１０は、ステップＳ４２に戻って、特定動作検出処理を再実行する。なお、特定動作検出処理の詳細については後述する。
【００６１】
特定動作検出処理の実行後に検出フラグが１へ変化していた場合、すなわち、特定の動作が検出された場合（ステップＳ４３，Ｙｅｓ）、主制御部１０は、ステップＳ４４として、特定の動作が検出された位置が仮想キーボード４内であるかを判定する。
【００６２】
特定の動作が検出された位置が仮想キーボード４内である場合（ステップＳ４４，Ｙｅｓ）、主制御部１０は、ステップＳ４５として、特定の動作が検出された位置に表示されているボタンに対応する文字を仮入力バッファに追加する。仮入力バッファは、仮想キーボードを用いて入力された文字が時系列に格納されるバッファである。仮入力バッファは、ＲＡＭ１１に設けられ、予め空に初期化される。
【００６３】
そして、主制御部１０は、ステップＳ４６として、仮入力バッファに格納されている文字を格納順に連結した文字列に基づいて予測変換処理を実行して、入力文字列の候補を取得する。ここで、予測変換処理は、例えば、仮入力バッファに格納されている文字を格納順に連結した文字列を、辞書データ９Ｅに登録されている文字列と照合することによって実現される。予測変換処理によって得られた入力文字列の候補（以下、「予測変換候補」という）のそれぞれは、入力文字列候補表示領域１４での表示位置を特定するための情報（例えば、表示領域の左上座標、幅および高さ）と対応づけて、ＲＡＭ１１に格納される。
【００６４】
続いて、主制御部１０は、ステップＳ４７として、選択開始フラグを０に設定する。選択開始フラグは、テキスト表示領域１５に表示されているテキストに選択範囲を設定するための操作を検出するために用いられるフラグであり、ＲＡＭ１１に設けられる。
【００６５】
選択開始フラグは、予め０に初期設定され、テキスト表示領域１５内において特定の動作が検出された場合に１に設定される。そして、選択開始フラグが１に設定されている間に再びテキスト表示領域１５内において特定の動作が検出された場合に、２つの特定の動作が検出された位置に挟まれた範囲が選択範囲として設定される。一方、選択開始フラグが１に設定されている間にテキスト表示領域１５以外で特定の動作が検出された場合、選択開始フラグは０に戻される。このように、選択範囲は、テキスト表示領域１５内において特定の動作が２回連続して検出された場合に設定される。
【００６６】
ここで、主制御部１０は、ステップＳ４８として、テキスト表示領域１５に表示されているテキストに選択範囲が設定されているかを判定する。そして、選択範囲が設定されている場合（ステップＳ４８，Ｙｅｓ）、図８で示したように選択範囲は置換対象であるため、主制御部１０は、ステップＳ４９として、確定入力バッファから選択範囲に対応する文字を削除する。
【００６７】
確定入力バッファは、連続方式等で入力された文字列からなるテキストが格納されるバッファであり、ＲＡＭ１１に設けられる。確定入力バッファに格納されているテキストは、主制御部１０の制御によってテキスト表示領域１５に表示される。確定入力バッファに格納されているテキストを構成する各文字がテキスト表示領域１５内で表示される位置は、予め設定されている書体の種類と大きさ、行間の高さ、禁則処理規則等に基づいて算出される。
【００６８】
ＲＡＭ１１には、確定入力バッファに関連する情報として、カーソルの位置を特定するための情報が格納される。カーソルの位置を特定するための情報は、連続方式等で新たに入力された文字列を確定入力バッファに格納されているテキストのどこに挿入するかを決定するために用いられる。カーソルの位置を特定するための情報は、確定入力バッファに格納されているテキストの末尾に文字列が追加されるように予め初期設定される。
【００６９】
また、ＲＡＭ１１には、確定入力バッファに関連する情報として、選択範囲を特定するための情報が格納される。選択範囲を特定するための情報は、確定入力バッファに格納されているテキストのどこからどこまでを選択範囲として扱うかを決定するために用いられる。選択範囲を特定するための情報は、確定入力バッファに格納されているテキストのどの部分も選択範囲として扱われないように予め初期設定される。
【００７０】
そして、主制御部１０は、ステップＳ６３として、タッチパネル２の表示内容を更新して文字入力処理を完了させる。具体的には、主制御部１０は、ＲＡＭ１１に格納されている予測変換候補を、表示位置を特定するための情報に従って入力文字列候補表示領域１４に表示する。また、主制御部１０は、確定入力バッファに格納されているテキストに含まれる各文字を、上述したように、書体の種類と大きさ、行間の高さ、禁則処理規則等に基づいて表示位置を算出しながらテキスト表示領域１５に表示する。このとき、主制御部１０は、仮入力バッファに格納されている文字を格納順に連結した文字列を、カーソルの位置を特定するための情報が示す位置に挿入して、下線を付して表示する。なお、ローマ字変換が有効な場合は、仮入力バッファに格納されている文字を格納順に連結した文字列に代えて、その文字列をローマ字変換した文字列が挿入される。
【００７１】
また、選択範囲を特定するための情報が、確定入力バッファに格納されているテキストのうち選択範囲として扱う部分があることを示している場合、主制御部１０は、当該部分に対応する文字を反転表示する等して他の部分と異なる態様で表示させる。また、主制御部１０は、カーソルの位置を特定するための情報に従ってカーソルを表示し、確定入力バッファに格納されているテキストの改行位置に改行記号を表示する。
【００７２】
特定動作検出処理において特定の動作が検出された位置が仮想キーボード４内でない場合（ステップＳ４４，Ｎｏ）、主制御部１０は、ステップＳ５０として、特定の動作が検出された位置がテキスト表示領域１５内であるかを判定する。特定の動作が検出された位置がテキスト表示領域１５である場合（ステップＳ５０，Ｙｅｓ）、主制御部１０は、ステップＳ５１として、選択開始フラグが０であるか否かを判定する。
【００７３】
選択開始フラグが０である場合（ステップＳ５１，Ｙｅｓ）、主制御部１０は、ステップＳ５２として、特定の動作が検出された位置へカーソルが移動するように、カーソルの位置を特定するための情報を更新する。例えば、確定入力バッファに格納されているテキストの５番目の文字の表示位置と６番目の文字の表示位置の間で特定の動作が検出された場合、カーソルの位置を特定するための情報は、５番目の文字の表示位置と６番目の文字の表示位置の間にカーソルが表示されるように更新される。
【００７４】
続いて、主制御部１０は、ステップＳ５３として、選択開始フラグを１に設定する。そして、主制御部１０は、選択範囲が設定された場合に未確定な文字列が残っていると処理が煩雑になるため、ステップＳ５４として、仮入力バッファをクリアし、ステップＳ５５として、予測変換候補を削除する。また、主制御部１０は、ステップＳ５６として、選択範囲が既に設定されていれば、選択範囲が解除されるように選択範囲を特定するための情報を更新する。
【００７５】
そして、主制御部１０は、ステップＳ６３として、上述したようにしてタッチパネル２の表示内容を更新し、文字入力処理を完了させる。
【００７６】
一方、選択開始フラグが０でない場合、すなわち、選択範囲の始点となる位置にカーソルが設定されている場合（ステップＳ５１，Ｎｏ）、主制御部１０は、ステップＳ５７として、カーソルの位置から特定の動作が今回検出された位置までが選択範囲となるように、選択範囲を特定するための情報を更新する。そして、主制御部１０は、ステップＳ５８として、選択開始フラグを０に戻す。なお、ここで、始点となる位置を再設定することなく選択範囲を再設定することができるように、選択開始フラグを０に戻さずに、１のままにしておくこととしてもよい。
【００７７】
そして、主制御部１０は、ステップＳ６３として、上述したようにしてタッチパネル２の表示内容を更新し、文字入力処理を完了させる。
【００７８】
特定動作検出処理において特定の動作が検出された位置が仮想キーボード４内でもテキスト表示領域１５内でもない場合、すなわち、特定の動作が検出された位置が入力文字列候補表示領域１４である場合（ステップＳ５０，Ｎｏ）、主制御部１０は、ステップＳ５９として、特定の動作が検出された位置に表示されている予測変換候補を確定入力バッファに挿入する。ここで、特定の動作が検出された位置に表示されている予測変換候補は、自らが入力しようとしている文字として利用者によって選択された文字列である。特定の動作が検出された位置に表示されている予測変換候補は、カーソルの位置を特定するための情報が示す位置の直前に挿入され、カーソルの位置を特定するための情報は、挿入された予測変換候補の直後に表示されるように更新される。
【００７９】
続いて、主制御部１０は、ステップＳ６０として、選択開始フラグを０に設定する。そして、主制御部１０は、未確定な文字列が確定されたため、ステップＳ６１として、仮入力バッファをクリアし、ステップＳ６２として、予測変換候補を削除する。そして、主制御部１０は、ステップＳ６３として、上述したようにしてタッチパネル２の表示内容を更新し、文字入力処理を完了させる。
【００８０】
次に、図１１のステップＳ４２で実行される特定動作検出処理の詳細について、図１２を参照しながら説明する。図１２は、特定動作検出処理の処理手順を示すフロー図である。図１２に示すように、主制御部１０は、まず、ステップＳ７１として、タッチパネル２の検出結果を取得する。
【００８１】
検出された動作がタッチパネル２への接触を開始する動作であった場合（ステップＳ７２，Ｙｅｓ）、主制御部１０は、ステップＳ７３として、接触が開始された位置がいずれかの領域内であったかを判定する。
【００８２】
ここで、図１２に示す処理手順における「領域」について、図１３を参照しながら説明する。図１２に示す処理手順における「領域」には、仮想キーボード４内のボタンの表示領域と、入力文字列候補表示領域１４内の予測変換候補の表示領域と、テキスト表示領域１５内のカーソル設定可能領域とが含まれる。
【００８３】
仮想キーボード４内のボタンの表示領域は、例えば、図１３に示す「Ｑ」のボタンの表示領域や、「Ｗ」のボタンの表示領域である。仮想キーボード４内の各ボタンの表示領域の位置と大きさは、仮想キーボードデータ９Ｄに設定されている。
【００８４】
入力文字列候補表示領域１４内の予測変換候補の表示領域は、例えば、図１３に示す「産業」という文字列の表示領域や、「三行」という文字列の表示領域である。入力文字列候補表示領域１４内の各予測変換候補の表示領域の位置と大きさは、表示位置を特定するための情報から求めることができる。表示位置を特定するための情報は、上述したように、予測変換候補と対応付けてＲＡＭ１１に格納されている。
【００８５】
テキスト表示領域１５内のカーソル設定可能領域は、カーソルが設定される可能性のある位置の近傍に設定される不可視な領域であり、具体的には、テキスト表示領域１５に表示されるテキストの先頭および改行部分と、テキストに前後して含まれる文字の表示位置間に設定される。テキスト表示領域１５内のカーソル設定可能領域は、例えば、図１３に示すテキスト表示領域１５内に点線で示した矩形領域に相当する。テキスト表示領域１５内のカーソル設定可能領域の位置と大きさは、テキストに含まれる文字の表示位置を算出するための基準である書体の種類と大きさ、行間の高さ、禁則処理規則等に基づいて求めることができる。なお、テキスト表示領域１５内のカーソル設定可能領域は、互いに重複内程度に広いことが好ましい。
【００８６】
図１２の説明に戻って、接触が開始された位置がいずれかの領域内であった場合（ステップＳ７３，Ｙｅｓ）、その領域は意図して触れられたと考えられるので、主制御部１０は、ステップＳ７４として、検出フラグを１に設定し、ステップＳ７５として、出力フラグを１に設定して、特定動作検出処理を完了させる。
【００８７】
出力フラグは、ＲＡＭ１１に設けられ、指が現在接触している領域において特定の動作を検出済みであるか否かを判定するために用いられる。出力フラグの値が０であることは、指が現在接触している領域において特定の動作がまだ検出されていないことを示す。出力フラグの値が１であることは、指が現在接触している領域において特定の動作が検出済みであることを示す。
【００８８】
ステップＳ７３において、接触が開始された位置がいずれかの領域内でなかった場合（ステップＳ７３，Ｎｏ）、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【００８９】
ステップＳ７２において、タッチパネル２で検出された動作がタッチパネル２への接触を開始する動作でなかった場合（ステップＳ７２，Ｎｏ）、主制御部１０は、ステップＳ７６として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を領域内に進入させる動作であったかを、タッチパネル２の検出結果に基づいて判定する。検出された動作がタッチパネル２への接触を保ったまま指を領域内に進入させる動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを各領域の位置および大きさと照合することによって判定される。
【００９０】
検出された動作がタッチパネル２への接触を保ったまま指を領域内に進入させる動作であった場合（ステップＳ７６，Ｙｅｓ）、主制御部１０は、ステップＳ７７として、移動方向履歴をクリアする。移動方向履歴は、領域内で指がどの方向へ移動したかを示す方向ベクトルが時系列に記録されるデータであり、ＲＡＭ１１に記憶される。
【００９１】
続いて、主制御部１０は、ステップＳ７８として、指が領域内に進入した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部１０は、ステップＳ７９として、出力フラグを０に設定して特定動作検出処理を完了させる。
【００９２】
なお、タッチパネル２の検出結果に指の移動方向を示す情報が含まれている場合、方向ベクトルは、タッチパネル２の検出結果から取得される。タッチパネル２の検出結果に指の移動方向を示す情報が含まれていない場合、方向ベクトルは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とから算出される。
【００９３】
ステップＳ７６において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を領域内に進入させる動作でなかった場合（ステップＳ７６，Ｎｏ）、主制御部１０は、ステップＳ８０として、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を領域の外へ出す動作であったかを、タッチパネル２の検出結果に基づいて判定する。検出された動作がタッチパネル２への接触を保ったまま指を領域の外へ出す動作であったか否かは、タッチパネル２の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを各領域の位置および大きさと照合することによって判定される。
【００９４】
検出された動作がタッチパネル２への接触を保ったまま指を領域の外へ出す動作であった場合（ステップＳ８０，Ｙｅｓ）、主制御部１０は、ステップＳ８１として、出力フラグが０であるかを判定する。ここで、出力フラグが０でなかった場合、すなわち、指がそれまで内部に位置していた領域で特定の動作を検出済みの場合（ステップＳ８１，Ｎｏ）、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【００９５】
一方、出力フラグが０であった場合（ステップＳ８１，Ｙｅｓ）、主制御部１０は、ステップＳ８２として、最新の移動ベクトル、すなわち、指が領域の外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指が領域に進入したときの方向と指が領域から脱出したときの方向の相違の大きさを表す。
【００９６】
算出された角度差が所定の閾値以下の場合（ステップＳ８３，Ｎｏ）、指は単に領域を通過したに過ぎないと考えられるため、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【００９７】
一方、算出された角度差が所定の閾値より大きい場合（ステップＳ８３，Ｙｅｓ）、領域は意図的に触れられたと考えられるため、主制御部１０は、ステップＳ８４として、検出フラグを１に設定して、特定動作検出処理を完了させる。
【００９８】
ステップＳ８０において、タッチパネル２で検出された動作がタッチパネル２への接触を保ったまま指を領域の外へ出す動作でなかった場合（ステップＳ８０，Ｎｏ）、主制御部１０は、ステップＳ８５として、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作、すなわち、指をタッチパネル２から離す動作であったかを、タッチパネル２の検出結果に基づいて判定する。
【００９９】
検出された動作がタッチパネル２への接触を終了させる動作であった場合（ステップＳ８５，Ｙｅｓ）、主制御部１０は、ステップＳ８６として、出力フラグが０であるかを判定する。ここで、出力フラグが０でなかった場合、すなわち、指がそれまで接触していた領域で特定の動作を検出済みの場合（ステップＳ８６，Ｎｏ）、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【０１００】
一方、出力フラグが０であった場合（ステップＳ８６，Ｙｅｓ）、主制御部１０は、ステップＳ８７として、接触が終了された位置がいずれかの領域内であったかを判定する。接触が終了された位置がいずれかの領域内であった場合（ステップＳ８７，Ｙｅｓ）、領域は意図して触れられたと考えられるため、主制御部１０は、ステップＳ８８として、検出フラグを１に設定して、特定動作検出処理を完了させる。
【０１０１】
接触が終了された位置がいずれかの領域内でなかった場合（ステップＳ８７，Ｎｏ）、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【０１０２】
ステップＳ８５において、タッチパネル２で検出された動作がタッチパネル２への接触を終了させる動作でなかった場合（ステップＳ８５，Ｎｏ）、主制御部１０は、ステップＳ８９として、タッチパネル２で検出された接触の位置がいずれかの領域内であったかを、タッチパネル２の検出結果に基づいて判定する。
【０１０３】
接触の位置がいずれかの領域内であった場合（ステップＳ８９，Ｙｅｓ）、主制御部１０は、ステップＳ９０として、指が領域内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部１０は、ステップＳ９１として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル２に触れたまま領域内で回転する軌跡を描いて移動したかを判定する。
【０１０４】
ここで、指がタッチパネル２に触れたまま領域内で回転する軌跡を描いて移動していた場合（ステップＳ９１，Ｙｅｓ）、領域は意図的に触れられたと考えられるため、主制御部１０は、ステップＳ９４として、検出フラグを１に設定する。そして、主制御部１０は、ステップＳ９５として、出力フラグを１に設定し、ステップＳ９６として、移動方向履歴をクリアして、特定動作検出処理を完了させる。
【０１０５】
ステップＳ９１において、指がタッチパネル２に触れたまま領域内で回転する軌跡を描いて移動していなかった場合（ステップＳ９１，Ｎｏ）、主制御部１０は、ステップＳ９２として、出力フラグが０であるかを判定する。ここで、出力フラグが０でなかった場合、すなわち、指が滞在している領域で特定の動作を検出済みの場合（ステップＳ９２，Ｎｏ）、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【０１０６】
一方、出力フラグが０であった場合（ステップＳ９２，Ｙｅｓ）、主制御部１０は、ステップＳ９３として、指が現在の領域に滞在している時間が所定以上であるかを判定する。ここで、滞在時間は移動方向履歴に含まれる方向ベクトルの数に基づいて求めてもよい。滞在時間が所定以上の場合（ステップＳ９３，Ｙｅｓ）、領域は意図して触れられたと考えられるため、主制御部１０は、ステップＳ９４として、検出フラグを１に設定する。そして、主制御部１０は、ステップＳ９５として、出力フラグを１に設定し、ステップＳ９６として、移動方向履歴をクリアして、特定動作検出処理を完了させる。
【０１０７】
滞在時間が所定以上でなかった場合（ステップＳ９３，Ｎｏ）、領域が意図して触れられたか不明であるため、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【０１０８】
ステップＳ８９において、接触の位置がいずれかの領域内でなかった場合（ステップＳ８９，Ｎｏ）、主制御部１０は、特に処理を行わずに特定動作検出処理を完了させる。
【０１０９】
上述してきたように、携帯電話端末１は、指をタッチパネル２から離すことなく、文字の入力や、文字の挿入位置の指定等を行うことができるように構成されているので、タッチパネル上で高速に文字を入力することを可能にする。
【０１１０】
なお、上記の実施形態で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施形態では、テキスト表示領域１５で検出された特定の動作に基づいて、文字列の挿入位置や置換範囲を判定することとしたが、テキスト表示領域１５で検出された特定の動作に基づいて、予測変換における単語の区切り位置を変更できるようにしてもよい。
【０１１１】
図１４は、予測変換における単語の区切り位置を変更する場合の操作例を示す図である。ステップＳ１０１は、利用者が、「エレクトロニクス産業の発達により、」というテキストの後に、「国際的」と入力しようとしている場面を示している。この場面では、利用者は、「こくさいてき（ＫＯＫＵＳＡＩＴＥＫＩ）」と入力したものの、単語の区切りが「こく」と「さいてき」の間にあると誤って解釈されたために、予測変換候補として「濃く最適」および「告最適」という不適切な文字が表示されている。日本語では、英語等と異なって単語間を区切る空白文字がないため、このように単語の区切り位置が誤って解釈される場合がある。
【０１１２】
この場合、利用者は、ステップＳ１０２として、指をタッチパネル２に触れさせたままで、テキスト表示領域１５に表示されている「こくさい」と「てき」の間に移動させた後、進行方向を変更する。
【０１１３】
すると、携帯電話端末１は、「こくさい」と「てき」間の空間への進入方向と脱出方向の角度差が閾値よりも大きいため、「こくさい」と「てき」の間が意図的に触れられたと判定する。このように、変換途中の未確定な文字列の表示領域で特定の動作が検出された場合、携帯電話端末１は、その動作が検出された位置が単語の区切り位置であるものとして、予測変換を実行し直す。
【０１１４】
その結果、ステップＳ１０３では、「国際的」という所望の文字列を含む予測変換候補が、入力文字列候補表示領域１４に表示されている。そして、ステップＳ１０４では、利用者は、指をタッチパネル２に触れさせたままで、入力文字列候補表示領域１４内の「国際的」の表示領域内へ移動させた後、進行方向を変更して表示領域の外部へ移動させている。すると、携帯電話端末１は、「国際的」の表示領域への進入方向と脱出方向の角度差が閾値よりも大きいため、「国際的」が選択されたと判定する。
【０１１５】
そして、ステップＳ１０５において、携帯電話端末１は、未確定な文字列であった「こくさいてき」を消去して、選択された「国際的」をカーソルの直後に表示させる。そして、携帯電話端末１は、新たに入力される文字が「国際的」の後に追加されることを示すために、カーソルを「国際的」の直後に移動させる。
【０１１６】
このように、単語の区切り位置を特定の動作が検出された位置に基づいて特定することにより、利用者は、指をタッチパネル２に触れさせたままで、区切り位置をスムーズに指定することができる。
【０１１７】
また、上記の実施形態では、テキスト表示領域１５で検出された特定の動作に基づいて、文字列の挿入位置や置換範囲を判定することとしたが、テキスト表示領域１５で検出された特定の動作に基づいて、再変換を行う範囲を指定できるようにしてもよい。
【０１１８】
図１５は、入力済みのテキストの一部を再変換する場合の操作例を示す図である。ステップＳ１１１は、図６に示したような操作によって「エレクトロニクス三行の発達により」というテキストの入力が済んでいる場面を示している。この場面では、「エレクトロニクス三行の発達により」というテキストがテキスト表示領域１５に表示され、そのテキストの直後にカーソルおよび改行記号が表示されている。また、利用者の指は、タッチパネル２に触れたまま、仮想キーボード４内に置かれている。
【０１１９】
ここで、利用者が、入力済の「三行」を「産業」へ再変換したいものとする。この場合、利用者は、ステップＳ１１２として、指をタッチパネル２に触れさせたままで、テキスト表示領域１５に表示されている「エレクトロニクス」と「三行」の間に移動させた後、進行方向を変更して、指を「三行」と「の」の間まで移動させる。
【０１２０】
すると、携帯電話端末１は、「エレクトロニクス」と「三行」間の空間への進入方向と脱出方向の角度差が閾値よりも大きいため、「エレクトロニクス」と「三行」の間が再変換範囲の始点として選択されたと判定する。そして、携帯電話端末１は、「エレクトロニクス」と「三行」の間が選択された後に指が通過した部分を、他の部分と異なる態様で表示させる。図１５の例では、携帯電話端末１は、「三行」の部分を反転表示させている。
【０１２１】
そして、利用者は、ステップＳ１１３として、指をタッチパネル２に触れさせたままで、進行方向を変更させる。すると、携帯電話端末１は、「三行」と「の」間の空間への進入方向と脱出方向の角度差が閾値よりも大きいため、「三行」と「の」の間が再変換範囲の終点として選択されたと判定する。
【０１２２】
こうして、再変換範囲の始点および終点が特定されると、携帯電話端末１は、再変換範囲である「三行」の変換前の文字列を取得する。ここで、変換前の文字列は、変換後の文字列を辞書データ９Ｅと照合して取得することとしてもよいし、予測変換の実行時に変換前の文字列と変換後の文字列とを対応付けて記憶部９等に記憶させておくこととし、その記憶させておいた情報に基づいて取得することとしてもよい。そして、携帯電話端末１は、変換前の文字列に基づいて予測変換を再実行する。
【０１２３】
そして、携帯電話端末１は、ステップＳ１１４において、再変換範囲である「三行」に代えて、変換前の文字列である「さんぎょう」を、未確定であることを示す下線を付して表示する。また、携帯電話端末１は、「さんぎょう」を予測変換して得られた「産業」および「三行」という２つの文字列を入力文字列の候補として、入力文字列候補表示領域１４に表示する。
【０１２４】
続いて、利用者は、ステップＳ１１５として、指をタッチパネル２に触れさせたままで、入力文字列候補表示領域１４内の「産業」の表示領域内へ移動させた後、進行方向を変更して表示領域の外部へ移動させている。すると、携帯電話端末１は、「産業」の表示領域への進入方向と脱出方向の角度差が閾値よりも大きいため、「産業」が選択されたと判定する。
【０１２５】
そして、ステップＳ１１６において、携帯電話端末１は、未確定な文字列であった「さんぎょう」を消去して、選択された「産業」をカーソルの直後に表示させる。そして、携帯電話端末１は、新たに入力される文字が「産業」の後に追加されることを示すために、カーソルを「産業」の直後に移動させる。
【０１２６】
このように、テキスト表示領域１５に表示されている入力済みのテキストの再変換範囲を特定の動作が検出された位置に基づいて特定することにより、利用者は、指をタッチパネル２に触れさせたままで、再変換範囲をスムーズに指定することができる。
【０１２７】
なお、特定の動作によって指定した範囲を置換範囲として扱うか、再変換範囲として扱うかを利用者が選択できるようにしてもよい。このような選択は、例えば、特定の動作によって範囲が指定された場合に、図１６に示すようなメニューをタッチパネル２に表示させることで実現することができる。すなわち、テキスト表示領域１５に表示されているテキストのうち「三行」の部分が特定の動作によって範囲指定された場合に、図１６に示すようにメニューを表示するように携帯電話端末１を構成する。そして、特定の動作によって「再変換」の項目が選択された場合には、図１５に示したような動作を行い、いずれの項目も選択されることなく仮想キーボード４を用いて新たに文字列が入力された場合には、図８に示したような動作を行うようにする。
【０１２８】
また、図１６に示すようなメニューを表示する場合、「削除」の項目が選択されると、範囲指定された部分を削除することとしてもよい。また、「切り取り」または「コピー」の項目が選択されると、範囲指定された部分を対象としてカット＆ペースト操作またはコピー＆ペースト動作を行うこととしてもよい。カット＆ペースト操作またはコピー＆ペースト動作によって選択範囲が挿入される位置は、メニューの項目の選択の後に特定の動作によって指定されることとしてもよい。
【０１２９】
また、上述した実施形態では、仮想キーボード４を用いて入力された文字列に基づいて予測変換処理を行うこととしたが、予測変換処理ではなく、仮名漢字変換または補正／補完処理を行うこととしてもよい。ここで、補正／補完処理とは、入力された文字列と類似する単語を辞書データ９Ｅと照合する等して取得し、入力された文字列が正しい単語となるように誤っている文字を補正したり、不足している文字を補完したりする処理である。
【０１３０】
また、上述した実施形態では、文字入力プログラム９Ｃが提供する画面に表示されるテキストを対象として文字列の挿入等を行うこととしたが、メールプログラム９Ａ等の他のプログラムが提供する画面に表示されるテキストを対象として文字列の挿入等を行うこととしてもよい。この場合、図１１および図１２に示した処理手順は、文字入力プログラム９Ｃが提供する機能と、他のプログラムが提供する機能との協業によって実現される。また、文字入力プログラム９Ｃは、複数のプログラムに分割されていてもよいし、他のプログラムと統合されていてもよい。
【産業上の利用可能性】
【０１３１】
以上のように、本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、文字の入力に有効であり、タッチパネルを用いて文字を高速に入力することが必要な場合に特に適している。
【符号の説明】
【０１３２】
１  携帯電話端末
２  タッチパネル
２Ａ  タッチセンサ
２Ｂ  表示部
３  入力部
３Ａ、３Ｂ、３Ｃ  ボタン
４  仮想キーボード
５  電源部
６  通信部
７  スピーカ
８  マイク
９  記憶部
９Ａ  メールプログラム
９Ｂ  ブラウザプログラム
９Ｃ  文字入力プログラム
９Ｄ  仮想キーボードデータ
９Ｅ  辞書データ
１０  主制御部
１１  ＲＡＭ
１４  入力文字列候補表示領域
１５  テキスト表示領域
【図１】
0005627372.tif 000002
【図２】
0005627372.tif 000003
【図３】
0005627372.tif 000004
【図４】
0005627372.tif 000005
【図５】
0005627372.tif 000006
【図６】
0005627372.tif 000007
【図７】
0005627372.tif 000008
【図８】
0005627372.tif 000009
【図９】
0005627372.tif 000010
【図１０】
0005627372.tif 000011
【図１１】
0005627372.tif 000012
【図１２】
0005627372.tif 000013
【図１３】
0005627372.tif 000014
【図１４】
0005627372.tif 000015
【図１５】
0005627372.tif 000016
【図１６】
0005627372.tif 000017