説明

文字入力装置、文字入力方法および文字入力プログラム

【課題】タッチパネル上で高速に文字を入力することを可能にする文字入力装置、文字入力方法および文字入力プログラムを提供する。
【解決手段】携帯電話端末(文字入力装置)1は、複数の接触を同時に検出可能なタッチパネル2と、タッチパネル2上に複数のボタンを表示させ、タッチパネル2上の接触位置が継続的に変位する第1接触動作が生じたことを判断する主制御部10とを有する。主制御部10は、複数のボタンのいずれか1つを表示する第1領域にて前記第1接触動作が生じていることが判定される状態で、当該第1領域とは異なる第2領域へのさらなる接触である第2接触動作の発生を検出すると、前記第1領域に表示される前記ボタンに対応する文字を入力として受け付ける。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字入力装置、文字入力方法および文字入力プログラムに関する。
【背景技術】
【0002】
近年、直感的な操作を可能にするとともに、キーボードのように物理的に大きな面積を必要とするデバイスを具備しない小型の文字入力装置を実現するために、タッチパネルが広く利用されるようになっている。タッチパネルを用いて文字を入力するための技術として、タッチパネル上で文字を手書き入力する技術(例えば、特許文献1)と、タッチパネル上に表示された仮想的なキーボード(以下、「仮想キーボード」という)を用いて文字を入力する技術(例えば、特許文献2)が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−141448号公報
【特許文献2】特開2008−108233号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、タッチパネル上で文字を手書き入力する従来技術には、入力と文字認識処理に時間がかかるため高速な文字入力が困難であるという問題があった。また、仮想キーボードを用いて文字を入力する従来技術でも、入力したい文字に対応するキーごとに指をタッチパネルに対して上げ下げする動作を繰り返す必要があったため、高速な文字入力が困難であった。
【0005】
本発明は、上記に鑑みてなされたものであって、タッチパネル上で高速に文字を入力することを可能にする文字入力装置、文字入力方法および文字入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、複数の接触を同時に検出可能なタッチパネルと、前記タッチパネル上に複数のボタンを表示させ、前記タッチパネル上の接触位置が継続的に変位する第1接触動作が生じたことを判断する制御部と、を備え、前記制御部は、前記複数のボタンのいずれか1つを表示する第1領域にて前記第1接触動作が生じていることが判定される状態で、当該第1領域とは異なる第2領域へのさらなる接触である第2接触動作の発生を検出すると、前記第1領域に表示される前記ボタンに対応する文字を入力として受け付けることを特徴とする。
【0007】
ここで、前記制御部は、前記第1接触動作の接触位置の近傍に、当該接触位置に対応するボタンの文字を付加表示させ、前記第2接触動作として、前記付加表示への接触を検出することが好ましい。
【0008】
また、前記制御部は、前記付加表示を、前記第1接触動作で検出した接触位置と等間隔となる位置に表示させることが好ましい。
【0009】
また前記制御部は、前記第1接触動作によって接触が検出された各接触位置を結ぶ軌跡上に表示されるボタンに対応する文字のうち、前記第1接触動作で特定の動作が検出された位置に表示されているボタンに対応する文字を入力としてさらに受け付けることが好ましい。
【0010】
また、前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として接触の開始が検出された位置に表示されているボタンに対応する文字を入力として受け付けることが好ましい。
【0011】
また、前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として接触の終了が検出された位置に表示されているボタンに対応する文字を入力として受け付けることが好ましい。
【0012】
また、前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として移動方向の変化が検出された位置に表示されているボタンに対応する文字を入力として受け付けることが好ましい。
【0013】
また、前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として特定の形状の軌跡を描く移動が検出された位置に表示されているボタンに対応する文字を入力として受け付けることが好ましい。
【0014】
また、前記制御部は、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタンに対応する文字、及び、前記特定の動作が検出された位置に表示されているボタンに対応する文字を組み合わせた文字列が正当な文字列でないと判定される場合に、前記軌跡上に表示されるボタンに対応する文字のうち、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタン以外、および前記特定の動作が検出されたボタン以外のボタンに対応する文字のいずれかを補完した文字列を入力として受け付けることが好ましい。
【0015】
また、前記制御部は、前記特定の動作が検出された位置に表示されるボタンに対応する文字を組み合わせた文字列を辞書と比較し、一致する文字列が検索された場合に検索された文字列を入力として受け付けることが好ましい。
【0016】
また、前記制御部は、第1接触動作による接触が生じたボタンに対応する文字のそれぞれに対して重み付け情報を対応付け、重み付け情報が大きい値が対応付けられた文字の優先度を高くして入力文字列を特定することが好ましい。
【0017】
また、前記制御部は、前記第2接触動作が検出されたときに前記第1接触動作による接触が生じた対応する文字に、前記第2接触動作が検出されずに前記第1接触動作による接触が生じたボタンに対応する文字よりも大きい重み付け情報を対応付けることが好ましい。
【0018】
また、上述した課題を解決し、目的を達成するために、本発明は、複数の接触を同時に検出可能なタッチパネルを有する文字入力装置によって実行される文字入力方法であって、前記文字入力装置の制御部が、前記タッチパネル上に複数のボタンを表示させるステップと、前記タッチパネルが、接触位置が継続的に変位する第1接触動作、及び、前記複数のボタンのいずれか1つを表示する第1領域にて前記第1接触動作が生じていることが判定される状態で、当該第1領域とは異なる第2領域へのさらなる接触である第2接触動作の発生を検出するステップと、前記文字入力装置の制御部が、前記第1領域に表示される前記ボタンに対応する文字を入力として受け付けるステップと、を含むことを特徴とする。
【0019】
また、上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、複数の接触を同時に検出可能なタッチパネルを有する文字入力装置に、前記タッチパネル上に複数のボタンを表示させるステップと、前記タッチパネルの上の接触位置が継続的に変位する第1接触動作が前記タッチパネルで検出された場合に、前記複数のボタンのいずれか1つを表示する第1領域にて前記第1接触動作が生じていることが判定される状態で、当該第1領域とは異なる第2領域へのさらなる接触である第2接触動作の発生を検出すると、前記第1領域に表示される前記ボタンに対応する文字を入力として受け付けるステップと、を実行させることを特徴とする。
【発明の効果】
【0020】
本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、タッチパネル上で高速に文字を入力することを可能にするという効果を奏する。
【図面の簡単な説明】
【0021】
【図1】図1は、携帯電話端末の外観を示す正面図である。
【図2】図2は、タッチパネル上に表示される仮想キーボードを示す図である。
【図3】図3は、文字入力の操作例を示す図である。
【図4】図4は、タッチパネル上に表示される仮想キーボードを示す図である。
【図5】図5は、ボタン領域内を指が通過した例を示す図である。
【図6】図6は、ボタン領域内で指の移動方向が変化した例を示す図である。
【図7】図7は、ボタン領域内で指が回転する軌跡を描いた例を示す図である。
【図8】図8は、文字入力の操作例を示す図である。
【図9】図9は、携帯電話端末の機能の概略構成を示すブロック図である。
【図10】図10は、仮想キーボードデータの一例を示す図である。
【図11】図11は、携帯電話端末による文字入力処理の処理手順を示すフロー図である。
【図12】図12は、入力文字バッファの一例を示す図である。
【図13】図13は、一時バッファの一例を示す図である。
【図14】図14は、タッチパネル上に表示される入力文字列候補表示領域を示す図である。
【図15】図15は、文字入力判定処理の処理手順を示すフロー図である。
【図16−1】図16−1は、文字入力判定処理の処理手順を示すフロー図である。
【図16−2】図16−2は、文字入力判定処理の処理手順を示すフロー図である。
【図17】図17は、文字列検索処理の処理手順を示すフロー図である。
【図18】図18は、優先度を細分化した場合の一時バッファの一例を示す図である。
【図19】図19は、タップエリアの設定処理の例を示す図である。
【図20】図20は、携帯電話端末によるタップエリア設定処理の処理手順を示すフロー図である。
【発明を実施するための形態】
【0022】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、文字入力装置として携帯電話端末を例として説明するが、本発明の適用対象は携帯電話端末に限定されるものではなく、タッチパネルを備える各種装置、例えば、PHS(Personal Handyphone System)、PDA、ポータブルナビゲーション装置、パーソナルコンピュータ、ゲーム機等に対しても本発明は適用できる。
【実施例】
【0023】
図1は、本発明の文字入力装置の一実施形態である携帯電話端末1の外観を示す正面図である。携帯電話端末1は、タッチパネル2と、ボタン3A、ボタン3Bおよびボタン3Cからなる入力部3を備える。タッチパネル2は、文字、図形、画像等を表示するとともに、指、スタイラス、ペン等(以下、単に「指」という)を用いてタッチパネル2に対して行われる各種動作を検出する。なお、タッチパネル2は、複数点への入力を検出することができる、いわゆるマルチタッチパネルである。入力部3は、いずれかのボタンが押下された場合に、押下されたボタンに対応する機能を起動させる。
【0024】
携帯電話端末1は、利用者から文字の入力を受け付けるために、図2に示すように、タッチパネル2上に仮想キーボード4を表示させる。仮想キーボード4は、物理的なキーボードのキーを模した複数の仮想的なボタンを含む。例えば、利用者が仮想キーボード4内の「あ」のボタンに指を置いて(接触して)離す動作をすると、その動作がタッチパネル2によって検出され、携帯電話端末1は、「あ」という文字を入力として受け付ける。また、携帯電話端末1は、利用者から文字の入力を受け付けるために、仮想付加キーボード5,6を表示させている。仮想付加キーボード42,44は、仮想キーボード4に表示していない各種キーを模した複数の仮想的なボタンを含む。仮想付加キーボード42,44は、仮名文字以外の各種キーが含まれている。具体的には、仮想付加キーボード42には、「゛」、「゜」、「。」、「、」等が含まれている。また、仮想付加キーボード44には、「←」、「↑」、「↓」、「→」等が含まれている。
【0025】
携帯電話端末1は、さらに、仮想キーボード4上での連続方式による文字の入力を受け付ける。連続方式とは、利用者が指をタッチパネル2に接触させたまま仮想キーボード4上を移動させることによって複数の文字を連続して入力することを可能にする方式である。連続方式では、利用者は、例えば、指をタッチパネル2に接触させたままで、「か」のボタン、「た」のボタン、「ま」のボタンの順に滑るように移動させることで「あかたま」という文字列を入力することができる。
【0026】
このように、連続方式では、ボタン毎に指を上げ下げする動作を行わずに、タッチパネル2上で指を滑るように移動させるだけで複数の文字を入力することができるため、非常に高速に文字を入力することができる。
【0027】
ただし、連続方式では、利用者が指を移動させた軌跡上にある各ボタンについて、利用者がそのボタンに対応する文字を入力するために意図的に触れたのか、あるいは、利用者が他のボタン上へ指を移動させるために単にその上を通過させたに過ぎないのかを判定する必要がある。例えば、仮想キーボード4の配列があいうえおキーボードの配列(50音ひらがなの配列、縦に「あいうえお」が配置され横に「あかさたな」が配置された配列)であり、利用者が上記の「あかたま」という単語を入力したいものとする。この場合、利用者の指は「あ」のボタンから「ま」のボタンへ移動する際に、それらのボタンの間にある「か」「さ」「た」「な」「は」のボタン上を通過することになる。このため、「さ」「た」「な」「は」のボタンについては意図的に触れたわけではないと判定できなかった場合には、利用者の意図に反して「あかさたなはま」という文字列が入力として受け付けられてしまう。
【0028】
そこで、携帯電話端末1は、指が接触しているボタンに対応して、タッチパネル2上にタップエリアを表示させる。具体的には、指が接触しているボタンに対応する文字をタップエリアに表示させる。また、携帯電話端末1は、利用者が指を移動させた軌跡上にあるボタンのうち、タップエリアへのタッチ(タップ)がタッチパネル2によって検出された位置に表示されているボタンを、利用者が文字を入力するために意図的に触れたものであると判定する。具体的には、携帯電話端末1は、指の接触位置の移動が行われている間に、タップエリアへのタッチがタッチパネル2によって検出された場合、指の接触位置にあるボタンが意図的に触られたと判定する。なお、本実施例においてタップエリアは、利用者が指でタッチしている位置に対応した領域である。そのため、指でタッチしている位置が移動するとタップエリアも移動する。なお、タップエリアの表示位置は、設定等により予め設定することができる。
【0029】
また、携帯電話端末1は、指の接触を開始する動作がタッチパネル2によって検出された場合、接触の開始が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。また、携帯電話端末1は、指の移動が終了しタッチパネル2から離れる動作がタッチパネル2によって検出された場合、接触の終了が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。
【0030】
利用者が携帯電話端末1に「あかたま」と入力する場合の操作例を図3に示す。なお、図3に示す例では、仮想付加キーボード42,44の表示を省略する。s211では、「あ」のボタン領域内に指が置かれ、指がタッチパネル2に触れている。この場合、携帯電話端末1は、指が置かれた「あ」のボタンが意図的に触れられたと判断する。
【0031】
s212では、指がタッチパネル2に触れたまま、「あ」のボタンの上から「か」のボタンの上に移動している。この場合、携帯電話端末1は、指がタッチしている「か」のボタンに対応するタップエリア48aに「か」の画像49aを表示する。
【0032】
s213では、指がタッチパネル2の「か」のボタンに触れたまま、さらに、別の指がタップエリア48aに触れられている。この場合、携帯電話端末1は、タップエリア48aへの接触を検出し、「か」のボタンが意図的に触れられたと判断する。
【0033】
s214では、指がタッチパネル2に触れたまま、「か」のボタンの上から「さ」のボタンの上に移動している。この場合、携帯電話端末1は、指がタッチしている「さ」のボタンに対応するタップエリア8bに「さ」の画像49bを表示する。携帯電話端末1は、指がタッチパネル2に触れたまま、「さ」のボタンを通過する際に、タップエリア8bへの接触が検出されない場合、「さ」のボタンが意図的に触れられていないと判断する。
【0034】
s215では、指がタッチパネル2に触れたまま、「さ」のボタンの上から「ま」のボタンの上に移動している。この場合、携帯電話端末1は、指がタッチしている「ま」のボタンに対応するタップエリア48cに「ま」の画像49cを表示する。なお、この場合、指が「た」のボタンの通過時に、別の指がタップエリアに接触する。これにより、携帯電話端末1は、「た」のボタンが意図的に触れられたと判定する。
【0035】
また、s215では、別の指がタップエリア48cに触れられている。この場合、携帯電話端末1は、タップエリア48cへの接触を検出し、「ま」のボタンが意図的に触れられたと判断する。
【0036】
以上の操作により、携帯電話端末1は、「あ」、「か」、「た」、「ま」の順にボタンが意図的に触れられたと判定し、これらのボタンに対応する文字を時系列に連結した「あかたま」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
【0037】
図3の例が示すように、携帯電話端末1は、利用者の指がタッチパネル2に触れたまま移動した軌跡上の各ボタンについて、意図して触れられたのか、単にその上を通過したに過ぎないのかを、他の指により入力されるタップ動作に基づいて精度よく判定して文字の入力を受け付ける。つまり、携帯電話端末、触れたまま移動している接触を検出している領域(第1領域)とは異なる領域(第2領域)への接触(タップ動作)を検出したら、その際に、触れたまま移動している接触を検出している領域にあるボタンに対応する文字を入力された文字として受け付ける。これにより、指がタッチパネル2に触れたまま移動している場合でも、精度よく判定して文字の入力を受け付けることができる。このため、利用者は、携帯電話端末1に対して文字を高速かつ正確に入力することができる。
【0038】
また、タップエリアとしてボタンよりも大きい領域を用いることができるため、ボタンの入力ミスが発生する可能性を低減することができる。つまり、利用者の指がタッチパネル2に触れたまま移動した軌跡に基づいてボタンを特定することができるため、毎回タッチする場合よりも、所望のキーとは異なるキーを入力してしまう可能性を低減することができる。これにより、文字をより正確にかつ高速で入力することができる。
【0039】
なお、タップエリアは、軌跡を描いている指が接触している位置(指の接触位置)に対して、等間隔となる位置とすることが好ましい。軌跡を描いている指の接触位置が移動しても、タップエリアと、軌跡を描いている指の接触位置との関係を等間隔(つまり一定)とすることで、利用者は、タップエリアをタップしやすくなる。
【0040】
なお、携帯電話端末1は、タップ動作に加え、利用者が自然に行う動作(特定の動作)に基づいて、ボタンが意図して触れられたのか、単にその上を通過したに過ぎないのかを、判断するようにすることが好ましい。以下、図4から図8を用いて、利用者が自然に行う動作(特定の動作)に基づいて、ボタンの入力の判断を行う場合について説明する。
【0041】
携帯電話端末1は、利用者から文字の入力を受け付けるために、図4に示すように、タッチパネル2上に仮想キーボード4aを表示させる。仮想キーボード4aは、物理的なキーボードのキーを模した複数の仮想的なボタンを含む。なお、本実施例の仮想キーボード4aは、ボタン(キー)がQWERTY配列で配列されたキーボードである。
【0042】
携帯電話端末1は、利用者が指を移動させた軌跡上にあるボタンのうち、特定の動作がタッチパネル2によって検出された位置に表示されているボタンを、利用者が文字を入力するために意図的に触れたものであると判定する。具体的には、携帯電話端末1は、指の接触を開始する動作がタッチパネル2によって検出された場合、接触の開始が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。また、携帯電話端末1は、指の移動が終了しタッチパネル2から離れる動作がタッチパネル2によって検出された場合、接触の終了が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。
【0043】
また、携帯電話端末1は、指がタッチパネル2に触れたまま移動方向を変更する動作がタッチパネル2によって検出された場合、移動方向の変更が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。具体的には、携帯電話端末1は、指がボタンに進入したときの移動方向と指がボタンから出るときの移動方向とを比較し、移動方向の角度差が閾値よりも大きければ、利用者が意図的にそのボタンに触れたと判定する。
【0044】
これは、他のボタンへの移動中において、単に通過するに過ぎない場合、指はボタン上を一定方向へ移動し、図5に示すように進入時の移動方向(ベクトル)を示すV1と脱出時の移動方向を示すV2の角度差は小さくなると考えられるためである。また、図6に示すように進入時の移動方向を示すV3と脱出時の移動方向を示すV4の角度差が大きい場合、利用者が意図的にそのボタンに触れた後に他のボタンに触れるために移動方向を変更した可能性が高いためである。つまり、このボタンが目的ボタンの一つであったと判定できる。
【0045】
また、携帯電話端末1は、図7に示すように、指がタッチパネル2に触れたままあるボタン領域内で回転する軌跡を描いて移動する動作がタッチパネル2によって検出された場合に、利用者が意図的にそのボタンに触れたと判定する。単に通過するに過ぎない場合に指がこのような軌跡を描いて移動することはないと考えられるためである。なお、回転する軌跡に限らずに、山型や波状等の特徴的な形状の軌跡が指によってボタン領域内で描かれた場合に、利用者が意図的にそのボタンに触れたと判定することとしてもよい。
【0046】
このようにボタン領域内で特徴的な形状の軌跡を描く指の移動が検出された場合にそのボタンが意図的に触れられたと判定することにより、利用者は同じ文字を容易に連続して入力することが可能になる。例えば、「W」という文字を3回連続して入力したい場合、利用者は「W」のボタン領域内で円を3回描くように指を移動させればよい。ここで、例えば、ボタン領域内での指の移動ベクトルの角度の総計が360度を超える度に1回転とカウントすることにより、回転数をカウントすることができる。
【0047】
利用者が携帯電話端末1に「エレクトロニクス(EREKUTORONIKUSU)」と入力する場合の操作例を図8に示す。s221では、「E」のボタン領域内に指が置かれた後、指がタッチパネル2に触れたまま、「R」、「E」、「H」、「J」、「K」の順にボタンの上を通過している。この場合、携帯電話端末1は、指が置かれた「E」のボタンと、進入方向と脱出方向の角度差が閾値よりも大きい「R」、「E」、「K」のボタンが意図的に触れられたと判断する。
【0048】
s222では、指がタッチパネル2に触れたまま、「U」、「Y」、「T」、「Y」、「U」、「I」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「U」、「T」のボタンが意図的に触れられたと判断する。s223では、指がタッチパネル2に触れたまま、「O」、「I」、「U」、「Y」、「T」、「R」、「T」、「Y」、「U」、「I」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「O」、「R」のボタンが意図的に触れられたと判断する。
【0049】
s224では、指がタッチパネル2に触れたまま、「O」、「K」、「N」、「J」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「O」、「N」のボタンが意図的に触れられたと判断する。s225では、指がタッチパネル2に触れたまま、「I」、「K」、「U」、「G」、「F」、「D」、「S」、「R」、「T」、「Y」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「I」、「K」、「U」、「S」のボタンが意図的に触れられたと判断する。
【0050】
s226では、タッチパネル2に触れたまま「U」のボタンへ移動した指が、「U」のボタン領域内でタッチパネル2から離れている。この場合、携帯電話端末1は、指がタッチパネル2から離れた位置にある「U」のボタンが意図的に触れられたと判断する。
【0051】
以上の操作により、携帯電話端末1は、「E」、「R」、「E」、「K」、「U」、「T」、「O」、「R」、「O」、「N」、「I」、「K」、「U」、「S」、「U」の順にボタンが意図的に触れられたと判定し、これらのボタンに対応する文字を時系列に連結した「エレクトロニクス(EREKUTORONIKUSU)」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
【0052】
図8の例が示すように、携帯電話端末1は、利用者の指がタッチパネル2に触れたまま移動した軌跡上の各ボタンについて、意図して触れられたのか、単にその上を通過したに過ぎないのかを、利用者が自然に行う動作にも基づいて精度よく判定して文字の入力を受け付ける。このため、利用者は、携帯電話端末1に対して文字を高速かつ正確に入力することができる。
【0053】
なお、携帯電話端末1は、単に指が通過したに過ぎないと判定したボタンに対応する文字を無視するのではなく、入力精度を向上させるためにそれらの文字を利用する。具体的には、携帯電話端末1は、利用者が意図的に触れたと判定したボタン(タップ動作が入力されたボタンまたは特定の動作が入力されたボタン)に対応する文字を時系列に連結した文字列を辞書と照合し、該当する単語が見つからない場合は、単に指が通過したに過ぎないと判定したボタンに対応する文字を補完して辞書との照合をやり直して正当な単語を見つけ出す。
【0054】
例えば、利用者が携帯電話端末1に対して「WET」という単語を入力したい場合、利用者は、「W」のボタン領域内に指を置いた後、タッチパネル2に触れたまま指を「T」のボタンの方向へ移動させ、「T」のボタン領域内で指をタッチパネル2から離す。また、タップエリアに指を接触させる操作も入力しない。この場合、指が置かれた「W」のボタンと指が離れた「T」のボタンは意図的に触れられたと判定されるが、指が移動する軌道上にある「E」と「R」のボタンは、進入方向と脱出方向の角度差が小さいため、単に通過したに過ぎないと判定される。
【0055】
しかしながら、利用者が意図的に触れたと判定したボタンに対応する文字を時系列に連結した文字列である「WT」は辞書に存在しない。そこで、携帯電話端末1は、単に通過したに過ぎないと判定したボタンに対応する文字を時系列に補完して、「WET」、「WRT」、「WERT」という候補を作成し、各候補を辞書と照合する。この場合、「WET」という単語が辞書に含まれるため、携帯電話端末1は、「WET」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
【0056】
ところで、「WET」という単語を入力する場合、利用者は、タッチパネル2に触れたまま指を「W」のボタンから「T」のボタンの方向へ移動させる最中に、「E」のボタンの通過時に、他の指でタップエリアを接触してもよい。または、「E」のボタンの中で回転する軌道を描いてもよい。このような操作をすることにより、利用者は、「E」のボタンに意図的に触れたことを携帯電話端末1に明示的に示して、入力した文字列の識別精度を向上させることができる。
【0057】
次に、携帯電話端末1の機能と制御部との関係を説明する。図9は、図1に示す携帯電話端末1の機能の概略構成を示すブロック図である。図9に示すように携帯電話端末1は、タッチパネル2と、入力部3と、電源部5と、通信部6と、スピーカ7と、マイク8と、記憶部9と、主制御部10と、RAM(Random Access Memory)11とを有する。
【0058】
タッチパネル2は、表示部2Bと、表示部2Bに重畳されたタッチセンサ2Aとを有する。タッチセンサ2Aは、指を用いてタッチパネル2に対して行われた各種動作を、動作が行われた場所のタッチパネル2上での位置とともに検出する。タッチセンサ2Aによって検出される動作には、指をタッチパネル2の表面に接触させる動作や、指をタッチパネル2の表面に接触させたまま移動させる動作や、指をタッチパネル2の表面から離す動作が含まれる。なお、タッチセンサ2Aは、感圧式、静電式等のいずれの検出方式を採用していてもよい。表示部2Bは、例えば、液晶ディスプレイ(LCD、Liquid Crystal Display)や、有機EL(Organic Electro−Luminescence)パネルなどで構成され、文字、図形、画像等を表示する。
【0059】
入力部3は、物理的なボタン等を通じて利用者の操作を受け付け、受け付けた操作に対応する信号を主制御部10へ送信する。電源部5は、蓄電池または外部電源から得られる電力を、主制御部10を含む携帯電話端末1の各機能部へ供給する。通信部6は、基地局によって割り当てられるチャネルを介し、基地局との間でCDMA方式などによる無線信号回線を確立し、基地局との間で電話通信及び情報通信を行う。スピーカ7は、電話通信における相手側の音声や着信音等を出力する。マイク8は、利用者等の音声を電気的な信号へ変換する。
【0060】
記憶部9は、例えば、不揮発性メモリや磁気記憶装置であり、主制御部10での処理に利用されるプログラムやデータを保存する。具体的には、記憶部9は、メールの送受信や閲覧のためのメールプログラム9Aや、WEBページの閲覧のためのブラウザプログラム9Bや、上述した連続方式での文字入力を受け付けるための文字入力プログラム9Cや、文字入力時にタッチパネル2に表示される仮想キーボードに関する定義を含む仮想キーボードデータ9Dや、正当な文字列が登録された辞書データ9Eや、タップエリアに表示させる画像のデータ、画像の表示に関する定義を含むタップエリア表示データ9Fを記憶する。記憶部9には、携帯電話端末1の基本的な機能を実現するオペレーティングシステムプログラムや、氏名、電話番号、メールアドレス等が登録されたアドレス帳データ等の他のプログラムやデータも記憶される。
【0061】
主制御部10は、例えば、CPU(Central Processing Unit)であり、携帯電話端末1の動作を統括的に制御する。具体的には、主制御部10は、記憶部9に記憶されているデータを必要に応じて参照しつつ、記憶部9に記憶されているプログラムを実行して、タッチパネル2、通信部6等を制御することによって各種処理を実行する。主制御部10は、記憶部9に記憶されているプログラムや、処理を実行することによって取得/生成/加工されたデータを、一時的な記憶領域を提供するRAM11に必要に応じて展開する。なお、主制御部10が実行するプログラムや参照するデータは、通信部6による無線通信でサーバ装置からダウンロードすることとしてもよい。
【0062】
ここで、記憶部9が記憶する仮想キーボードデータ9Dの一例を図10に示す。図10の例に示すように、仮想キーボードデータ9Dには、仮想キーボードに含まれるボタン毎に、ボタンに対応する文字、ボタンの位置(例えば、左上座標)、幅、高さ等が登録される。図10に示す例では、あるボタンに対応する文字が「わ」であり、そのボタンの左上座標がX=10、Y=10であり、そのボタンの幅と高さが20と40であること等が登録されている。なお、仮想キーボードデータ9Dとしては、仮想キーボード4のデータに加え、仮想キーボード4a、仮想付加キーボード5,6のデータも登録されている。
【0063】
また、タップエリア表示データ9Fには、タップエリアに表示させる画像として「あ」、「い」、「う」等のキーボードのボタンに対応した画像が登録されている。また、タップエリア表示データ9Fには、画像を表示させる表示位置の定義のデータも登録されている。
【0064】
次に、携帯電話端末1が文字の入力を受け付ける場合の動作について説明する。図11は、携帯電話端末1による文字入力処理の処理手順を示すフロー図である。図11に示す文字入力処理は、主制御部10が記憶部9から文字入力プログラム9Cを読み出して実行することにより実現され、仮想キーボード4がタッチパネル2上に表示されている間、繰り返し実行される。なお、仮想キーボード4は、主制御部10が文字入力プログラム9Cまたは他のプログラムを実行することにより、タッチパネル2上に表示される。
【0065】
まず、主制御部10は、ステップS10として、入力文字バッファ12をクリアし、ステップS11として、一時バッファ13をクリアする。入力文字バッファ12は、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が優先度と対応づけて格納される記憶領域であり、RAM11に設けられる。一時バッファ13は、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンのうち、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が一時的に格納される記憶領域であり、RAM11に設けられる。
【0066】
入力文字バッファ12の一例を図12に示す。図12は、タッチパネル2に対して図8に示した操作が行われた場合の入力文字バッファ12を示している。図12の例において、入力文字バッファ12の上段には、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が格納され、下段には、上段の文字に対応づけられた優先度が格納されている。図12の例が示すように、入力文字バッファ12には、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が時系列に格納される。なお、図12は、エレクトロニクス(EREKUTORONIKUSU)を入力しようとする場合に、携帯電話端末1が格納する文字の情報である。
【0067】
優先度は、入力文字バッファ12に含まれる文字を連結して文字列を構成する際に、対応付けられた文字を採用するか否かを決定するために用いられる。本実施例では、優先度の値が小さいほど、対応付けられた文字が優先的に採用されることとする。具体的には、指が意図的に触れたと判断されたボタンに対応する文字には優先度として「1」を対応付け、指が単に通過したに過ぎないと判断されたボタンに対応する文字には優先度として「2」を対応付ける。
【0068】
一時バッファ13の一例を図13に示す。図13は、図8のs221において指が「J」のボタンから出た時点での一時バッファ13を示している。図13の例が示すように、一時バッファ13には、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が、指がいずれかのボタンに意図的に触れたと判定されるまで、時系列に格納される。
【0069】
入力文字バッファ12と一時バッファ13のクリアを終えると、主制御部10は、ステップS12として、RAM11に設けた入力完了フラグを0に設定する。入力完了フラグは、1回分の文字入力が完了したか否かを判定するために用いられる。ここでいう1回分の文字入力とは、指をタッチパネル2に接触させてから離すまでの間に行われる文字入力を意味する。
【0070】
続いて、主制御部10は、ステップS13として、タッチパネル2の最新の検出結果を取得し、ステップS14として、文字入力判定処理を実行する。文字入力判定処理において、主制御部10は、指がタッチパネル2に接触したまま移動した軌跡上に表示されている各ボタンに対応する文字を入力文字バッファ12や一時バッファ13に格納していく。なお、文字入力判定処理の詳細については後述する。
【0071】
文字入力判定処理の実行後、主制御部10は、ステップS15として、入力完了フラグが0のままであるかを判定する。ここで、入力完了フラグが0のままである場合、すなわち、1回分の文字入力がまだ完了していない場合(ステップS15,Yes)、主制御部10は、ステップS16として、文字列検索処理を実行して入力文字バッファ12に格納されている文字を連結した文字列とマッチする文字列を辞書データ9Eから検索する。なお、文字列検索処理の詳細については後述する。
【0072】
続いて、主制御部10は、ステップS17として、文字列検索処理によって得られた1ないし複数の文字列を図14に示すように入力文字列候補表示領域14に表示する。そして、主制御部10は、入力完了フラグが0でない、すなわち、1回分の文字入力が完了したとステップS15で判定されるまで、ステップS13〜ステップS17を繰り返して実行する。
【0073】
ステップS15で入力完了フラグが0でなくなっていた場合(ステップS15,No)、主制御部10は、ステップS18として、文字列検索処理を実行して入力文字バッファ12に格納されている文字を連結した文字列とマッチする文字列を辞書データ9Eから検索する。ここで、文字列検索処理の処理結果として得られた文字列が1つだけであった場合(ステップS19,Yes)、主制御部10は、ステップS20として、文字列検索処理の処理結果として得られた文字列を入力された文字列として受け付ける。
【0074】
一方、文字列検索処理の処理結果として得られた文字列が複数あった場合(ステップS19,No)、主制御部10は、ステップS21として、文字列検索処理の処理結果として得られた複数の文字列を図14に示すように入力文字列候補表示領域14に表示する。そして、主制御部10は、ステップS22として、タッチパネル2の最新の検出結果を取得し、ステップS23として、入力文字列候補表示領域14に表示した文字列のいずれかが選択されたかを判定する。
【0075】
ここで、いずれの文字列も選択されていなければ(ステップS23,No)、主制御部10は、いずれかの文字列が選択されるまで、ステップS22〜ステップS23を繰り返して実行する。なお、ステップS22において利用者の指が入力文字列候補表示領域14以外の領域に触れるといった入力のキャンセルを示す動作が検出された場合に、主制御部10が、文字入力処理を終了させることとしてもよい。
【0076】
ステップS23で入力文字列候補表示領域14に表示した文字列のいずれかが選択されていた場合(ステップS23,Yes)、主制御部10は、ステップS24として、選択された文字列を入力した文字列として受け付ける。
【0077】
次に、図15に示したフロー図を参照しながら、図11のステップS14で実行される文字入力判定処理について説明する。主制御部10は、ステップS30として、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作、すなわち、指をタッチパネル2の表面に接触させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
【0078】
検出された動作がタッチパネル2への接触を開始する動作であった場合(ステップS30,Yes)、主制御部10は、ステップS31として、接触が開始された位置を仮想キーボードデータ9Dと照合して、接触が開始された位置がいずれかのボタン領域内であったかを判定する。接触が開始された位置がいずれかのボタン領域内であった場合(ステップS31,Yes)、ボタンは意図して触れられたと考えられるので、主制御部10は、ステップS32として、そのボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。ボタンに対応する文字は、仮想キーボードデータ9Dから取得される。そして、主制御部10は、優先度「1」を対応つけて入力文字バッファ12に追加したら、文字入力判定処理を終了させる。
【0079】
ステップS31において、接触が開始された位置がボタン領域内でなかった場合(ステップS31,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
【0080】
ステップS30において、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作でなかった場合(ステップS30,No)、主制御部10は、ステップS34として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ9Dと照合することによって判定される。
【0081】
検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であった場合(ステップS34,Yes)、主制御部10は、ステップS102として、タップエリア表示データ9fを読み出す。具体的には、主制御部10は、タップエリア表示データ9Fから、指が接触しているボタンに対応する画像のデータと、その画像を表示させる定義のデータとを読み出す。そして、主制御部10は、ステップS104として、タップエリアを表示する。つまり、主制御部10は、ステップS102で読み出したデータに基づいて、タップエリアとなる領域に画像を表示させる。ここで、主制御部10は、画像として、例えば、指が接触しているボタン(軌跡が進入しているボタン)の文字をタップエリアに表示させる。なお、画像は、タップエリアの一部に表示させても、タップエリアの全域に表示させてもよい。また、タップエリアは、キーボードの画像に重なった領域とすることもできる。そして、主制御部10は、タップエリアを表示させたら、文字入力判定処理を終了する。
【0082】
ステップS34において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作でなかった場合(ステップS34,No)、主制御部10は、ステップS106として、タップエリアへのタップが入力されたかをタッチパネル2の検出結果に基づいて判定する。つまり、主制御部10は、ステップS104で表示させたタップエリアへの接触をタッチパネル2で検出したかを判定する。
【0083】
タップエリアのタップを検出した場合(ステップS106,Yes)、主制御部10は、ステップS107として、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。続いて、主制御部10は、ステップS108として、そのボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、対応付けを入力文字バッファ12に追加したら、文字入力判定処理を終了する。
【0084】
ステップS106において、タッチパネル2でタップエリアをタップする動作が検出されなかった場合(ステップS106,No)、主制御部10は、ステップS46として、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作、すなわち、指をタッチパネル2から離す動作であったかを、タッチパネル2の検出結果に基づいて判定する。
【0085】
検出された動作がタッチパネル2への接触を終了させる動作であった場合(ステップS46,Yes)、主制御部10は、ステップS47として、接触が終了された位置を仮想キーボードデータ9Dと照合して、接触が終了された位置がいずれかのボタン領域内であったかを判定する。接触が終了された位置がいずれかのボタン領域内であった場合(ステップS47,Yes)、ボタンは意図して触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS49以降の処理手順を実行する。
【0086】
主制御部10は、ステップS49として、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。なお、一時バッファ13には、指が通過した軌道上に、配置されたボタンのうち、ステップS32及びステップS108で優先度「1」に設定されなかったボタンが記憶されている。つまり、通過時にタップされたボタンではなく、また、接触開始時に接触されたボタンでもない、ボタンの記憶である。そして、主制御部10は、ステップS50として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。
【0087】
そして、タッチパネル2への接触が終了させる動作が行われたということは、一回分の文字入力が完了したことを意味するので、主制御部10は、ステップS51として、入力完了フラグを「1」に設定して文字入力判定処理を終了させる。
【0088】
接触が終了された位置がボタン領域内でなかった場合(ステップS47,No)、主制御部10は、ステップS51として、入力完了フラグを「1」に設定する処理のみを行って文字入力判定処理を終了させる。
【0089】
なお、接触が終了された位置がボタン領域内でなかった場合に、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加することとしてもよい。
【0090】
ステップS46において、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作でなかった場合(ステップS46,No)、文字入力判定処理を終了させる。
【0091】
このように、携帯電話端末1は、タップが検出された文字を優先度1として入力文字バッファ12に追加することで、利用者が意図した操作を入力した文字を適切に検出することができる。
【0092】
なお、携帯電話端末1は、タップ(第2接触動作)の検出に加え、タッチパネル2の表面の第1の位置で接触が開始され、タッチパネル12の表面の第2の位置で接触が終了する動作、つまり、接触位置が継続的に変位する(第1接触動作)で入力される特定の動作を検出するようにしてもよい。つまり、指で入力される軌跡から特定の動作を検出してもよい。
【0093】
以下、図16−1及び図16−2に示したフロー図を参照しながら、図11のステップS14で実行される文字入力判定処理の他の例について説明する。なお、図16−1及び図16−2に示すフロー図の処理のうち、一部の処理は、図15に示すフロー図の処理と同様である。そこで、同様の処理については、同一のステップの番号を付し、詳細な説明は、省略する。主制御部10は、ステップS30として、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作であったかを、タッチパネル2の検出結果に基づいて判定する。
【0094】
検出された動作がタッチパネル2への接触を開始する動作であった場合(ステップS30,Yes)、主制御部10は、ステップS31として、接触が開始された位置がいずれかのボタン領域内であったかを判定する。接触が開始された位置がいずれかのボタン領域内であった場合(ステップS31,Yes)、主制御部10は、ステップS32として、そのボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。
【0095】
そして、主制御部10は、ステップS33として、出力フラグを「1」に設定して文字入力判定処理を終了させる。出力フラグは、RAM11に設けられ、指が現在接触している位置に表示されているボタンに対応する文字を入力文字バッファ12または一時バッファ13に出力済みであるか否かを判定するために用いられる。出力フラグの値が「0」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれのバッファにもまだ出力していないことを示す。出力フラグの値が「1」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれかのバッファに出力済みであることを示す。
【0096】
ステップS31において、接触が開始された位置がボタン領域内でなかった場合(ステップS31,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
【0097】
ステップS30において、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作でなかった場合(ステップS30,No)、主制御部10は、ステップS34として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
【0098】
検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であった場合(ステップS34,Yes)、主制御部10は、ステップS35として、移動方向履歴をクリアする。移動方向履歴は、ボタン領域内で指がどの方向へ移動したかを示す方向ベクトルが時系列に記録されるデータであり、RAM11に記憶される。
【0099】
続いて、主制御部10は、ステップS36として、指がボタン領域内に進入した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。
【0100】
なお、タッチパネル2の検出結果に指の移動方向を示す情報が含まれている場合、方向ベクトルは、タッチパネル2の検出結果から取得される。タッチパネル2の検出結果に指の移動方向を示す情報が含まれていない場合、方向ベクトルは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とから算出される。
【0101】
方向ベクトルを移動方向履歴に追加したら、主制御部10は、ステップS37として、出力フラグを「0」に設定する。さらに、主制御部10は、ステップS102として、タップエリア表示データ9Fを読み出す。そして、主制御部10は、ステップS104として、タップエリアを表示して文字入力判定処理を終了させる。
【0102】
ステップS34において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作でなかった場合(ステップS34,No)、主制御部10は、ステップS38として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ9Dと照合することによって判定される。
【0103】
検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であった場合(ステップS38,Yes)、主制御部10は、ステップS39として、出力フラグが「0」であるかを判定する。ここで、出力フラグが「0」でなかった場合、すなわち、指がそれまで内部に位置していたボタンに対応する文字をいずれかのバッファに出力済みの場合(ステップS39,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
【0104】
一方、出力フラグが「0」であった場合(ステップS39,Yes)、主制御部10は、ステップS40として、最新の移動ベクトル、すなわち、指がボタンの外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指がボタンに進入したときの方向と指がボタンから脱出したときの方向の相違の大きさを表す。
【0105】
算出された角度差が所定の閾値以下の場合(ステップS41,No)、指は単にボタンを通過したに過ぎないと考えられるため、主制御部10は、ステップS42として、そのボタンに対応する文字を一時バッファ13に追加して文字入力判定処理を終了させる。
【0106】
一方、算出された角度差が所定の閾値より大きい場合(ステップS41,Yes)、ボタンは意図的に触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS43以降の処理手順を実行する。
【0107】
ステップS43として、主制御部10は、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加し、続いて、ステップS44として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS45として、一時バッファ13をクリアして文字入力判定処理を終了させる。
【0108】
ステップS38において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作でなかった場合(ステップS38,No)、主制御部10は、ステップS46として、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作、すなわち、指をタッチパネル2から離す動作であったかを、タッチパネル2の検出結果に基づいて判定する。
【0109】
検出された動作がタッチパネル2への接触を終了させる動作であった場合(ステップS46,Yes)、主制御部10は、ステップS47として、接触が終了された位置を仮想キーボードデータ9Dと照合して、接触が終了された位置がいずれかのボタン領域内であったかを判定する。接触が終了された位置がいずれかのボタン領域内であった場合(ステップS47,Yes)、主制御部10は、ステップS48として、主制御部10は、出力フラグが「0」であるかを判定する。ここで、出力フラグが「0」である場合、すなわち、意図して触れられたと考えられるボタンに対応する文字がまだいずれのバッファにも出力されていない場合(ステップS48,Yes)、主制御部10は、ステップS49として、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。そして、主制御部10は、ステップS50として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS51として、入力完了フラグを「1」に設定して文字入力判定処理を終了させる。
【0110】
接触が終了された位置がボタン領域内でなかった場合(ステップS47,No)、または、出力フラグが「0」でなかった場合(ステップS48,No)、主制御部10は、ステップS51として、入力完了フラグを「1」に設定する処理のみを行って文字入力判定処理を終了させる。
【0111】
なお、接触が終了された位置がボタン領域内でなかった場合、または、出力フラグが「0」でなかった場合に、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加することとしてもよい。
【0112】
ステップS46において、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作でなかった場合(ステップS46,No)、主制御部10は、ステップS52として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
【0113】
検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作であった場合(ステップS52,Yes)、主制御部10は、ステップS53として、指がボタン領域内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部10は、ステップS54として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル2に触れたままボタン領域内で回転する軌跡を描いて移動したかを判定する。
【0114】
ここで、指がタッチパネル2に触れたままボタン領域内で回転する軌跡を描いて移動していた場合(ステップS54,Yes)、ボタンは意図的に触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS55以降の処理手順を実行する。
【0115】
ステップS55として、主制御部10は、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加し、続いて、ステップS56として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS57として、出力フラグを「1」に設定し、ステップS58として、移動方向履歴をクリアして文字入力判定処理を終了させる。
【0116】
ステップS52において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作でなかった場合、すなわち、指が仮想キーボード4上のボタン外を移動していた場合(ステップS52,No)、主制御部10は、ステップS106として、タップエリアへのタップが入力されたかをタッチパネル2の検出結果に基づいて判定する。
【0117】
タップエリアのタップを検出した場合(ステップS106でYes)、主制御部10は、ステップS107として、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。続いて、主制御部10は、ステップ108として、タップエリアに対応されるボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS109として、出力フラグを「1」に設定し、文字入力判定処理を終了する。
【0118】
ステップS106において、タッチパネル2でタップエリアをタップする動作が検出されなかった場合(ステップS106,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
【0119】
なお、タッチパネル2への接触を保ったまま指を仮想キーボード4の外へ出す動作が検出された場合に、タッチパネル2への接触を終了させる動作が検出された場合と同様の処理手順を実行し、タッチパネル2への接触を保ったまま指を仮想キーボード4の中へ移動させる動作が検出された場合に、タッチパネル2への接触を開始する動作が検出された場合と同様の処理手順を実行することとしてもよい。このようにすることにより、利用者は、一回分の入力を終えた後に、指を上げ下げすることなくタッチパネル2への接触を保ったまま、迅速に次の入力に移ることが可能になる。
【0120】
次に、図17に示したフロー図を参照しながら、図11のステップS16およびステップS18で実行される文字列検索処理について説明する。主制御部10は、ステップS70として、入力文字バッファ12から優先度が「1」である文字を取得し、取得した文字を組み合わせて第1候補文字列を生成する。
【0121】
例えば、「A」、「B」、「C」、「D」という4つの文字列がこの順序で入力文字バッファ12に格納され、「A」と「D」の優先度が「1」で、「B」と「C」の優先度が「2」であったものとする。この場合、主制御部10は、優先度が「1」の文字を格納順に連結して「AB」という第1候補文字列を生成する。
【0122】
続いて、主制御部10は、ステップS71として、第1候補文字列にマッチする文字列を辞書データ9Eから検索する。
【0123】
本実施例では、例えば第1候補文字列が「ABC」の場合、「A*B*C*」というパターンにマッチする文字列が辞書データ9Eから検索されるものとする。ここで、「*」は、任意の文字にマッチするワイルドカードである。すなわち、本実施例では、第1候補文字列と先頭の文字が一致し、第1候補文字列の2番目以降の各文字が、0個以上の文字を介在させて第1候補文字列と同じ順序で出現する文字列が、第1候補文字列とマッチすると文字列として検索される。
【0124】
このようにマッチングさせることにより、指によって意図的に触れられたことを判別できないボタンがあった場合でも、入力された文字列を正しく識別することができる可能性を高めることができる。
【0125】
検索結果として複数の文字列が得られた場合(ステップS72,Yes)、主制御部10は、検索結果を絞り込むために、ステップS73として、入力文字バッファ12から優先度が「2」である文字を取得し、取得した文字を第1候補文字列に補完して、1ないし複数の第2候補文字列を生成する。
【0126】
例えば、上記と同様に、「A」、「B」、「C」、「D」という4つの文字列がこの順序で入力文字バッファ12に格納され、「A」と「D」の優先度が「1」で、「B」と「C」の優先度が「2」であったものとする。この場合、主制御部10は、格納順序を守りつつ、第1候補文字列である「AB」に優先度が「2」の文字を少なくとも1つ補完して、「ABD」、「ACD」、「ACDB」という3つの第2候補文字列を生成する。
【0127】
続いて、主制御部10は、ステップS74として、第2候補文字列のいずれかにマッチする文字列を辞書データ9Eから検索する。マッチングの方式は、第1候補文字列の場合と同様である。
【0128】
そして、ステップS74において、いずれかの文字列が検索された場合(ステップS75,Yes)、主制御部10は、ステップS76として、検索された文字列を検索結果として文字列検索処理を終了させる。一方、ステップS74において、いずれの文字列も検索されなかった場合(ステップS75,No)、主制御部10は、ステップS77として、ステップS71において第1候補文字列とマッチした文字列を検索結果として文字列検索処理を終了させる。
【0129】
ステップS71において検索結果として1つの文字列のみが得られた場合(ステップS72,No、かつ、ステップS78,Yes)、主制御部10は、ステップS76として、検索された文字列を検索結果として文字列検索処理を終了させる。ステップS71において検索結果として1つの文字列も得られなかった場合(ステップS78,No)、主制御部10は、ステップS79として、第1候補文字列、すなわち、優先度が「1」の文字を格納順に連結した文字列を検索結果として文字列検索処理を終了させる。
【0130】
上述してきたように、携帯電話端末1は、指をタッチパネル2から離さずに仮想キーボード上を移動させて文字を入力することを可能にするため、高速な文字入力を実現することができる。
【0131】
なお、携帯電話端末1の構成は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、本実施例では、指をタッチパネル2から離れずに移動した軌跡上の各ボタンに対応する文字に優先度として「1」または「2」を対応付けることとしたが、文字に対応付ける優先度をさらに細分化してもよい。なお、優先度は、例えば、重み付け情報として記憶される。重み付け情報として記憶する場合、優先度が高い文字には、大きい値の重み付け情報が対応付けられ、優先度が低い文字には、小さい値の重み付け情報が対応付けられる。
【0132】
例えば、意図的に触れられたと判定されたボタンに対応する文字には優先度として「1」を対応付け、指が単に通過したに過ぎないと判定されたボタンに対応する文字については優先度として「2」〜「5」のいずれかの値を対応付けることとしてもよい。優先度を細分化する場合、図16−1及び図16−2に示した文字入力判定処理では、図18の例のように一時バッファ13に格納される各文字に優先度が対応付けられる。
【0133】
この場合、例えば、タップが入力されたボタンは、最も高い優先度を対応付けることが好ましい。つまり、特定の操作が入力された場合よりも高い優先度を対応付けることが好ましい。利用者がボタンを選択する操作を積極的に入力しており、意図的に触れられたボタンである可能性が高いためである。
【0134】
また、例えば、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指がボタンに進入したときの移動方向と指がボタンから出たときの移動方向の角度差が大きいほど高い優先度を対応付けることとしてもよい。角度差が大きいほど、意図的に触れられたボタンである可能性が高いためである。
【0135】
また、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指が通過した軌跡がボタンの中心に近いほど高い優先度を対応付けることとしてもよい。通過した軌跡がボタンの中心に近いほど、意図的に触れられたボタンである可能性が高いためである。
【0136】
そして、このように優先度を細分化した場合、文字列検索処理においては、優先度の高い文字ほど第2候補文字列の作成時に優先的に使用される。具体的には、優先度が「1」の文字を組み合わせた第1候補文字列に複数の文字列がマッチした場合、まず、優先度が「2」の文字を第1候補文字列に補完して検索結果の絞込みが試みられる。そして、優先度が「2」の文字を補完しても複数の文字列がマッチした場合、優先度が「3」の文字を第1候補文字列にさらに補完して検索結果の絞込みが試みられる。
【0137】
以下同様に、検索結果が1つに絞り込まれるまで、優先度が高い順に補完に文字が利用される。このように、優先度を細分化することにより、意図的に触れられた可能性が高い順に文字を組み合わせて検証対象の文字列を生成することができるため、入力された文字列の識別精度を向上させることができる。
【0138】
ここで、上述したように、主制御部10は、タップエリアの位置を、指が接触している位置にあわせて移動させる。以下に、図19及び図20を用いて、タップエリアの位置の設定処理(タップ位置設定処理)について説明する。ここで、図19は、タップエリアの設定処理の例を示す図である。なお、指の接触位置とタップエリアとの関係は、事前に設定処理を行うことで、設定される。
【0139】
まず、s230では、タップエリアの表示位置を設定する処理、つまり、指の接触位置とタップエリアとの関係を設定する処理を起動させる操作が入力される。この場合、携帯電話端末1は、タップ位置の設定用の画面を表示させる。なお、タップ位置の設定用の画面には、利用者がなぞるための線と、「軌跡を指でなぞりながら○が表示されたら別の指で軌跡の周辺をタップしてください」というメッセージを表示させる。
【0140】
s231では、タッチパネル2上に指が置かれ、タッチパネル2に触れた状態を維持しつつ、接触位置を移動させ、指で表示させた軌跡をなぞっている。この場合、携帯電話端末1は、指が接触している位置を検出し、接触が開始され、接触位置が軌跡に沿って移動していると判定する。
【0141】
s232では、指で表示させた軌跡をなぞっている移動距離、移動時間が所定の条件以上となる。この場合、携帯電話端末1は、マークを表示させる条件が満たされたと判断し、画面に○のマークを表示させる。
【0142】
s233では、軌跡をなぞっている指に加え、別の指(2本目の指)がタッチパネル2に触れている。この場合、携帯電話端末1は、軌跡をなぞっている指の接触位置と、別の指の接触位置の2つの接触位置を検出する。さらに、携帯電話端末1は、別の指の接触位置に○のマークを表示させる。
【0143】
s234では、指で表示させた軌跡をなぞっている移動距離、移動時間が所定の条件以上となる。この場合、携帯電話端末1は、マークを表示させる条件が満たされたと判断し、画面に○のマークを表示させる。
【0144】
s235では、軌跡をなぞっている指に加え、別の指(2本目の指)がタッチパネル2に触れている。この場合、携帯電話端末1は、軌跡をなぞっている指の接触位置と、別の指の接触位置の2つの接触位置を検出する。
【0145】
s236では、s231からs235までの操作に基づいて、タップエリアの位置の設定が完了している。この場合、携帯電話端末1は、タッチパネルに設定完了のメッセージを表示させる。
【0146】
なお、図19では、○のマークの表示回数を2回とし、別の指による接触を2回としたが、○のマークの表示回数、別の指による接触の回数は、特に限定されない。
【0147】
次に、図20に示したフロー図を参照しながら、タップエリア設定処理の処理手順を説明する。主制御部10は、タップエリアの設定処理の起動操作が入力されたら、ステップS110として、表示を更新し、タップエリアを設定する画面を表示させる。表示を更新したら、主制御部10は、ステップS112として、軌跡のトレース動作を、タッチパネル2の検出結果に基づいて検出する。つまり、主制御部10は、指が接触している位置の移動をタッチパネル2の検出結果に基づいて検出する。
【0148】
軌跡のトレース動作を検出したら、主制御部10は、ステップS114として、所定タイミングであるか否かを、タッチパネル2の検出結果に基づいて判断する。なお、主制御部10は、トレース開始からの時間、トレース開始位置からの移動距離、接触位置等と、予め設定されている条件とを比較することで、判断する。
【0149】
タッチパネル2での検出結果が条件を満たしておらず、所定タイミングではない場合(ステップS114,No)、主制御部10は、ステップS124に進む。
【0150】
タッチパネル2での検出結果が条件を満たしており、所定タイミングである場合(ステップS114,Yes)、主制御部10は、ステップS116として、タップ動作の入力を要請するマークを表示させる。つまり、s232、s235で説明したマークを表示させる。
【0151】
マークを表示させたら、主制御部10は、ステップS118として、タップ動作をタッチパネル2の検出結果に基づいて検出する。つまり、主制御部10は、軌跡をトレースしている接触位置とは、異なる位置で検出された接触をタップ動作が入力された位置として検出する。
【0152】
タップを検出したら、主制御部10は、ステップS120として、軌跡とタップ位置の距離、位置関係を主制御部10のバッファ、記憶部9等に退避させ、検出した関係を一時的に記憶する。その後、主制御部10は、ステップS122として、タップエリアの表示位置の平均値を算出する。つまり、主制御部10は、ステップS120でバッファ等に退避させた軌跡とタップ位置の距離、軌跡とタップ位置の位置関係の平均値を算出し、軌跡上の接触位置と、タップ動作が入力された位置との平均距離、平均位置関係(タッチパネル2上の方向)を算出し、算出した軌跡上の位置に対するタップ動作が入力された位置の平均値を、タップエリアの表示位置の平均値として算出する。
【0153】
ステップS122でタップエリアの表示位置の平均値を設定した場合、または、ステップS114で所定タイミングではない(ステップS114,No)場合、主制御部10は、ステップS124として、軌跡トレースが終了したかをタッチパネル2の検出結果に基づいて検出する。なお、主制御部10は、例えば、軌跡をトレースしている接触が、タッチパネル2に表示させた軌跡の終点まで、到達している場合は、軌跡トレースが終了したと判断し、軌跡をトレースしている接触が、タッチパネル2に表示させた軌跡の途中である場合は、軌跡トレースが終了していないと判断する。
【0154】
軌跡トレースが終了していない(ステップS124,No)場合、主制御部10は、ステップS114に進み、上記処理を繰り返す。軌跡トレースが終了している(ステップS124,Yes)場合、主制御部10は、ステップS126として、設定完了を表示し、ステップS128で算出データ(ステップS122で算出した値)をメモリ(記憶部9のタップエリア表示データ9F)に書き出し、タップ位置設定処理を終了する。
【0155】
携帯電話端末1は、図19及び図20の設定処理により、軌跡をトレースする指の接触位置と、タップを入力する指の接触位置との関係を算出することができ、利用者の使用態様にあった位置に、タップエリアを設定することができる。これにより、携帯電話端末1は、利用者がタップ動作を入力しやすい位置をタップエリアとすることができる。
【0156】
なお、上記実施例では、タップエリアを平均値から求めたが、本発明はこれに限定されない。例えば、最大値、最小値に基づいてタップエリアの位置を決定してもよい。
【0157】
なお、上記実施例では、文字入力時に、タップエリアに画像を表示させたがこれに限定されず、画像を表示させなくても良い。つまり、画像は表示させずに軌跡を描く接触に対応して、タップエリアの位置の設定を切り替えるようにしてもよい。
【0158】
また、上記実施例では、タップエリアをわかりやすくできるため、タップ動作を入力しやすくできるため、タップエリアを、タッチパネル2の接触位置に基づいて移動させるようにしたが、タップエリアを固定してもよい。つまり、キーボードの接触しているボタンによらず、タッチパネル2の固定位置をタップエリアとしてもよい。
【0159】
なお、上記実施例では、タップエリアを一定の表示領域としたが、領域を特定しなくてもよい。つまり、主制御部10は、タッチパネル2に接触したまま接触位置を移動させる動作(第1接触動作)を検出している間に、タッチパネルの他の位置で接触動作を検出したら、タップされたと判定する設定としてもよい。このように、2箇所目の接触動作を第2接触動作として検出する設定とすることで、上述した表示位置の設定等の処理が不要になる。これにより、処理がより簡単になる。また、利用者は、タッチパネル2の好きな位置を適当に接触することで、タップ動作を入力することができる。
【0160】
また、図11を参照しながら説明した文字入力処理では、主制御部10がタッチパネル2から新たに検出結果を取得するたびに検索された文字列を入力文字列候補表示領域14に表示することとしているが、一回分の文字入力が完了するまではこのような表示は行わずに、一回分の文字入力が完了した後に文字列検索処理で複数の文字列が検索された場合にのみ検索された文字列を入力文字列候補表示領域14に表示することとしてもよい。
【0161】
また、図17を参照しながら説明した文字列検索処理における辞書データ9Eとのマッチング処理は、完全一致や前方一致等の他のマッチング方式を用いることとしてもよい。また、入力予測技術を用いて、利用者が入力しようとしている文字列を予測し、予測された文字列を検索結果として扱うこととしてもよい。入力予測技術とは、文字列の結びつきの強さや使用頻度等に基づいて、既に入力された文字列と入力途中の文字列から、利用者が入力しようとしている文字列を予測する技術である。
【0162】
また、上記実施例では、入力する文字である可能性が高いため、いずれも、接触開始した位置と接触が終了した位置がボタンに対応している場合は、ボタンの優先度を高くしたが、つまり、入力された文字と判定する可能性を高くしたが、本発明はこれに限定されない。携帯電話端末1は、軌跡を描いている(タッチパネル2に接触したまま移動される)指の接触位置が通過しているときに、別の指によるタップが検出されたボタンに対応する文字を、入力された文字(優先度が高い文字)として判断すればよく、その他の操作に対する優先度、入力の判断基準は、特に限定されない。
【0163】
また、上記の実施例では、指がタッチパネル2に接触したまま移動した軌跡上に表示されているボタンに対応する文字のうち、特定の動作が検出された位置に表示されているボタンに対応する文字を優先して入力された文字列を識別することとしているが、本発明はこれに限定されるものではなく、指がタッチパネル2に接触したまま移動した軌跡上またはその近隣に表示されているボタンに対応する文字を含む文字列を入力された文字列として受け付けるものであればよい。
【0164】
また、上記の実施例では、特定の動作として、ボタン領域内でタッチパネル2に接触する動作や、ボタン領域内でタッチパネル2から指を離す動作等について説明したが、これらの動作は特定の動作の例であり、他の動作を特定の動作として扱ってもよい。
【0165】
また、上記の実施例では、ソフトウェアキーボードが、あいうえお(50音)キーボードの場合と、QWERTY配列で配列されたキーボードの場合として説明したが、本発明はこれに限定されず、種々のキー配列のキーボードを用いることができる。例えば、Dvorak配列のキーボード、親指シフト配列(NICOLA配列)のキーボード、DSK配列のキーボード、JIS配列のキーボード等も用いることができる。また、上述したように、かな文字入力の場合も、ローマ字入力の場合にも用いることができる。また、日本語の入力にも限定されず、アルファベットを入力する場合にも用いることができる。
【産業上の利用可能性】
【0166】
以上のように、本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、文字の入力に有効であり、タッチパネルを用いて文字を高速に入力することが必要な場合に特に適している。
【符号の説明】
【0167】
1 携帯電話端末
2 タッチパネル
2A タッチセンサ
2B 表示部
3 入力部
3A、3B、3C ボタン
4 仮想キーボード
5 電源部
6 通信部
7 スピーカ
8 マイク
9 記憶部
9A メールプログラム
9B ブラウザプログラム
9C 文字入力プログラム
9D 仮想キーボードデータ
9E 辞書データ
9F タップエリア表示データ
10 主制御部
11 RAM
12 入力文字バッファ
13 一時バッファ
14 入力文字列候補表示領域

【特許請求の範囲】
【請求項1】
複数の接触を同時に検出可能なタッチパネルと、
前記タッチパネル上に複数のボタンを表示させ、
前記タッチパネル上の接触位置が継続的に変位する第1接触動作が生じたことを判断する制御部と、を備え、
前記制御部は、前記複数のボタンのいずれか1つを表示する第1領域にて前記第1接触動作が生じていることが判定される状態で、当該第1領域とは異なる第2領域へのさらなる接触である第2接触動作の発生を検出すると、前記第1領域に表示される前記ボタンに対応する文字を入力として受け付けることを特徴とする文字入力装置。
【請求項2】
前記制御部は、前記第1接触動作の接触位置の近傍に、当該接触位置に対応するボタンの文字を付加表示させ、
前記第2接触動作として、前記付加表示への接触を検出することを特徴とする請求項1に記載の文字入力装置。
【請求項3】
前記制御部は、前記付加表示を、前記第1接触動作で検出した接触位置と等間隔となる位置に表示させることを特徴とする請求項2に記載の文字入力装置。
【請求項4】
前記制御部は、前記第1接触動作によって接触が検出された各接触位置を結ぶ軌跡上に表示されるボタンに対応する文字のうち、前記第1接触動作で特定の動作が検出された位置に表示されているボタンに対応する文字を入力としてさらに受け付けることを特徴とする請求項1に記載の文字入力装置。
【請求項5】
前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として接触の開始が検出された位置に表示されているボタンに対応する文字を入力として受け付けることを特徴とする請求項4に記載の文字入力装置。
【請求項6】
前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として接触の終了が検出された位置に表示されているボタンに対応する文字を入力として受け付けることを特徴とする請求項4または5に記載の文字入力装置。
【請求項7】
前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として移動方向の変化が検出された位置に表示されているボタンに対応する文字を入力として受け付けることを特徴とする請求項4から6のいずれか1項に記載の文字入力装置。
【請求項8】
前記制御部は、前記軌跡上に表示されるボタンに対応する文字のうち、前記特定の動作として特定の形状の軌跡を描く移動が検出された位置に表示されているボタンに対応する文字を入力として受け付けることを特徴とする請求項4から7のいずれか1項に記載の文字入力装置。
【請求項9】
前記制御部は、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタンに対応する文字、及び、前記特定の動作が検出された位置に表示されているボタンに対応する文字を組み合わせた文字列が正当な文字列でないと判定される場合に、前記軌跡上に表示されるボタンに対応する文字のうち、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタン以外、および前記特定の動作が検出されたボタン以外のボタンに対応する文字のいずれかを補完した文字列を入力として受け付けることを特徴とする請求項4から8のいずれか1項に記載の文字入力装置。
【請求項10】
前記制御部は、前記特定の動作が検出された位置に表示されるボタンに対応する文字を組み合わせた文字列を辞書と比較し、一致する文字列が検索された場合に検索された文字列を入力として受け付けることを特徴とする請求項4から9のいずれか1項に記載の文字入力装置。
【請求項11】
前記制御部は、第1接触動作による接触が生じたボタンに対応する文字のそれぞれに対して重み付け情報を対応付け、重み付け情報が大きい値が対応付けられた文字の優先度を高くして入力文字列を特定することを特徴とする請求項1から10のいずれか1項に記載の文字入力装置。
【請求項12】
前記制御部は、前記第2接触動作が検出されたときに前記第1接触動作による接触が生じた対応する文字に、前記第2接触動作が検出されずに前記第1接触動作による接触が生じたボタンに対応する文字よりも大きい重み付け情報を対応付けることを特徴とする請求項11に記載の文字入力装置。
【請求項13】
複数の接触を同時に検出可能なタッチパネルを有する文字入力装置によって実行される文字入力方法であって、
前記文字入力装置の制御部が、前記タッチパネル上に複数のボタンを表示させるステップと、
前記タッチパネルが、接触位置が継続的に変位する第1接触動作、及び、前記複数のボタンのいずれか1つを表示する第1領域にて前記第1接触動作が生じていることが判定される状態で、当該第1領域とは異なる第2領域へのさらなる接触である第2接触動作の発生を検出するステップと、
前記文字入力装置の制御部が、前記第1領域に表示される前記ボタンに対応する文字を入力として受け付けるステップと、
を含むことを特徴とする文字入力方法。
【請求項14】
複数の接触を同時に検出可能なタッチパネルを有する文字入力装置に、
前記タッチパネル上に複数のボタンを表示させるステップと、
前記タッチパネルの上の接触位置が継続的に変位する第1接触動作が前記タッチパネルで検出された場合に、前記複数のボタンのいずれか1つを表示する第1領域にて前記第1接触動作が生じていることが判定される状態で、当該第1領域とは異なる第2領域へのさらなる接触である第2接触動作の発生を検出すると、前記第1領域に表示される前記ボタンに対応する文字を入力として受け付けるステップと、
を実行させることを特徴とする文字入力プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16−1】
image rotate

【図16−2】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2011−221969(P2011−221969A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−93533(P2010−93533)
【出願日】平成22年4月14日(2010.4.14)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】