(57)【要約】      （修正有）【課題】タッチパネルを用いたキー入力における誤入力を防止する。【解決手段】端末は、文字「ＡＢＣ」に対応するキーｋ１と、文字「ＤＥＦ」に対応するキーｋ２とを含むテンキーを表示するＬＣＤと、ＬＣＤに積層されたタッチパネルとを有する。タッチパネルは、テンキーへのタッチ入力を受け付ける。プロセッサは、キーｋ１へのタッチとキーｋ２へのタッチとを検出し、キーｋ１へのタッチを検出した後にキーｋ２へのタッチを検出したときは、キーｋ１へのタッチからキーｋ２へのタッチまでの経過時間を判定し、その経過時間が閾値未満のときに、キーｋ２へのタッチをキーｋ１に対するタッチであると決定する。【選択図】図２
2014194673.tif 000002
【特許請求の範囲】
【請求項１】
第１位置に対応する第１キー、及び、前記第１位置と異なる第２位置に対応する第２キーへのタッチ入力を受け付けるタッチパネルと、
前記第１キーへの第１タッチと、前記第２キーへの第２タッチとを検出し、
前記第１タッチを検出した後に前記第２タッチを検出したときは、前記第１タッチから前記第２タッチまでの経過時間を判定し、
前記経過時間が閾値未満のときに、前記第２タッチを前記第１キーに対するタッチであると決定するプロセッサと、
を具備する端末装置。
【請求項２】
前記第１キー及び前記第２キーを表示するディスプレイ、をさらに具備し、
前記プロセッサは、前記第２タッチを前記第１キーに対するタッチであると決定したときは、前記第１キーの前記ディスプレイにおける表示位置を、前記第２タッチのタッチ位置に移動させる、
請求項１に記載の端末装置。
【請求項３】
前記プロセッサは、前記第２タッチがあってからの経過時間が前記閾値以上になった時点で、前記タッチ入力が確定されたことを示す通知音を出力する、
請求項１に記載の端末装置。
【請求項４】
第１位置に対応する第１キー、及び、前記第１位置と異なる第２位置に対応する第２キーへのタッチ入力を受け付けるタッチパネルを具備する端末装置におけるキー入力方法であって、
前記第１キーへの第１タッチと、前記第２キーへの第２タッチとを検出し、
前記第１タッチを検出した後に前記第２タッチを検出したときは、前記第１タッチから前記第２タッチまでの経過時間を判定し、
前記経過時間が閾値未満のときに、前記第２タッチを前記第１キーに対するタッチであると決定する、
キー入力方法。
【請求項５】
第１位置に対応する第１キー、及び、前記第１位置と異なる第２位置に対応する第２キーへのタッチ入力を受け付けるタッチパネルを具備する端末装置に用いられるキー入力プログラムであって、
前記端末装置に、
前記第１キーへの第１タッチと、前記第２キーへの第２タッチとを検出し、
前記第１タッチを検出した後に前記第２タッチを検出したときは、前記第１タッチから前記第２タッチまでの経過時間を判定し、
前記経過時間が閾値未満のときに、前記第２タッチを前記第１キーに対するタッチであると決定する
処理を実行させるキー入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、キー入力方法及びキー入力プログラムに関する。
【背景技術】
【０００２】
最近、携帯端末装置（以下では「携帯端末」と省略して呼ぶことがある）として、機械的なボタンキーを備えた従来の携帯電話機（以下では「旧携帯電話」と呼ぶことがある）に替わり、スマートフォンが普及しつつある。
【０００３】
一般的な旧携帯電話では、機械的な構造のボタンキーを用いて文字入力が行われていた。また、携帯端末は小型であることが望まれるため、携帯端末にはフルキーボードを搭載することができない。そこで、旧携帯電話は機械的な構造の「テンキー」を備え、このテンキーを用いて旧携帯電話への文字入力が行われていた。テンキーを用いた代表的な文字入力方式として「トグル入力」と呼ばれるものがある。トグル入力とは、１つのキーに五十音の１行の文字、または、アルファベット３，４文字等の複数の文字が対応し、１つのキーを押下する毎に順に次の文字が入力文字候補として現れる入力方式である。例えば、トグル入力では、「あ」と表記されたキーが押下される毎に「あ→い→う→え→お→あ→…」という順で入力文字候補が変化し、「ＡＢＣ」と表記されたキーが押下される毎に「Ａ→Ｂ→Ｃ→Ａ→…」という順で入力文字候補が変化する。
【０００４】
また、旧携帯電話のテンキーには、ユーザがテンキーを見ずにテンキーの各キーを指の感触により区別できるようにするために、各キーのタッチ面に互いに異なる凸形状を付けたものがある。これにより、視覚障害があるユーザの文字入力をサポートしていた。
【０００５】
一方で、スマートフォンへの文字入力は、スマートフォンの表面に備えられたＬＣＤ（Liquid  Crystal  Display）に積層されたタッチパネルにユーザの指をタッチして行うものが多い。また、文字入力に使われるテンキーはＬＣＤに画像として表示される。ＬＣＤはテンキーだけでなく、スマートフォンの使用態様に応じて様々な画像を表示する。また、一般的なタッチパネルの表面はフラットな形状しか採れない。このため、スマートフォンのタッチパネル上に、旧携帯電話のように、各キーを区別するための凸形状を形成することは難しい。そこで、視覚障害があるユーザのスマートフォンへの文字入力をサポートする技術として、タッチパネル上のテンキーの何れかがタッチされたときに、タッチされたキーを読み上げて音声によって通知するものがある。例えば、トグル入力において、「ＡＢＣ」と表記されたキーが１回タッチされたときは「エー」と、２回タッチされたときは「ビー」と、３回タッチされたときは「シー」と音声によって通知する。このように、タッチされたキーを音声によって通知することにより、視覚障害があるユーザ等に対して、タッチパネル上における所望のキーの位置を把握させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０１３７３０号公報
【特許文献２】国際公開第２００３／０２７８２６号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、スマートフォンを使用するユーザに視覚障害があるときは、そのユーザはタッチしたい所望のキーを目視によって把握することが困難である。また、上記のように、一般的なタッチパネルの表面はフラットな形状しか採れない。よって、スマートフォンを使用するユーザに視覚障害があるとき、または、ユーザがキー画像を見ずにキー入力を行うとき等には、ユーザが認識している所望のキーと異なるキーがそのユーザによってタッチされることがある。特に、ユーザがトグル入力を行うために同一キーを連続してタッチしたいときに、タッチの度にタッチ位置がずれて、所望のキーと異なるキーをタッチしてしまうことがある。例えばトグル入力を用いて「Ｃ」を入力したいユーザが「ＡＢＣ」キーを３回タッチする際に、タッチの度にタッチ位置がずれて、３回目のタッチのときに、「ＡＢＣ」キーの右隣の「ＤＥＦ」キーをタッチしてしまうことがある。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、タッチパネルを用いたキー入力における誤入力を防止することができる端末装置、キー入力方法及びキー入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
開示の態様の端末装置は、第１位置に対応する第１キー、及び、前記第１位置と異なる第２位置に対応する第２キーへのタッチ入力を受け付けるタッチパネルを有する。端末装置は、前記第１キーへの第１タッチと、前記第２キーへの第２タッチとを検出する。また、端末装置は、前記第１タッチを検出した後に前記第２タッチを検出したときは、前記第１タッチから前記第２タッチまでの経過時間を判定する。そして、端末装置は、前記経過時間が閾値未満のときに、前記第２タッチを前記第１キーに対するタッチであると決定する。
【発明の効果】
【００１０】
開示の態様によれば、タッチパネルを用いたキー入力における誤入力を防止することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１の端末装置のハードウェア構成例を示す図である。
【図２】図２は、実施例１の端末装置の動作の説明に供する図である。
【図３】図３は、実施例１の端末装置の処理の説明に供するフローチャートである。
【図４】図４は、実施例１の端末装置の処理の説明に供するフローチャートである。
【図５】図５は、実施例１の表示モジュールのＸＹ座標の一例を示す図である。
【図６】図６は、実施例１のキー表示テーブルの一例を示す図である。
【図７】図７は、実施例１のトグル文字選択テーブルの一例を示す図である。
【図８】図８は、実施例１のトグル変換中テーブルの一例を示す図である。
【図９】図９は、実施例１のタッチパネルの構成例を示す図である。
【図１０】図１０は、実施例１のキー表示テーブルの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する端末装置、キー入力方法及びキー入力プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本願の開示する端末装置、キー入力方法及びキー入力プログラムが限定されるものではない。また、以下の実施例において、同一の機能を有する構成、及び、同一の処理を行うステップには同一の符号を付し、重複する説明を省略する。なお、以下では、端末装置を「端末」と省略して呼ぶことがある。
【００１３】
＜端末のハードウェア構成＞
図１は、実施例１の端末のハードウェア構成例を示す図である。図１において、端末１０は、プロセッサ１１と、タッチパネル１２と、ＬＣＤ１３と、メモリ１５と、スピーカ１６とを有する。端末１０の一例として、スマートフォン、タブレット端末等がある。
【００１４】
プロセッサ１１は、端末１０の各種処理を行う。特に、プロセッサ１１は、タッチパネル１２に対するタッチ入力の制御を行う。プロセッサ１１の一例として、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。
【００１５】
タッチパネル１２とＬＣＤ１３とは積層されて表示モジュール１４を構成し、表示モジュール１４が端末１０の表面に取り付けられる。
【００１６】
メモリ１５は、各種のアプリケーションプログラム、各種のテーブル等を記憶する。また、メモリ１５は、バッファメモリとして用いられる。メモリ１５の一例として、ＳＤＲＡＭ等のＲＡＭ、ＲＯＭ、フラッシュメモリ等が挙げられる。
【００１７】
スピーカ１６は、音声、通知音等を出力する。
【００１８】
＜端末の動作＞
図２は、実施例１の端末の動作の説明に供する図である。
【００１９】
トグル入力により端末１０にアルファベットの文字入力が行われるとき、表示モジュール１４には、図２に示すように、各キーにアルファベットの３文字または４文字が対応付けられたテンキーが表示される。例えば、キーｋ１にはＡ，Ｂ，Ｃが対応付けられ、キーｋ２にはＤ，Ｅ，Ｆが対応付けられている。よって、キーｋ１がタッチされる毎に「Ａ→Ｂ→Ｃ→Ａ→…」という順で入力文字候補が変化する。また、キーｋ２がタッチされる毎に「Ｄ→Ｅ→Ｆ→Ｄ→…」という順で入力文字候補が変化する。入力文字候補は、図２に示すように、表示モジュール１４の所定の領域に下線付きで表示される。また、テンキーの各キーは、図２に示すように、互いに異なる位置に表示される。これらのキーの位置は、タッチパネル１２及びＬＣＤ１３の双方に共通の２次元平面上の位置である。つまり、タッチパネル１２は、第１位置に対応するキーｋ１、及び、第１位置と異なる第２位置に対応するキーｋ２へのタッチ入力を受け付けるものである。
【００２０】
時刻ｔ１では、ユーザの指によるタッチパネル１２への１回目のタッチとして、キーｋ１の領域内の位置Ｔ１がタッチされたとする。キーｋ１に対する１回目のタッチを検出したプロセッサ１１は、入力文字候補として「Ａ」をＬＣＤ１３に表示させる。
【００２１】
次いで、時刻ｔ２では、１回目のタッチとタッチ位置がずれて、２回目のタッチとして位置Ｔ２がタッチされたとする。タッチ位置Ｔ２は、１回目のタッチ位置Ｔ１と同じくキーｋ１の領域内であるので、プロセッサ１１は、キーｋ１に対する２回目のタッチを検出し、入力文字候補として「Ｂ」をＬＣＤ１３に表示させる。
【００２２】
次いで、時刻ｔ３では、２回目のタッチとタッチ位置がずれて、３回目のタッチとして位置Ｔ３がタッチされたとする。タッチ位置Ｔ３は、２回目のタッチ位置Ｔ２と異なり、キーｋ２の領域内にある。よって、この３回目のタッチは、キーｋ２に対する１回目のタッチとなる。そこで、２回目にタッチされたキーｋ１と異なるキーｋ２が３回目にタッチされたことを検出したプロセッサ１１は、２回目のタッチがなされた時刻ｔ２から３回目のタッチがなされた時刻ｔ３までの経過時間を判定する。そして、プロセッサ１１は、その経過時間が閾値未満のときには、時刻ｔ３におけるキーｋ２に対するタッチをキーｋ１に対するタッチであると決定する。つまり、プロセッサ１１は、キーｋ１へのタッチを検出した後に、キーｋ２へのタッチを検出した時点で、キーｋ１へのタッチからキーｋ２へのタッチまでの経過時間を判定する。そして、プロセッサ１１は、その経過時間が閾値未満のときには、キーｋ２へのタッチをキーｋ１に対するタッチであると決定する。よって、プロセッサ１１は、入力文字候補として、キーｋ２の１回目のタッチに対応する「Ｄ」ではなく、キーｋ１の３回目のタッチに対応する「Ｃ」をＬＣＤ１３に表示させる。
【００２３】
そして、次のタッチがなされることなく、時刻ｔ３からの経過時間が時刻ｔ５で閾値以上になったとする。そこで、プロセッサ１１は、時刻ｔ３でタッチがなされた以降にタッチがなされないまま時刻ｔ３からの経過時間が閾値以上になったことを、入力文字の決定処理として認識する。よって、プロセッサ１１は、時刻ｔ３からの経過時間が閾値以上になった時点である時刻ｔ５で入力文字を「Ｃ」に確定し、次のタッチを待つ。
【００２４】
また、時刻ｔ３でキーｋ２へのタッチをキーｋ１に対するタッチであると決定したプロセッサ１１は、時刻ｔ５で、テンキーの表示位置を、入力文字確定前の最終のタッチ位置であるタッチ位置Ｔ３に従って移動させる。すなわち、時刻ｔ３でキーｋ２へのタッチを検出したプロセッサ１１は、時刻ｔ５で、キーｋ１の中心位置がタッチ位置Ｔ３に一致するように、テンキーの表示位置を移動させる。
【００２５】
＜端末の処理＞
図３，４は、実施例１の端末装置の処理の説明に供するフローチャートである。プロセッサ１１は、ステップＳ１０１〜Ｓ１２４の処理を繰り返し行う。
【００２６】
プロセッサ１１は、ＬＣＤ１３にテンキーを表示させると（ステップＳ１０１）、タッチパネル１２に対してなされる操作を監視し、テンキー表示後の初回タッチである第１タッチを待つ（ステップＳ１０２：Ｎｏ）。
【００２７】
プロセッサ１１は、タッチパネル１２への第１タッチを検出すると（ステップＳ１０２：Ｙｅｓ）、プロセッサ１１が有するタイマーを起動させる（ステップＳ１０３）。タイマーは起動後、一定時間を計時する。
【００２８】
次いで、プロセッサ１１は、ステップＳ１０２でタッチがなされたキーを判定し（ステップＳ１０４）、判定結果をメモリ１５の「入力キーバッファ」に保存するとともに（ステップＳ１０５）、入力キーバッファの内容をメモリ１５の「タッチキーバッファ」にコピーする（ステップＳ１０６）。また、プロセッサ１１は、入力キー、すなわち、ステップＳ１０２でタッチがなされたキーの中心座標を求め、この中心座標の値をメモリ１５の「中心座標バッファ」に保存する（ステップＳ１０７）。
【００２９】
ここで、テンキーの各キーと、ＸＹ座標との対応関係について説明する。図５は、実施例１の表示モジュールのＸＹ座標の一例を示す図であり、図６は、実施例１のキー表示テーブルの一例を示す図である。
【００３０】
図５に示すように、表示モジュール１４の領域サイズ、すなわち、タッチパネル１２のタッチ領域サイズ、及び、ＬＣＤ１３の表示領域サイズは、ＸＹ座標を用いて、左下の角を原点（Ｘ１,Ｙ１）とし、この原点と右上の角の座標点（Ｘ２,Ｙ２）とで表される矩形として規定される。ここでは例えば、表示モジュール１４の領域サイズを、（Ｘ１,Ｙ１）−（Ｘ２,Ｙ２）＝（０,０）−（５３０,６８０）であるとする。
【００３１】
一方で、表示モジュール１４上におけるテンキーの各キーの領域はキー表示テーブルにおいてＸＹ座標を用いて図６に示すように規定される。例えば、キー種別が「ＡＢＣ」であるキーｋ１（図２）の領域は（Ｘ１,Ｙ１）−（Ｘ２,Ｙ２）＝（２００,３００）−（２８０,３６５）であり、キー種別が「ＤＥＦ」であるキーｋ２（図２）の領域は（Ｘ１,Ｙ１）−（Ｘ２,Ｙ２）＝（２９０,３００）−（３７０,３６５）である。そこで、プロセッサ１１は、タッチパネル１２におけるタッチ位置が領域（２００,３００）−（２８０,３６５）の中に含まれる場合は、そのタッチ位置に対応するキーがキーｋ１であると判定する。また、プロセッサ１１は、タッチパネル１２におけるタッチ位置が領域（２９０,３００）−（３７０,３６５）の中に含まれる場合は、そのタッチ位置に対応するキーがキーｋ２であると判定する。また、キー種別が「ＡＢＣ」であるキーｋ１の中心座標は（２４０,３３３）となり、キー種別が「ＤＥＦ」であるキーｋ２の中心座標は（３３０,３３３）となる。
【００３２】
図３での説明に戻り、次いでプロセッサ１１は、トグル文字変換を行う（ステップＳ２００）。トグル文字変換については、図４，７，８を用いて説明する。図７は、実施例１のトグル文字選択テーブルの一例を示す図であり、図８は、実施例１のトグル変換中テーブルの一例を示す図である。
【００３３】
図７に示すように、トグル文字選択テーブルには、テンキーの各キーと、各キーのタッチの連続回数と、選択される入力文字候補との対応付けが規定されている。例えば、キー種別が「ＡＢＣ」であるキーｋ１（図２）が連続してタッチされると、タッチ回数に応じて入力文字候補が「Ａ→Ｂ→Ｃ→Ａ→…」という順に繰り返し変化することが規定されている。また例えば、キー種別が「ＤＥＦ」であるキーｋ２（図２）が連続してタッチされると、タッチ回数に応じて入力文字候補が「Ｄ→Ｅ→Ｆ→Ｄ→…」という順に繰り返し変化することが規定されている。
【００３４】
また、トグル変換中テーブルは、トグル変換中にあるキーを示す項目である「トグル変換中キー」と、トグル変換中キーに対するタッチの連続回数を示す項目である「連続回数」とを有する。
【００３５】
そして、図４に示すように、プロセッサ１１は、入力キーバッファの内容が、トグル変換中テーブルのトグル変換中キーと一致するか否かを判定する（ステップＳ２０１）。
【００３６】
入力キーバッファの内容がトグル変換中テーブルのトグル変換中キーと一致しない場合（ステップＳ２０１：Ｎｏ）、プロセッサ１１は、入力キーバッファの内容をトグル変換中テーブルのトグル変換中キーにコピーする（ステップＳ２０２）。また、プロセッサ１１は、トグル変換中テーブルの連続回数を‘１’にセットする（ステップＳ２０３）。なお、第１タッチはテンキー表示後の初回タッチであるため、第１タッチがあった時点ではトグル変換中キーは空欄である。このため、第１タッチがなされたときは、入力キーバッファの内容はトグル変換中キーと一致しない。
【００３７】
一方で、入力キーバッファの内容がトグル変換中テーブルのトグル変換中キーと一致する場合（ステップＳ２０１：Ｙｅｓ）、プロセッサ１１は、トグル変換中テーブルの連続回数に‘１’を加算する（ステップＳ２０４）。
【００３８】
次いで、プロセッサ１１は、トグル変換中テーブルのトグル変換中キーと連続回数とに基づいてトグル文字選択テーブルを参照し、トグル変換中キーと連続回数とに対応する文字を入力文字候補としてトグル文字選択テーブルから選択する（ステップＳ２０５）。
【００３９】
次いで、プロセッサ１１は、トグル文字選択テーブルから選択した文字が「戻る」であるか否かを判定し（ステップＳ２０６）、「戻る」である場合は（ステップＳ２０６：Ｙｅｓ）、トグル変換中テーブルの連続回数を再び‘１’にセットする（ステップＳ２０３）。
【００４０】
一方で、プロセッサ１１は、トグル文字選択テーブルから選択した文字が「戻る」でない場合（ステップＳ２０６：Ｎｏ）、ステップＳ２０５で選択した文字をＬＣＤ１３に入力文字候補として表示させる（ステップＳ２０７）。
【００４１】
次いで、プロセッサ１１は、ステップＳ２０５で選択した文字を読み上げてスピーカ１６から音声で通知する（ステップＳ２０８）。音声通知後、処理は、図３のフローチャートに戻る。
【００４２】
図３での説明に戻り、プロセッサ１１は、テンキー表示後の２回目以降のタッチ、つまり、第２タッチ以降のタッチを検出したか否かを判定する（ステップＳ１０８）。
【００４３】
プロセッサ１１は、タッチパネル１２への第２タッチ以降のタッチを検出すると（ステップＳ１０８：Ｙｅｓ）、タッチがなされた位置、つまり、タッチ位置の座標を判定し、判定結果をメモリ１５の「タッチ位置バッファ」に保存する（ステップＳ１０９）。また、プロセッサ１１は、ステップＳ１０８でタッチがなされたキーを判定し（ステップＳ１１０）、判定結果をメモリ１５の入力キーバッファに保存する（ステップＳ１１１）。
【００４４】
次いで、プロセッサ１１は、入力キーバッファの内容がタッチキーバッファの内容に一致するか否かを判定する（ステップＳ１１２）。入力キーバッファの内容がタッチキーバッファの内容に一致しない場合（ステップＳ１１２：Ｎｏ）、プロセッサ１１は、さらに、タイマーが満了したか否か、すなわち、タイマーのタイムアウトを検出したか否かを判定する（ステップＳ１１３）。入力キーバッファの内容がタッチキーバッファの内容に一致する場合は（ステップＳ１１２：Ｙｅｓ）、処理はステップＳ１１６に進む。
【００４５】
そして、入力キーバッファの内容がタッチキーバッファの内容に一致しない場合でも、タイマーのタイムアウトが検出されない場合は（ステップＳ１１２：Ｎｏ，ステップＳ１１３：Ｎｏ）、プロセッサ１１は、入力キーバッファの内容を、タッチキーバッファの内容で書き換える（ステップＳ１１４）。
【００４６】
一方で、入力キーバッファの内容がタッチキーバッファの内容に一致せず、かつ、タイマーのタイムアウトが検出された場合は（ステップＳ１１２：Ｎｏ，ステップＳ１１３：Ｙｅｓ）、プロセッサ１１は、タッチキーバッファの内容を、入力キーバッファの内容で書き換える（ステップＳ１１５）。
【００４７】
次いで、プロセッサ１１は、タイマーをリセットして再起動させ（ステップＳ１１６）、トグル文字変換を行う（ステップＳ２００）。トグル文字変換については上述したので説明を省略する。
【００４８】
次いで、ステップＳ２００のトグル文字変換終了後、または、ステップＳ１０８で第２タッチ以降のタッチが検出されない場合（ステップＳ１０８：Ｎｏ）、プロセッサ１１は、入力文字の「決定操作」があったか否かを判定する（ステップＳ１１７）。決定操作がない場合は（ステップＳ１１７：Ｎｏ）、処理はステップ１１８に進み、決定操作があった場合は（ステップＳ１１７：Ｙｅｓ）、処理はステップ１２０に進む。
【００４９】
ここで、「決定操作」とは、以下の第１操作、または、第２操作である。
【００５０】
＜第１操作＞第１操作とは、同一キーが一定時間以上継続してタッチされる操作である。プロセッサ１１は、同一キーがタッチされたまま一定時間以上経過した場合、入力文字の決定操作があったと判定する。
【００５１】
＜第２操作＞第２操作とは、タッチパネル１２が閾値以上の押下量で押下された操作である。第２操作を可能にするために、タッチパネル１２は、図９に示す構成を採る。図９は、実施例１のタッチパネルの構成例を示す図である。すなわち、タッチパネル１２に接続された静電容量測定回路１７がタッチパネル１２のタッチ位置における静電容量を測定する。タッチ位置における押下量が大きくなるほど、静電容量も大きくなる。そこで、プロセッサ１１は、静電容量測定回路１７で測定された静電容量が閾値以上になったとき、入力文字の決定操作があったと判定する。
【００５２】
図３での説明に戻り、ステップＳ１１８では、プロセッサ１１は、タイマーのタイムアウトを検出したか否かを判定する。タイマーのタイムアウトが検出されない場合は（ステップＳ１１８：Ｎｏ）、処理はステップＳ１０８に戻る。
【００５３】
一方で、タイマーのタイムアウトが検出された場合は（ステップＳ１１８：Ｙｅｓ）、プロセッサ１１は、タイムアウトが検出された旨を示す通知音をスピーカ１６から出力する（ステップＳ１１９）。
【００５４】
次いで、プロセッサ１１は、現在の入力文字候補を入力文字に確定する（ステップＳ１２０）。すなわち、プロセッサ１１は、ステップＳ１１７で決定操作があった場合（ステップＳ１１７：Ｙｅｓ）、または、ステップＳ１１８でタイムアウトが検出された場合に（ステップＳ１１８：Ｙｅｓ）、入力文字を確定する。つまり、タッチパネル１２へのタッチ入力が確定される。
【００５５】
次いで、プロセッサ１１は、タッチパネル１２へのタッチ入力が確定された時点での、中心座標バッファに保存されている座標と、タッチ位置バッファに保存されている座標との差分「ｄＸｄＹ」を算出する（ステップＳ１２１）。
【００５６】
次いで、プロセッサ１１は、表示モジュール１４の領域内においてテンキーの表示位置を現在の位置から差分ｄＸｄＹだけ移動可能か否かを判定する（ステップＳ１２２）。
【００５７】
プロセッサ１１は、ステップＳ１２２で移動可能であると判定した場合（ステップＳ１２２：Ｙｅｓ）、キー表示テーブルのすべてのＸＹ座標に差分ｄＸｄＹを反映する（ステップＳ１２３）。
【００５８】
例えば、表示モジュール１４の領域サイズが図５に示すものであり、キー表示テーブルの現在の状態が図６に示すものであったとする。また、ステップＳ１２１で算出された差分ｄＸｄＹが（ｄＸ,ｄＹ）＝（＋５５,±０）であったとする。この場合、図６でのＸ２の最大値‘４６０’にｄＸ‘５５’を加算するとＸ２＋ｄＸ＝５１５となり、表示モジュール１４の領域サイズ内に収まる。よって、この場合は、プロセッサ１１は、ステップＳ１２２において移動可能であると判定し、ステップＳ１２３において、図６のＸ１,Ｘ２,Ｙ１,Ｙ２に（＋５５,±０）を反映させてキー表示テーブルを更新する。よって、更新後のキー表示テーブルは図１０に示すものになる。図１０は、実施例１のキー表示テーブルの一例を示す図である。図１０では、図６に比べ、Ｘ１,Ｘ２の値が５５だけ増加している。よって、テンキーの表示はＸ方向にｄｘ＝５５だけ移動する。
【００５９】
一方で、プロセッサ１１は、ステップＳ１２２で移動可能でないと判定した場合（ステップＳ１２２：Ｎｏ）、差分ｄＸｄＹをスピーカ１６から音声で通知し、キー表示テーブルのＸＹ座標に差分ｄＸｄＹを反映しない（ステップＳ１２４）。
【００６０】
以下、図２に示した時刻ｔ１，ｔ２，ｔ３，ｔ５における一連の動作を、図３，４に示した処理フローに従って説明する。
【００６１】
＜時刻ｔ１＞
プロセッサ１１は、図２の時刻ｔ１以前に、ＬＣＤ１３にテンキーを表示させて（ステップＳ１０１）、タッチパネル１２へのタッチを待つ（ステップＳ１０２）。
【００６２】
プロセッサ１１は、時刻ｔ１で、タッチ位置Ｔ１のタッチを検出すると（ステップＳ１０２：Ｙｅｓ）、タイマーを起動させるとともに（ステップＳ１０３）、タッチ位置Ｔ１に対応するキーがキーｋ１であると判定し（ステップＳ１０４）、判定結果「キーｋ１」を入力キーバッファに保存する（ステップＳ１０５）。また、プロセッサ１１は、入力キーバッファの内容「キーｋ１」をタッチキーバッファにコピーし（ステップＳ１０６）、キーｋ１の中心座標（２４０,３３３）を中心座標バッファに保存する（ステップＳ１０７）。そして、プロセッサ１１はトグル文字変換を行う（ステップＳ２００）。キーｋ１はキー種別「ＡＢＣ」のキーであるため、時刻ｔ１でのタッチに応じて、ＬＣＤ１３には、入力文字候補として「Ａ」が表示される。
【００６３】
なお、プロセッサ１１は、タッチパネル１２におけるタッチ位置が領域（２００,３００）−（２８０,３６５）の中に含まれる場合は、図６のキー表示テーブルに基づき、そのタッチ位置に対応するキーがキーｋ１であると判定する。
【００６４】
＜時刻ｔ２＞
プロセッサ１１は、時刻ｔ２で、タッチ位置Ｔ２のタッチを検出すると（ステップＳ１０８：Ｙｅｓ）、タッチ位置Ｔ２の座標をタッチ位置バッファに保存する（ステップＳ１０９）。また、プロセッサ１１は、タッチ位置Ｔ２に対応するキーがキーｋ１であると判定し（ステップＳ１１０）、判定結果「キーｋ１」を入力キーバッファに保存する（ステップＳ１１１）。
【００６５】
そして、プロセッサ１１は、入力キーバッファの内容とタッチキーバッファの内容とを比較する（ステップＳ１１２）。時刻ｔ２では、入力キーバッファの内容も、タッチキーバッファの内容も「キーｋ１」であるため、両者は一致する（ステップＳ１１２：Ｙｅｓ）。そこで、プロセッサ１１は、タイマーをリセットして再起動させ（ステップＳ１１６）、トグル文字変換を行う（ステップＳ２００）。時刻ｔ２でのタッチはキーｋ１に対して連続してなされた２回目のタッチであるので、時刻ｔ２でのタッチに応じて、ＬＣＤ１３には、入力文字候補として「Ｂ」が表示される。
【００６６】
そして、時刻ｔ２では、決定操作がなされなかったものとする（ステップＳ１１７：Ｎｏ）。また、時刻ｔ２以降、時刻ｔ３でタッチがなされるまでに、タイマーのタイムアウトも検出されなかったものとする（ステップＳ１１８：Ｎｏ）。
【００６７】
＜時刻ｔ３＞
プロセッサ１１は、時刻ｔ３で、タッチ位置Ｔ３のタッチを検出すると（ステップＳ１０８：Ｙｅｓ）、タッチ位置Ｔ３の座標をタッチ位置バッファに保存する（ステップＳ１０９）。また、プロセッサ１１は、タッチ位置Ｔ３に対応するキーがキーｋ２であると判定し（ステップＳ１１０）、判定結果「キーｋ２」を入力キーバッファに保存する（ステップＳ１１１）。
【００６８】
そして、プロセッサ１１は、入力キーバッファの内容とタッチキーバッファの内容とを比較する（ステップＳ１１２）。時刻ｔ３では、入力キーバッファの内容が「キーｋ２」であるのに対し、タッチキーバッファの内容は「キーｋ１」であるため、両者は一致しない（ステップＳ１１２：Ｎｏ）。そこで、プロセッサ１１は、時刻ｔ２で再起動させたタイマーが満了しているか否か、すなわち、タイマーがタイムアウトしているか否かを判定する（ステップＳ１１３）。つまり、プロセッサ１１は、時刻ｔ２でのタッチＴ２のタッチから時刻ｔ３でのタッチＴ３のタッチまでの経過時間が閾値以上であるか否かを判定する。ここでは、タイマーのタイムアウトが検出されない、つまり、時刻ｔ２でのタッチから時刻ｔ３でのタッチまでの経過時間が閾値未満であったとする（ステップＳ１１３：Ｎｏ）。そこで、プロセッサ１１は、タッチキーバッファの内容「キーｋ１」を入力キーバッファに保存することにより、入力キーバッファの内容を「キーｋ２」から「キーｋ１」に変更する（ステップＳ１１４）。つまり、プロセッサ１１は、時刻ｔ３でキーｋ２になされたタッチを、キーｋ１に対するタッチであると決定する。そして、プロセッサ１１は、タイマーをリセットして再起動させ（ステップＳ１１６）、トグル文字変換を行う（ステップＳ２００）。プロセッサ１１は、時刻ｔ３でのキーｋ２に対するタッチをキーｋ１に対するタッチと決定したため、時刻ｔ３でのキーｋ２に対するタッチはキーｋ１に対して連続してなされた３回目のタッチとなる。よって、時刻ｔ３でのタッチに応じて、ＬＣＤ１３には、入力文字候補として「Ｃ」が表示される。
【００６９】
なお、プロセッサ１１は、タッチパネル１２におけるタッチ位置が領域（２９０,３００）−（３７０,３６５）の中に含まれる場合は、図６のキー表示テーブルに基づき、そのタッチ位置に対応するキーがキーｋ２であると判定する。
【００７０】
そして、時刻ｔ３では、決定操作がなされなかったものとする（ステップＳ１１７：Ｎｏ）。一方で、時刻ｔ３以降にはタッチがなされないまま時間が経過し、時刻ｔ３で再起動させたタイマーのタイムアウトが時刻ｔ５で検出されたとする（ステップＳ１１８：Ｙｅｓ）。
【００７１】
＜時刻ｔ５＞
プロセッサ１１は、時刻ｔ５でタイマーのタイムアウトを検出したため、すなわち、時刻ｔ３からの経過時間が時刻ｔ５で閾値以上になったため（ステップＳ１１８：Ｙｅｓ）、タイムアウトが検出された旨を示す通知音をスピーカ１６から出力し（ステップＳ１１９）、現在の入力文字候補「Ｃ」を入力文字に確定する（ステップＳ１２０）。つまり、この通知音は、タッチパネル１２へのタッチ入力が確定されたことを示す。
【００７２】
そして、プロセッサ１１は、時刻ｔ１で中心座標バッファに保存したキーｋ１の中心座標（２４０,３３３）と、時刻ｔ３でタッチ位置バッファに保存されたタッチ位置Ｔ３の座標との差分ｄＸｄＹを算出する（ステップＳ１２１）。ここでは、算出された差分ｄＸｄＹが（ｄＸ,ｄＹ）＝（＋５５,±０）であったとする。また、表示モジュール１４の領域サイズが図５に示すものであり、キー表示テーブルの時刻ｔ１，ｔ２，ｔ３における状態が図６に示すものであったとする。この場合、プロセッサ１１は、上述のように、表示モジュール１４の領域内においてテンキーの表示位置を差分ｄＸｄＹだけ移動可能であると判定する（ステップＳ１２２：Ｙｅｓ）。そこで、プロセッサ１１は、図６のＸ１,Ｘ２,Ｙ１,Ｙ２に（＋５５,±０）を反映させてキー表示テーブルを更新するため（ステップＳ１２３）、更新後のキー表示テーブルは図１０に示すものになる。よって、プロセッサ１１は、時刻ｔ５で、図１０のキー表示テーブルに基づいてＬＣＤ１３にテンキーを表示させる。よって、時刻ｔ５でのテンキーの表示位置は、時刻ｔ３での表示位置よりもＸ方向にｄＸ＝５５だけ移動したものになる。つまり、キーｋ１の表示位置は、タッチ位置Ｔ３に移動する。
【００７３】
以上のように、端末１０は、（Ｘ１,Ｙ１）−（Ｘ２,Ｙ２）＝（２００,３００）−（２８０,３６５）の位置に対応するキーｋ１、及び、（Ｘ１,Ｙ１）−（Ｘ２,Ｙ２）＝（２９０,３００）−（３７０,３６５）の位置に対応するキーｋ２へのタッチ入力を受け付けるタッチパネル１２を有する。プロセッサ１１は、キーｋ１へのタッチと、キーｋ２へのタッチとを検出し、キーｋ１へのタッチを検出した後にキーｋ２へのタッチを検出したときは、キーｋ１へのタッチからキーｋ２へのタッチまでの経過時間を判定する。そして、プロセッサ１１は、その経過時間が閾値未満のときに、キーｋ２へのタッチをキーｋ１に対するタッチであると決定する。
【００７４】
こうすることで、前回のタッチから一定時間以内になされたタッチを同一キーに連続してなされたタッチであると決定することができる。このため、ユーザが同一キーを連続してタッチしたいときに、タッチの度にタッチ位置がずれて、ユーザが認識している所望のキーと異なるキーをタッチしてしまう場合でも、その所望のキーへのタッチとしてキー入力を行うことができる。つまり、タッチパネルへの一連の連続タッチを、ユーザが認識している所望の同一キーに対する連続入力に一致させることができる。よって、本実施例によれば、タッチパネルを用いたキー入力における誤入力を防止することができる。特に、視覚障害があるユーザ、または、キー画像を見ずにキー入力を行うユーザが、トグル入力を行う際の誤入力を防止することができる。
【００７５】
また、端末１０は、キーｋ１及びキーｋ２を表示するＬＣＤ１３を有する。プロセッサ１１は、キーｋ２へのタッチをキーｋ１に対するタッチであると決定したときは、キーｋ１のＬＣＤ１３における表示位置を、キーｋ２へのタッチ位置に移動させる。
【００７６】
こうすることで、タッチ位置がずれた分だけキーｋ１の表示位置をずらすことができるため、タッチするキーを目視で認識可能なユーザは、キーｋ１に対するタッチであると決定されたキーｋ２へのタッチを、キーｋ１に対するタッチであると確認できる。よって、キーｋ２へのタッチをキーｋ１に対するタッチであると決定する場合のユーザの利便性を向上させることができる。
【００７７】
また、プロセッサ１１は、キーｋ２へのタッチがあってからの経過時間が閾値以上になった時点で、タッチ入力が確定されたことを示す通知音を出力する。
【００７８】
こうすることで、端末１０が経過時間に基づいて自動的に行うタッチ入力の確定を、視覚障害があるユーザ、または、キー画像を見ずにキー入力を行うユーザ等に対して通知することができる。
【００７９】
［他の実施例］
［１］端末１０での上記説明における各処理は、予め用意されたプログラムをプロセッサ１１に実行させることによっても実現できる。例えば、上記説明における各処理に対応するプログラムが予めメモリ１５に記憶され、各プログラムがプロセッサ１１によってメモリ１５から読み出されて実行されてもよい。
【００８０】
［２］開示の技術は、スマートフォンのような通信機能を有する端末だけでなく、通信機能を有しない端末にも適用可能である。
【符号の説明】
【００８１】
１０  端末
１１  プロセッサ
１２  タッチパネル
１３  ＬＣＤ
１４  表示モジュール
１５  メモリ
１６  スピーカ
１７  静電容量測定回路
【図１】
2014194673.tif 000003
【図２】
2014194673.tif 000004
【図３】
2014194673.tif 000005
【図４】
2014194673.tif 000006
【図５】
2014194673.tif 000007
【図６】
2014194673.tif 000008
【図７】
2014194673.tif 000009
【図８】
2014194673.tif 000010
【図９】
2014194673.tif 000011
【図１０】
2014194673.tif 000012