(57)【要約】【課題】文字入力を効率よく行うこと。【解決手段】情報処理システム１００は、第１選択部１６０と、確定部１７０と、第２選択部１８０と、を備えている。第１選択部１６０は、第１キー１１０の押下回数に応じて当該第１キー１１０に割り当てられている入力候補群から入力候補を選択する。確定部１７０は、第１選択部１６０において入力候補が選択された後に、第１キー１１０とは異なる第２キー１２０の押下操作を受けた第１の場合に、第１キー１１０の押下操作により選択された入力候補の選択を確定させる。第２選択部１８０は、第１の場合に、第２キー１２０の押下操作を受け付ける前に押下操作を受け付けていた第１キー１１０に割り当てられている入力候補群から入力候補を新たに選択する。【選択図】図１
2012008849.tif 000002
【特許請求の範囲】
【請求項１】
第１キーの押下回数に応じて当該第１キーに割り当てられている入力候補群から入力候補を選択する、第１選択部と、
前記第１選択部において前記入力候補が選択された後に、前記第１キーとは異なる第２キーの押下操作を受けた第１の場合に、前記第１キーの押下操作により選択された入力候補の選択を確定させる、確定部と、
前記第１の場合に、前記第２キーの押下操作を受け付ける前に押下操作を受け付けていた前記第１キーに割り当てられている入力候補群から入力候補を新たに選択する、第２選択部、
として電子機器を動作させるプログラム。
【請求項２】
前記第２選択部は、前記第２キーの連続的な押下回数または前記第１キーの連続的な押下回数または前記確定部により確定された際の前記第１キーの押下回数のいずれか一方に応じて、前記入力候補群から前記入力候補を選択する、
前記請求項１に記載のプログラム。
【請求項３】
前記確定部は、前記第２選択部において前記入力候補が選択された後に、前記第１キーの押下操作を受けた第２の場合に、前記第２キーの押下操作により選択された入力候補の選択を確定させ、
前記第１選択部は、前記第２の場合に、前記押下操作を受けた前記第１キーに割り当てられている入力候補群から、前記第１キーの連続的な押下回数に応じて入力候補を新たに選択する、
前記請求項１または２に記載のプログラム。
【請求項４】
前記第１キー毎に固有の値を有する第１コードと、前記第１コードにより特定される第１キーの押下回数に応じて選択対象とされる前記押下回数毎の入力候補と、を対応付けた変換表を格納する、変換表格納部と、
前記第１キーが押下された場合に当該押下された第１キーの第１コードを格納するコード格納部、
として電子機器をさらに動作させ、
前記第１選択部は、前記押下された第１キーの第１コードと前記第１キーの押下回数とに基づいて特定される前記入力候補を、前記変換表を参照して選択し、
前記第２選択部は、前記第２キーの押下を検知した場合に、前記コード格納部に格納した前記第１コードに基づいて特定される前記入力候補を、前記変換表を参照して選択する、
前記請求項１乃至３に記載のプログラム。
【請求項５】
前記第２選択部は、前記コード格納部に格納した前記第１コードに基づいて前記入力候補を特定する際に、前記第２キーの連続的な押下回数または前記第１キーの連続的な押下回数または前記確定部により確定された際の前記第１キーの押下回数のいずれか一方に基づいて、前記入力候補をさらに特定する、
前記請求項４に記載のプログラム。
【請求項６】
少なくとも４段３列に並べられたキーのうち、第１段において左から「１」「２」「３」が表記された３個のキーと、第２段において左から「４」「５」「６」が表記された３個のキーと、第３段において左から「７」「８」「９」が表記された３個のキーと、第４段において「０」が表記された１個のキーとを含む、第１キーと、
前記第１キーのうち同一キーの連続的な押下回数に応じて当該押下操作された第１キーに割り当てられている入力候補群から入力候補を選択する、第１選択部と、
前記第１選択部において前記入力候補が選択された後に、前記第１キーとは異なる第２キーの押下操作を受けた第１の場合、前記第１キーの押下操作により選択された入力候補の選択を確定させる、確定部と、
前記第１の場合に、前記第２キーの押下操作を受け付ける前に押下操作を受け付けていた前記第１キーに割り当てられている入力候補群から新たな入力候補を選択する、第２選択部、
として動作する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力処理を行うプログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
たとえば携帯電話端末において日本語入力を行う場合に、「ひらがな」「カタカナ」「英字」「数字」などの入力モードを指定し、入力モードに応じた文字種で文字列入力を行い、変換キーを操作することで入力された文字列を漢字などに変換する方式がある。そして、入力モードに応じた文字種で文字列入力を行う際に、「１」〜「９」，「０」の各数字キーに対して、同一キーへの連続タップ（マルチタップ）の回数に応じて多重に割り当てた文字を入力する方式が利用されている（たとえば、下記特許文献１参照。）。
【０００３】
たとえば入力モードが「ひらがな」の場合は、「１」〜「９」，「０」の各数字キーにそれぞれあ行、か行、さ行、…、ら行、わ行の各文字が割り当てられる。そして、同一キーへの連続タップ回数に応じて、そのキーに割り当てられた各文字のいずれかが入力される。また、一般的な手順において、文字を続けて入力するには、数字キーの連続タップ中に右方向キーなどの確定キーをタップすることで、連続タップ操作を終端して、入力する文字を確定してから次の文字の入力に進む方式が用いられている。
【０００４】
また、引き続き入力する文字が、マルチタップ中のキーに割り当てられた文字と異なる数字キーに割り当てられている文字の場合は、右方向キー入力を省略して次の文字入力に進む方式が用いられている。また、マルチタップ後に一定時間以上のウェイトを置いた場合に、右方向キー入力を省略して次の文字入力に進む方式が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−８２７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、文字入力を効率よく行うことができないという問題がある。たとえば、上述した一般的な手順では、ある文字入力に続けて入力する文字が同じキーに割り当てられた文字の場合には、異なるキーに割り当てられた文字が続く場合に比べてタップ数が多くなる。また、マルチタップ後のウェイトによって次の文字入力に進む方式では、次の文字入力に進むまでに時間がかかる。
【０００７】
開示のプログラムおよび情報処理システムは、上述した問題点を解消するものであり、文字入力を効率よく行うことを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、開示技術は、第１キーの押下回数に応じて当該第１キーに割り当てられている入力候補群から入力候補を選択し、前記入力候補が選択された後に、前記第１キーとは異なる第２キーの押下操作を受けた第１の場合に、前記第１キーの押下操作により選択された入力候補の選択を確定させ、前記第１の場合に、前記第２キーの押下操作を受け付ける前に押下操作を受け付けていた前記第１キーに割り当てられている入力候補群から入力候補を新たに選択することを要件とする。
【発明の効果】
【０００９】
開示のプログラムおよび情報処理システムによれば、文字入力を効率よく行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる情報処理システムを示すブロック図である。
【図２−１】情報処理システムの具体例を示すブロック図である。
【図２−２】文字入力処理部の具体例を示すブロック図である。
【図３−１】ひらがな入力モードに対応するタップ回数入力文字表の一例を示す図である。
【図３−２】カタカナ入力モードに対応するタップ回数入力文字表の一例を示す図である。
【図３−３】英字入力モードに対応するタップ回数入力文字表の一例を示す図である。
【図３−４】数字入力モードに対応するタップ回数入力文字表の一例を示す図である。
【図４−１】文字入力処理部の処理の一例を示すフローチャート（その１）である。
【図４−２】文字入力処理部の処理の一例を示すフローチャート（その２）である。
【図５】数字キーに基づく第１処理の一例を示すフローチャートである。
【図６】一時代用キーに基づく第２処理の一例を示すフローチャートである。
【図７】文字入力処理の状態遷移の一例を示す図である。
【図８】変形例にかかる数字キーに基づく第１処理を示すフローチャートである。
【図９】変形例にかかる一時代用キーに基づく第２処理を示すフローチャートである。
【図１０】変形例にかかる文字入力処理の状態遷移を示す図である。
【図１１】情報処理システムを適用した携帯電話端末の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。
【００１２】
（実施の形態）
（情報処理システムの構成）
図１は、実施の形態にかかる情報処理システムを示すブロック図である。実施の形態にかかる情報処理システム１００は、ユーザによるキー入力に応じて文字の入力処理を行う。図１に示すように、情報処理システム１００は、第１キー１１０と、第２キー１２０と、変換表格納部１３０と、コード格納部１４０と、入力候補格納部１５０と、第１選択部１６０と、確定部１７０と、第２選択部１８０と、出力部１９０と、を備えている。
【００１３】
第１キー１１０および第２キー１２０は、物理的に形成されたキー（たとえばキーボード）であってもよいし、タッチパネルなどに表示された擬似的なキーであってもよい。第１キー１１０は、一つまたは複数のキーである。ここでは、第１キー１１０が複数のキー（たとえば「１」，「２」，…，「９」，「０」の各数字キー）である場合について説明する。第２キー１２０は、第１キー１１０とは異なるキーである。第２キー１２０は、たとえば、第１キー１１０を一時的に代用するキーとして用いられる。
【００１４】
情報処理システム１００において、第１キー１１０のそれぞれには文字または文字列の入力候補群が割り当てられている。ここでは、第１キー１１０のそれぞれに文字が割り当てられている場合について説明する。たとえば、変換表格納部１３０には、第１キー１１０毎に固有の値を有する第１コード（たとえばキーコード）と、第１コードにより特定される第１キー１１０の押下回数に応じて選択対象とされる押下回数毎の入力候補と、を対応付けた変換表が格納されている。変換表においては、たとえば、第１キー１１０である「１」のキーの押下回数１〜５にそれぞれ「あ」〜「お」が対応付けられている。
【００１５】
コード格納部１４０は、第１キー１１０が押下（タップ）された場合に、押下された第１キー１１０に対応する第１コードを格納する。入力候補格納部１５０は、入力候補の文字列（１文字も含む）を格納する。入力候補格納部１５０の入力候補は、第１選択部１６０、確定部１７０および第２選択部１８０によって処理される。
【００１６】
第１選択部１６０は、第１キー１１０のうちの同一キーの連続的な押下回数に応じて、押下された第１キー１１０に割り当てられている入力候補群から入力候補を選択する。たとえば、第１選択部１６０は、押下された第１キー１１０の第１コードと第１キー１１０の押下回数とに基づいて特定される入力候補を、変換表格納部１３０に格納された変換表を参照して選択する。第１選択部１６０は、選択した入力候補を入力候補格納部１５０に格納する。
【００１７】
確定部１７０は、第１選択部１６０において入力候補が選択された後に第２キー１２０の押下操作を受けた場合（以下、「第１の場合」と称する）に、第１キー１１０の押下操作により選択されて入力候補格納部１５０に格納された入力候補の選択を確定させる。これにより、入力候補の文字列が入力文字列として確定される。ただし、情報処理システム１００において、第１選択部１６０によって確定された文字列がさらに変換（たとえば日本語変換）されて入力されてもよい。
【００１８】
第２選択部１８０は、第１の場合に、第２キー１２０の押下操作を受け付ける前に押下操作を受け付けていた第１キー１１０に割り当てられている入力候補群から入力候補を新たに選択する。たとえば、第２選択部１８０は、第２キー１２０の押下を検知した場合に、コード格納部１４０に格納された第１コードに基づいて特定される入力候補を、変換表格納部１３０に格納された変換表を参照して選択する。第２選択部１８０は、選択した入力候補を入力候補格納部１５０に格納する。
【００１９】
出力部１９０は、入力候補格納部１５０に格納され、入力文字列として確定された文字列を読み出して後段の処理部へ出力する。これにより、ユーザによるキー入力に応じた文字列を後段の処理部へ出力することができる。後段の処理部は、たとえば、文字列をユーザに表示する処理部や、文字列を変換（たとえば日本語変換）する処理部や、文字列を情報処理システム１００のメモリに記憶する処理部などである。
【００２０】
出力部１９０が文字列を出力する契機は、特定の契機に限らない。たとえば、出力部１９０は、入力候補格納部１５０において入力候補の文字列が入力文字列として確定したときに文字列を出力する。または、出力部１９０は、ユーザによる所定の操作（たとえば日本語変換の操作）があったときなどに文字列を出力してもよい。
【００２１】
以上の構成により、第１選択部１６０において入力候補が選択された後に第２キー１２０のタップを受けた第１の場合に、入力候補の選択の確定と、新たな入力候補の選択と、の両方が実行される。これにより、同一の第１キー１１０に割り当てられた文字を連続して入力する場合のユーザによるキーのタップ数を低減することができる。また、マルチタップ後のウェイトによって次の文字入力に進む手順に比べて、次の文字入力に進むまでの時間を短縮することができる。このため、文字入力を効率よく行うことができる。
【００２２】
＜第１の場合の処理の後における処理＞
つぎに、第１の場合に入力候補の選択の確定と新たな入力候補の選択とが実行された後における処理について説明する。たとえば、第２選択部１８０は、第１の場合の後に、第２キー１２０の連続的な押下回数に応じて、入力候補群から入力候補を選択する（たとえば図５〜図７参照）。または、第２選択部１８０は、第１の場合の後に、第１キー１１０の連続的な押下回数に応じて入力候補群から入力候補を選択するようにしてもよい（たとえば図８〜図１０参照）。
【００２３】
または、第２選択部１８０は、確定部１７０により確定された際の第１キー１１０の押下回数に応じて入力候補群から入力候補を選択するようにしてもよい。たとえば、第１選択部１６０において選択され、確定部１７０により確定された入力候補が「い」であるとした場合、第２選択部１８０においても「い」が選択される。したがって、第２キー１２０を押下される度に「い」の選択が確定されて新たな「い」が選択され、その結果、第２キー１２０の押下回数と同じ個数の「い」が入力される。
【００２４】
また、確定部１７０は、第２選択部１８０において入力候補が選択された後に第１キー１１０の押下操作を受けた場合（以下、「第２の場合」と称する）に、第２キー１２０の押下操作により選択された入力候補の選択を確定させるようにしてもよい。これに対して、第１選択部１６０は、第２の場合は、押下操作を受けた第１キー１１０に割り当てられている入力候補群から、第１キー１１０の連続的な押下回数に応じて入力候補を新たに選択する。
【００２５】
また、これに対して、第２選択部１８０は、コード格納部１４０に格納された第１コードに基づいて入力候補を特定する際に、第２キー１２０の連続的な押下回数に基づいて入力候補をさらに特定するようにしてもよい。または、第２選択部１８０は、コード格納部１４０に格納された第１コードに基づいて入力候補を特定する際に、第１キー１１０の連続的な押下回数に基づいて入力候補をさらに特定するようにしてもよい。または、第２選択部１８０は、コード格納部１４０に格納された第１コードに基づいて入力候補を特定する際に、確定部１７０により確定された際の第１キー１１０の押下回数に基づいて入力候補をさらに特定するようにしてもよい。
【００２６】
＜各部のハードウェア構成＞
上述した第１選択部１６０、確定部１７０、第２選択部１８０および出力部１９０は、たとえばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの制御部によって実現することができる。また、第１選択部１６０、確定部１７０、第２選択部１８０および出力部１９０は、一つの制御部によって実現されてもよいし、複数の制御部によって実現されてもよい。また、第１選択部１６０、確定部１７０、第２選択部１８０および出力部１９０の各動作を制御する制御部を情報処理システム１００に設けてもよい。
【００２７】
変換表格納部１３０、コード格納部１４０および入力候補格納部１５０は、情報処理システム１００が備えるメモリによって実現することができる。また、変換表格納部１３０、コード格納部１４０および入力候補格納部１５０は、一つのメモリによって実現されてもよいし、複数のメモリによって実現されてもよい。
【００２８】
＜プログラム＞
また、情報処理システム１００は、第１キー１１０および第２キー１２０を備える電子機器を、第１選択部１６０、確定部１７０、第２選択部１８０および出力部１９０として動作させるプログラムによって実現することができる。また、このプログラムは、電子機器をさらに変換表格納部１３０、コード格納部１４０、入力候補格納部１５０として動作させるプログラムであってもよい。
【００２９】
このプログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布してもよい。
【００３０】
＜変形例＞
第１キー１１０に文字が割り当てられている場合について説明したが、第１キー１１０に文字列が割り当てられていてもよい。たとえば、変換表格納部１３０の変換表において第１キー１１０に定型句や顔文字などの複数の文字列を対応付けておくことで、第１キー１１０および第２キー１２０によって複数の文字列を連続して入力することができる。この場合も、第１キー１１０に割り当てられた文字列を連続して入力する場合のユーザによるキーの押下回数を削減することができる。
【００３１】
第１キー１１０が複数のキーである場合について説明したが、第１キー１１０は一つのキーであってもよい。たとえば、変換表格納部１３０の変換表において一つの第１キー１１０に「Ａ」〜「Ｚ」を対応付けておくことで、一つの第１キー１１０および第２キー１２０によって「Ａ」〜「Ｚ」を連続して入力することができる。この場合も、第１キー１１０に割り当てられた文字を連続して入力する場合のユーザによるキーの押下回数を削減することができる。
【００３２】
図２−１は、情報処理システムの具体例を示すブロック図である。図２−１に示す情報処理システム２００は、図１に示した情報処理システム１００の具体例である。情報処理システム２００は、キーボード２１１と、キーボードドライバ２１２と、キーコードバッファ２１３と、アプリケーション実行部２２０と、日本語処理部２３０と、画面表示ドライバ２４１と、画面表示デバイス２４２と、を備えている。
【００３３】
キーボード２１１は、ユーザからのキー入力を受け付けるユーザ入力インターフェースである。キーボード２１１は、たとえば、「１」，「２」，…，「９」，「０」の各数字キー、上下左右の各方向キー、文字列を日本語変換する変換キー、入力モードを切り替える入力モード変更キー、メール機能を起動するメールキー、および一時代用キーなどを備える。また、たとえば下の方向キーは変換キーを兼用してもよい。
【００３４】
また、たとえばメールキーは一時代用キーを兼用してもよい。このように、一時代用キーは、文字入力時には使用しない他のキーによって兼用してもよい。これにより、一時代用キーを他のキーとは別に設けなくても、一時代用キーの機能を実現することができる。ただし、一時代用キーを他のキーとは別に設ける構成とすることも可能である。
【００３５】
キーボード２１１の「１」，「２」，…，「９」，「０」の各数字キーは、図１に示した第１キー１１０に対応する。キーボード２１１の一時代用キーは、図１に示した第２キー１２０に対応する。キーボード２１１は、ユーザからキー入力を受け付けたキーを示すキー入力信号をキーボードドライバ２１２へ出力する。
【００３６】
キーボードドライバ２１２は、キーボード２１１に対するキー入力を監視し、キーボード２１１から出力されるキー入力信号を取得する。そして、キーボードドライバ２１２は、取得したキー入力信号に基づくキーコードをキーコードバッファ２１３へ出力する。キー入力信号に基づくキーコードは、たとえば、キーボード２１１においてタップされたキーを示すキーコードである。キーコードバッファ２１３は、キーボードドライバ２１２から出力されたキーコードを一時格納するＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ：先入れ先出し）方式のバッファである。
【００３７】
アプリケーション実行部２２０は、日本語入力が行われるアプリケーションを実行する。たとえば、アプリケーション実行部２２０は、実行中のアプリケーションにおける文字列入力欄に入力フォーカスが移動した場合に、文字列入力要求を日本語処理部２３０へ出力する。また、アプリケーション実行部２２０は、日本語処理部２３０から出力された文字列を、入力フォーカスのある文字列入力欄に反映させる。
【００３８】
日本語処理部２３０は、文字入力処理部２３１と、入力文字列表示処理部２３２と、日本語変換処理部２３３と、変換後文字列表示処理部２３４と、を備えている。文字入力処理部２３１は、図１に示した変換表格納部１３０、コード格納部１４０、入力候補格納部１５０、第１選択部１６０、確定部１７０、第２選択部１８０および出力部１９０に対応する。たとえば、文字入力処理部２３１は、キーコードバッファ２１３からキーコードを順次取得し、取得したキーコードに基づく文字入力処理を行う。
【００３９】
文字入力処理部２３１による文字入力処理は、たとえば、日本語変換前の文字列（たとえば日本語の読みを示すひらがな）を確定させる処理（たとえば図２−２参照）である。文字入力処理部２３１は、文字入力処理による文字列の入力状態を示す情報を入力文字列表示処理部２３２へ出力する。入力状態を示す情報には、たとえば、入力候補の選択状態や入力文字列として確定した文字列などの情報が含まれる。また、文字入力処理部２３１は、確定させた日本語変換前の文字列を日本語変換処理部２３３へ出力する。
【００４０】
入力文字列表示処理部２３２は、文字入力処理部２３１から出力された情報に基づく表示指示を生成し、生成した表示指示を画面表示ドライバ２４１へ出力する。これにより、文字入力処理部２３１の文字入力処理による文字列の入力状態（たとえば図７の画面７０１〜７１１参照）を画面表示デバイス２４２に表示させることができる。
【００４１】
日本語変換処理部２３３は、文字入力処理部２３１から出力された文字列（たとえば日本語の読みを示すひらがな）を日本語変換する。日本語変換処理部２３３は、日本語変換した文字列を変換後文字列表示処理部２３４およびアプリケーション実行部２２０へ出力する。変換後文字列表示処理部２３４は、日本語変換処理部２３３から出力された文字列に基づく表示指示を生成し、生成した表示指示を画面表示ドライバ２４１へ出力する。これにより、日本語変換処理部２３３によって日本語変換された文字列を画面表示デバイス２４２に表示させることができる。
【００４２】
画面表示ドライバ２４１は、画面表示デバイス２４２へ表示要求を出力することによって、入力文字列表示処理部２３２または変換後文字列表示処理部２３４から出力された表示指示に基づく画面を画面表示デバイス２４２に表示させる。画面表示デバイス２４２は、画面表示ドライバ２４１による制御にしたがってユーザに対して画面表示するユーザ出力インターフェースである。
【００４３】
文字入力処理部２３１の文字入力処理によって得られた文字列を日本語変換処理部２３３によって日本語変換する場合について説明したが、このような構成に限らない。たとえば、文字入力処理部２３１の文字入力処理によって得られた文字列をアプリケーション実行部２２０へ出力するようにしてもよい。この場合は、日本語変換処理部２３３や変換後文字列表示処理部２３４を省いた構成にしてもよい。
【００４４】
図２−２は、文字入力処理部の具体例を示すブロック図である。図２−１に示した文字入力処理部２３１は、図２−２に示すように、格納部２３１ａと、処理メイン部２３１ｂと、処理サブ部２３１ｃと、を備えている。格納部２３１ａは、図１に示した変換表格納部１３０、コード格納部１４０および入力候補格納部１５０に対応する。
【００４５】
＜変数領域＞
格納部２３１ａは、処理メイン部２３１ｂおよび処理サブ部２３１ｃによる文字入力処理のワークエリアとして用いられる。格納部２３１ａには、変数領域として、「入力モード」、「タップされたキーコード」、「タップ回数」、「前回入力キーコード」、「前回数字キーコード」、「入力中文字列」および「文字入力位置」が定義されるとする。
【００４６】
「入力モード」は、現在のキー入力のモードを保存する変数領域である。キー入力のモードには、たとえば「ひらがな入力モード」、「カタカナ入力モード」、「英字入力モード」および「数字入力モード」などがある。「入力モード」は、たとえば、キーボード２１１の入力モード変更キーがタップされる度に、「ひらがな入力モード」、「カタカナ入力モード」、「英字入力モード」、「数字入力モード」の順に切り替わる。
【００４７】
「タップされたキーコード」は、キーボード２１１において最後にタップされたキーのキーコードを保存する変数領域である。「タップ回数」は、数字キーまたは一時代用キーが連続してタップされた回数（１回以上）を保存する変数領域である。
【００４８】
「前回入力キーコード」は、「タップされたキーコード」に保存されたキーの前にタップされたキーのキーコードを保存する変数領域である。「前回入力キーコード」には、次のキータップに対する文字入力処理に備えて、タップされたキーコード（数字キーまたは一時代用キーの場合）または空値（その他のキーの場合）が保存される。
【００４９】
「前回数字キーコード」は、最後にタップされた数字キーのキーコードを保存する変数領域である。「前回数字キーコード」は、「タップされたキーコード」が一時代用キーのキーコードであり、「前回入力キーコード」が数字キーのキーコードである場合に、引き続き一時代用キーがタップされて数字キー入力を代用するのに備えて設定される。「前回数字キーコード」は、図１に示したコード格納部１４０に対応する。
【００５０】
「入力中文字列」は、現在の「入力モード」での入力文字列を保存する変数領域である。「入力中文字列」は、図１に示した入力候補格納部１５０に対応する。「文字入力位置」は、「入力中文字列」中の現在の文字入力位置を保存する変数領域である。キー入力があると、「入力モード」に応じた文字が「文字入力位置」に挿入または置換される。
【００５１】
＜タップ回数入力文字表＞
また、格納部２３１ａは、タップ回数入力文字表をキー入力のモード毎に記憶している（たとえば図３−１〜図３−４参照）。格納部２３１ａのタップ回数入力文字表を記憶している領域は、図１に示した変換表格納部１３０に対応する。タップ回数入力文字表は、図１に示した変換表格納部１３０に格納された変換表に対応する。タップ回数入力文字表は、数字キーが連続してタップされた回数に応じて入力される文字の対応表である。
【００５２】
＜文字入力処理＞
処理メイン部２３１ｂは、アプリケーション実行部２２０から文字列入力要求が出力されると、キーコードバッファ２１３からのキーコードの読み出しを開始する。処理メイン部２３１ｂは、キーコードを読み出す度に、読み出したキーコードを格納部２３１ａの「タップされたキーコード」に設定して処理サブ部２３１ｃを呼び出す。
【００５３】
処理サブ部２３１ｃは、図１に示した第１選択部１６０、確定部１７０および第２選択部１８０に対応する。処理サブ部２３１ｃは、処理メイン部２３１ｂによって呼び出されると、格納部２３１ａの「タップされたキーコード」および「前回入力キーコード」の各値の組み合わせに応じた文字入力処理を行う。また、処理サブ部２３１ｃは、文字入力処理による文字列の入力状態を示す情報を入力文字列表示処理部２３２へ出力する。また、処理サブ部２３１ｃは、文字入力処理により確定させた日本語変換前の文字列を日本語変換処理部２３３へ出力する。
【００５４】
（タップ回数入力文字表）
つぎに、図３−１〜図３−４において、格納部２３１ａに格納されるキー入力のモード毎のタップ回数入力文字表の一例について説明する。なお、図３−１〜図３−４の説明において、全角の文字と半角の文字とは区別しないこととする。
【００５５】
図３−１は、ひらがな入力モードに対応するタップ回数入力文字表の一例を示す図である。タップ回数入力文字表３１０は、格納部２３１ａに格納され、「入力モード」が「ひらがな入力モード」である場合に参照される。タップ回数入力文字表３１０においては、「１」，「２」，…，「９」，「０」のキー（数字キー）と「タップ回数」との組み合わせ毎にひらがなの文字が対応付けられている。たとえば、「１」のキーと「タップ回数」＝１との組み合わせには「あ」が対応付けられている。また、「１」のキーと「タップ回数」＝２との組み合わせには「い」が対応付けられている。
【００５６】
図３−２は、カタカナ入力モードに対応するタップ回数入力文字表の一例を示す図である。タップ回数入力文字表３２０は、格納部２３１ａに格納され、「入力モード」が「カタカナ入力モード」である場合に参照される。タップ回数入力文字表３２０においては、「１」，「２」，…，「９」，「０」のキー（数字キー）と「タップ回数」との組み合わせ毎にカタカナの文字が対応付けられている。たとえば、「１」のキーと「タップ回数」＝１との組み合わせには「ア」が対応付けられている。また、「１」のキーと「タップ回数」＝２との組み合わせには「イ」が対応付けられている。
【００５７】
図３−３は、英字入力モードに対応するタップ回数入力文字表の一例を示す図である。タップ回数入力文字表３３０は、格納部２３１ａに格納され、「入力モード」が「英字入力モード」である場合に参照される。タップ回数入力文字表３３０においては、「１」，「２」，…，「９」，「０」のキー（数字キー）と「タップ回数」との組み合わせ毎に英字または記号が対応付けられている。たとえば、「１」のキーと「タップ回数」＝１との組み合わせには「．」が対応付けられている。また、「１」のキーと「タップ回数」＝２との組み合わせには「／」が対応付けられている。また、「２」のキーと「タップ回数」＝１との組み合わせには「Ａ」が対応付けられている。また、「２」のキーと「タップ回数」＝２との組み合わせには「Ｂ」が対応付けられている。
【００５８】
図３−４は、数字入力モードに対応するタップ回数入力文字表の一例を示す図である。タップ回数入力文字表３４０は、格納部２３１ａに格納され、「入力モード」が「数字入力モード」である場合に参照される。タップ回数入力文字表３４０においては、「１」，「２」，…，「９」，「０」のキー（数字キー）と「タップ回数」との組み合わせ毎に数字が対応付けられている。たとえば、「１」のキーと「タップ回数」＝１との組み合わせには「１」が対応付けられている。また、「２」のキーと「タップ回数」＝１との組み合わせには「２」が対応付けられている。なお、タップ回数入力文字表３４０においては「タップ回数」は１のみとなっている。
【００５９】
（文字入力処理部の処理）
図４−１および図４−２は、文字入力処理部の処理の一例を示すフローチャートである。文字入力処理部２３１は、文字入力処理として、たとえば以下の各ステップを繰り返し行う。まず、図４−１に示すように、処理メイン部２３１ｂが、キーコードバッファ２１３からキーコードを取得し、取得したキーコードを「タップされたキーコード」に設定する（ステップＳ４０１）。
【００６０】
以下の各ステップは、特に指定しない限り、処理サブ部２３１ｃが実行する。つぎに、ステップＳ４０１によって設定された「タップされたキーコード」が入力モード変更キーのキーコードであるか否かを判断する（ステップＳ４０２）。「タップされたキーコード」が入力モード変更キーのキーコードである場合（ステップＳ４０２：Ｙｅｓ）は、「入力中文字列」を現在の文字列で確定する（ステップＳ４０３）。
【００６１】
つぎに、「文字入力位置」を「入力中文字列」の末尾に移動させる（ステップＳ４０４）。つぎに、「入力モード」を切り替える（ステップＳ４０５）。ステップＳ４０５においては、たとえば、「ひらがな入力モード」、「カタカナ入力モード」、「英字入力モード」、「数字入力モード」の順序において、現在のモードの次のモードを「入力モード」に設定する。つぎに、「前回入力キーコード」を空にする（ステップＳ４０６）。つぎに、「タップ回数」を０に設定し（ステップＳ４０７）、一連の処理を終了する。
【００６２】
ステップＳ４０２において「タップされたキーコード」が入力モード変更キーのキーコードでない場合（ステップＳ４０２：Ｎｏ）は、「タップされたキーコード」が変換キーのキーコードであるか否かを判断する（ステップＳ４０８）。変換キーのキーコードには、たとえば変換キーを兼用する下の方向キーのキーコードも含まれる。「タップされたキーコード」が変換キーのキーコードである場合（ステップＳ４０８：Ｙｅｓ）は、「入力中文字列」を現在の文字列で確定する（ステップＳ４０９）。
【００６３】
つぎに、確定した「入力中文字列」を日本語変換処理部へ出力する（ステップＳ４１０）。これにより、「入力中文字列」が日本語変換される。つぎに、「入力中文字列」をクリアする（ステップＳ４１１）。つぎに、「文字入力位置」を「入力中文字列」の先頭に移動し（ステップＳ４１２）、ステップＳ４０６へ移行する。
【００６４】
ステップＳ４０８において「タップされたキーコード」が変換キーのキーコードでない場合（ステップＳ４０８：Ｎｏ）は、「タップされたキーコード」が左の方向キーのキーコードであるか否かを判断する（ステップＳ４１３）。「タップされたキーコード」が左の方向キーのキーコードである場合（ステップＳ４１３：Ｙｅｓ）は、「入力中文字列」を現在の文字列で確定する（ステップＳ４１４）。つぎに、「文字入力位置」を一文字分左に移動し（ステップＳ４１５）、ステップＳ４０６へ移行する。
【００６５】
ステップＳ４１３において「タップされたキーコード」が左の方向キーのキーコードでない場合（ステップＳ４１３：Ｎｏ）は、「タップされたキーコード」が右の方向キーのキーコードであるか否かを判断する（ステップＳ４１６）。「タップされたキーコード」が右の方向キーのキーコードである場合（ステップＳ４１６：Ｙｅｓ）は、「入力中文字列」を現在の文字列で確定する（ステップＳ４１７）。つぎに、「文字入力位置」を一文字分右に移動し（ステップＳ４１８）、ステップＳ４０６へ移行する。
【００６６】
ステップＳ４１６において「タップされたキーコード」が右の方向キーのキーコードでない場合（ステップＳ４１６：Ｎｏ）は、図４−２のステップＳ４１９へ移行する（符号Ａ）。すなわち、「タップされたキーコード」が数字キーのキーコードであるか否かを判断する（ステップＳ４１９）。「タップされたキーコード」が数字キーのキーコードである場合（ステップＳ４１９：Ｙｅｓ）は、後述の数字キーに基づく第１処理を実行し（ステップＳ４２０）、一連の処理を終了する。
【００６７】
ステップＳ４１９において「タップされたキーコード」が数字キーのキーコードでない場合（ステップＳ４１９：Ｎｏ）は、「タップされたキーコード」が一時代用キーのキーコードであるか否かを判断する（ステップＳ４２１）。「タップされたキーコード」が一時代用キーのキーコードである場合（ステップＳ４２１：Ｙｅｓ）は、後述の一時代用キーに基づく第２処理を実行し（ステップＳ４２２）、一連の処理を終了する。
【００６８】
ステップＳ４２１において「タップされたキーコード」が一時代用キーのキーコードでない場合（ステップＳ４２１：Ｎｏ）は、「タップされたキーコード」に応じた処理（具体例の説明は省略する）を実行し（ステップＳ４２３）、一連の処理を終了する。
【００６９】
図５は、数字キーに基づく第１処理の一例を示すフローチャートである。文字入力処理部２３１は、上述したステップＳ４２０の数字キーに基づく第１処理として、たとえば以下の各ステップを実行する。まず、「前回入力キーコード」が空であるか否かを判断する（ステップＳ５０１）。「前回入力キーコード」が空である場合（ステップＳ５０１：Ｙｅｓ）は、ステップＳ５０５へ移行する。「前回入力キーコード」が空でない場合（ステップＳ５０１：Ｎｏ）は、「前回入力キーコード」が数字キーのキーコードであるか否かを判断する（ステップＳ５０２）。
【００７０】
ステップＳ５０２において「前回入力キーコード」が数字キーのキーコードでない場合（ステップＳ５０２：Ｎｏ）は、「前回入力キーコード」が一時代用キーのキーコードであるとみなしてステップＳ５０３へ移行する。すなわち、「入力中文字列」を現在の文字列で確定する（ステップＳ５０３）。これにより、上記第２の場合に、一時代用キーの押下操作により選択された入力候補の選択を確定させることができる。つぎに、「文字入力位置」を「入力中文字列」の末尾に移動させる（ステップＳ５０４）。
【００７１】
つぎに、「タップ回数」に１を設定する（ステップＳ５０５）。つぎに、「入力モード」に対応するタップ回数入力文字表から「タップされたキーコード」および「タップ回数」に応じた文字を取得し、取得した文字を「入力中文字列」の「文字入力位置」に挿入する（ステップＳ５０６）。つぎに、「前回入力キーコード」に「タップされたキーコード」を設定し（ステップＳ５０７）、一連の処理を終了する。ステップＳ５０５〜Ｓ５０７により、上記第２の場合に、押下操作を受けた数字キーに割り当てられている入力候補群から、数字キーの連続的な押下回数に応じて入力候補を新たに選択することができる。
【００７２】
ステップＳ５０２において「前回入力キーコード」が数字キーのキーコードである場合（ステップＳ５０２：Ｙｅｓ）は、「タップされたキーコード」と「前回入力キーコード」が等しいか否かを判断する（ステップＳ５０８）。「タップされたキーコード」と「前回入力キーコード」が等しくない場合（ステップＳ５０８：Ｎｏ）はステップＳ５０３へ移行する。「タップされたキーコード」と「前回入力キーコード」が等しい場合（ステップＳ５０８：Ｙｅｓ）は、「タップ回数」をインクリメントする（ステップＳ５０９）。
【００７３】
つぎに、「入力モード」に対応するタップ回数入力文字表から「タップされたキーコード」および「タップ回数」に応じた文字を取得し、取得した文字で「入力中文字列」の「文字入力位置」の文字を置換し（ステップＳ５１０）、一連の処理を終了する。ステップＳ５０９，Ｓ５１０により、数字キーの押下回数に応じて数字キーに割り当てられている入力候補群から入力候補を選択することができる。また、ステップＳ５０９，Ｓ５１０により、押下された数字キーの第１コードと数字キーの押下回数とに基づいて特定される入力候補を、タップ回数入力文字表（変換表）を参照して選択することができる。
【００７４】
なお、ステップＳ５０９において、インクリメントした「タップ回数」に応じた文字の定義が「入力モード」に対応するタップ回数入力文字表にない場合は、「タップ回数」に１を設定するようにしてもよい。たとえば、「入力モード」が「ひらがな入力モード」である場合「２」のキーが７回タップされると、「タップ回数」に１が設定され、ステップＳ５１０において「か」が新たな入力候補として選択される。
【００７５】
図６は、一時代用キーに基づく第２処理の一例を示すフローチャートである。文字入力処理部２３１の処理サブ部２３１ｃは、上述したステップＳ４２２の一時代用キーに基づく第２処理として、たとえば以下の各ステップを実行する。まず、「前回入力キーコード」が空であるか否かを判断する（ステップＳ６０１）。「前回入力キーコード」が空である場合（ステップＳ６０１：Ｙｅｓ）は、一連の処理を終了する。「前回入力キーコード」が空でない場合（ステップＳ６０１：Ｎｏ）は、「前回入力キーコード」が数字キーのキーコードであるか否かを判断する（ステップＳ６０２）。
【００７６】
ステップＳ６０２において「前回入力キーコード」が数字キーのキーコードである場合（ステップＳ６０２：Ｙｅｓ）は、「前回数字キーコード」に「前回入力キーコード」を設定する（ステップＳ６０３）。つぎに、「入力中文字列」を現在の文字列で確定する（ステップＳ６０４）。これにより、上記第１の場合に、数字キー（第１キー）の押下操作により選択された入力候補の選択を確定させることができる。
【００７７】
つぎに、「文字入力位置」を「入力中文字列」の末尾に移動させる（ステップＳ６０５）。つぎに、「タップ回数」に１を設定する（ステップＳ６０６）。つぎに、「入力モード」に対応するタップ回数入力文字表から「前回数字キーコード」および「タップ回数」に応じた文字を取得し、取得した文字を「入力中文字列」の「文字入力位置」に挿入する（ステップＳ６０７）。
【００７８】
つぎに、「前回入力キーコード」に「タップされたキーコード」を設定し（ステップＳ６０８）、一連の処理を終了する。ステップＳ６０６〜Ｓ６０８により、上記第１の場合に、一時代用キーの押下操作を受け付ける前に押下操作を受け付けていた数字キーに割り当てられている入力候補群から入力候補を新たに選択することができる。また、ステップＳ６０６〜Ｓ６０８により、一時代用キーの押下を検知した場合に、「前回入力キーコード」に格納した数字キーのキーコードに基づいて特定される入力候補を、タップ回数入力文字表を参照して選択することができる。
【００７９】
ステップＳ６０２において「前回入力キーコード」が数字キーのキーコードでない場合（ステップＳ６０２：Ｎｏ）は、「前回入力キーコード」が一時代用キーのキーコードであるとみなしてステップＳ６０９へ移行する。すなわち、「タップ回数」をインクリメントする（ステップＳ６０９）。つぎに、「入力モード」に対応するタップ回数入力文字表から「前回数字キーコード」および「タップ回数」に応じた文字を取得し、取得した文字で「入力中文字列」の「文字入力位置」の文字を置換し（ステップＳ６１０）、一連の処理を終了する。
【００８０】
ステップＳ６０９，Ｓ６１０により、一時代用キーの連続的な押下回数に応じて、入力候補群から入力候補を選択することができる。また、ステップＳ６０９，Ｓ６１０により、一時代用キーの押下を検知した場合に、「前回入力キーコード」に格納した数字キーのキーコードに基づいて特定される入力候補を、タップ回数入力文字表を参照して選択することができる。
【００８１】
なお、ステップＳ６０９において、インクリメントした「タップ回数」に応じた文字の定義が「入力モード」に対応するタップ回数入力文字表にない場合は、「タップ回数」に１を設定するようにしてもよい。たとえば、「入力モード」が「ひらがな入力モード」である場合「２」のキーが７回タップされると、「タップ回数」に１が設定され、ステップＳ６１０において「か」が新たな入力候補として選択される。
【００８２】
＜文字入力処理に伴う表示処理＞
また、図４−１〜図６に示した文字入力処理に伴って、入力文字列表示処理部２３２は、文字入力処理部２３１の文字入力処理による文字列の入力状態を画面表示デバイス２４２に表示させる。これにより、ユーザは、文字列の入力状態を確認しながらキーボード２１１に対するキー入力を行うことができる。
【００８３】
図７は、文字入力処理の状態遷移の一例を示す図である。図７においては、「入力モード」が「ひらがな入力モード」であり、日本語変換前の文字列として「あいおい」を入力する場合について説明する。ここでは、一時代用キーはメールキーによって兼用されるとする。画面７０１〜７１１は、図４−１〜図６に示した文字入力処理に伴って画面表示デバイス２４２に表示される画面を示している。カーソル７００は文字の入力位置を示す画像であり、「文字入力位置」に応じて画面上を移動する。
【００８４】
まず、画面７０１に示すように、文字が未入力のときに、キーボード２１１の「１」のキーがタップされたとする。これにより、画面７０２に示すように、カーソル７００の位置の入力候補として「あ」が選択される。画面７０２に示す状態において、キーボード２１１のメールキーがタップされたとする。これにより、画面７０３に示すように、カーソル７００の位置の入力候補の「あ」の選択が確定され、カーソル７００が入力中の文字列の末尾に移動するとともに、新たな入力候補として「あ」が選択される。
【００８５】
画面７０３に示す状態において、キーボード２１１のメールキーがタップされたとする。これにより、画面７０４に示すように、カーソル７００の位置の入力候補が「あ」から「い」に変化する。画面７０４に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面７０５に示すように、カーソル７００の位置の入力候補の「い」の選択が確定され、カーソル７００が入力中の文字列の末尾に移動するとともに、カーソル７００の位置の新たな入力候補として「あ」が選択される。
【００８６】
画面７０５に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面７０６に示すように、カーソル７００の位置の入力候補が「あ」から「い」に変化する。画面７０６に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面７０７に示すように、カーソル７００の位置の入力候補が「い」から「う」に変化する。
【００８７】
画面７０７に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面７０８に示すように、カーソル７００の位置の入力候補が「う」から「え」に変化する。画面７０８に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面７０９に示すように、カーソル７００の位置の入力候補が「え」から「お」に変化する。
【００８８】
画面７０９に示す状態において、キーボード２１１のメールキーがタップされたとする。これにより、画面７１０に示すように、カーソル７００の位置の入力候補の「お」の選択が確定され、カーソル７００が入力中の文字列の末尾に移動するとともに、新たな入力候補として「あ」が選択される。画面７１０に示す状態において、キーボード２１１のメールキーがタップされたとする。これにより、画面７１１に示すように、カーソル７００の位置の入力候補が「あ」から「い」に変化する。
【００８９】
画面７１１に示す状態において、たとえばキーボード２１１の変換キーなどがタップされると、カーソル７００の位置の入力候補の「い」の選択が確定される。これにより、日本語変換前の文字列として「あいおい」を入力することができる。
【００９０】
このように、「１」のキーに割り当てられた複数の文字を連続して入力する場合において、ユーザは、「１」のキーおよびメールキーのいずれかのキーを連続してタップすることで入力候補を変化させることができる。また、ユーザは、「１」のキーおよびメールキーのうちの最後にタップしたキーと異なるキーをタップすることで、入力候補の選択を確定させて新たな入力候補を選択することができる。
【００９１】
たとえば従来の一般的な手順によって「あいおい」を入力する場合は、画面７０２から画面７０３の画面に移行する際に、「１」のキーおよび入力確定キー（たとえば右の方向キー）のタップを要する。また、画面７０４から画面７０５の画面に移行する際に、「１」のキーおよび入力確定キーのタップを要する。また、画面７０９から画面７１０の画面に移行する際に、「１」のキーおよび入力確定キーのタップを要する。このため、従来の一般的な手順は、「あいおい」を入力するために１３回のタップを要する。
【００９２】
これに対して、情報処理システム２００によれば、図７に示すように１０回のタップで「あいおい」を入力することができる。このため、情報処理システム２００によれば、同一の数字キーに割り当てられた文字を連続して入力する場合のユーザによるキーのタップ数を低減することができることがわかる。
【００９３】
また、他の例として、「英字入力モード」で「ｍｏｎｏ」と入力する場合について説明する。従来の一般的な手順では、「ｍｏｎｏ」と入力するために、「６」のキー、入力確定キー、「６」のキーを３回、入力確定キー、「６」のキーを２回、入力確定キー、「６」のキーを３回、の計１２回のタップを要する。これに対して、情報処理システム２００によれば、「６」のキー、一時代用キーを３回、「６」のキーを２回、一時代用キーを３回、の計９回のタップで「ｍｏｎｏ」を入力することができる。
【００９４】
（文字入力処理部の処理の変形例）
つぎに、図４−１および図４−２に示した文字入力処理部の処理の変形例について説明する。変形例において、図４−１および図４−２に示した各ステップのうちの、ステップＳ４２０（数字キーに基づく第１処理）およびステップＳ４２２（一時代用キーに基づく第２処理）以外のステップについては図４−１および図４−２と同様である。
【００９５】
図８は、変形例にかかる数字キーに基づく第１処理を示すフローチャートである。文字入力処理部２３１は、上述したステップＳ４２０の数字キーに基づく第１処理として、たとえば以下の各ステップを実行してもよい。まず、「前回入力キーコード」が空であるか否かを判断する（ステップＳ８０１）。「前回入力キーコード」が空である場合（ステップＳ８０１：Ｙｅｓ）は、ステップＳ８０７へ移行する。「前回入力キーコード」が空でない場合（ステップＳ８０１：Ｎｏ）は、「前回入力キーコード」が数字キーのキーコードであるか否かを判断する（ステップＳ８０２）。
【００９６】
ステップＳ８０２において「前回入力キーコード」が数字キーのキーコードである場合（ステップＳ８０２：Ｙｅｓ）は、「タップされたキーコード」と「前回入力キーコード」が等しいか否かを判断する（ステップＳ８０３）。「タップされたキーコード」と「前回入力キーコード」が等しくない場合（ステップＳ８０３：Ｎｏ）は、ステップＳ８０５へ移行する。図８に示すステップＳ８０５〜Ｓ８０９は、図５に示したステップＳ５０３〜Ｓ５０７と同様である。「タップされたキーコード」と「前回入力キーコード」が等しい場合（ステップＳ８０３：Ｙｅｓ）は、ステップＳ８１０へ移行する。
【００９７】
ステップＳ８０２において「前回入力キーコード」が数字キーのキーコードでない場合（ステップＳ８０２：Ｎｏ）は、「タップされたキーコード」が一時代用キーのキーコードであるとみなしてステップＳ８０４へ移行する。すなわち、「タップされたキーコード」と「前回数字キーコード」が等しいか否かを判断する（ステップＳ８０４）。
【００９８】
ステップＳ８０４において「タップされたキーコード」と「前回数字キーコード」が等しくない場合（ステップＳ８０４：Ｎｏ）は、ステップＳ８０５へ移行する。これにより、数字キー、一時代用キー、数字キーの順にタップされた場合において、一時代用キーの前後の各数字キーが同一である場合には、一時代用キーによって選択された入力候補をさらに置換することができる。「タップされたキーコード」と「前回数字キーコード」が等しい場合（ステップＳ８０４：Ｙｅｓ）は、ステップＳ８１０へ移行する。
【００９９】
図９は、変形例にかかる一時代用キーに基づく第２処理を示すフローチャートである。文字入力処理部２３１の処理サブ部２３１ｃは、上述したステップＳ４２２の一時代用キーに基づく第２処理として、たとえば以下の各ステップを実行してもよい。まず、「前回入力キーコード」が空であるか否かを判断する（ステップＳ９０１）。「前回入力キーコード」が空である場合（ステップＳ９０１：Ｙｅｓ）は、一連の処理を終了する。「前回入力キーコード」が空でない場合（ステップＳ９０１：Ｎｏ）は、「前回入力キーコード」が数字キーのキーコードであるか否かを判断する（ステップＳ９０２）。
【０１００】
ステップＳ９０２において「前回入力キーコード」が数字キーのキーコードでない場合（ステップＳ９０２：Ｎｏ）は、「前回入力キーコード」が一時代用キーのキーコードであるとみなして一連の処理を終了する。「前回入力キーコード」が数字キーのキーコードである場合（ステップＳ９０２：Ｙｅｓ）は、ステップＳ９０３へ移行する。
【０１０１】
図９に示すステップＳ９０３〜Ｓ９０８は、図６に示したステップＳ６０３〜Ｓ６０８と同様である。ステップＳ９０３〜Ｓ９０８により、数字キーの次に一時代用キーがタップされた場合に、数字キーのタップにより選択された入力候補の選択を確定させるとともに、数字キーに応じて入力候補を新たに選択することができる。
【０１０２】
図１０は、変形例にかかる文字入力処理の状態遷移を示す図である。図１０においては、図８，図９に示した変形例において、「入力モード」が「ひらがな入力モード」であり、日本語変換前の文字列として「あいおい」を入力する場合について説明する。ここでは、一時代用キーはメールキーによって兼用されるとする。画面１００１〜１０１１は、図４−１，図４−２，図８，図９に示した文字入力処理に伴って画面表示デバイス２４２に表示される画面を示している。
【０１０３】
まず、画面１００１に示すように、文字が未入力のときに、キーボード２１１の「１」のキーがタップされたとする。これにより、画面１００２に示すように、カーソル７００の位置の入力候補として「あ」が選択される。画面１００２に示す状態において、キーボード２１１のメールキーがタップされたとする。これにより、画面１００３に示すように、カーソル７００の位置の入力候補の「あ」の選択が確定され、カーソル７００が入力中の文字列の末尾に移動するとともに、新たな入力候補として「あ」が選択される。
【０１０４】
画面１００３に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面１００４に示すように、カーソル７００の位置の入力候補が「あ」から「い」に変化する。画面１００４に示す状態において、キーボード２１１のメールキーがタップされたとする。これにより、画面１００５に示すように、カーソル７００の位置の入力候補の「い」の選択が確定され、カーソル７００が入力中の文字列の末尾に移動するとともに、カーソル７００の位置の新たな入力候補として「あ」が選択される。
【０１０５】
画面１００５に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面１００６に示すように、カーソル７００の位置の入力候補が「あ」から「い」に変化する。画面１００６に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面１００７に示すように、カーソル７００の位置の入力候補が「い」から「う」に変化する。
【０１０６】
画面１００７に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面１００８に示すように、カーソル７００の位置の入力候補が「う」から「え」に変化する。画面１００８に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面１００９に示すように、カーソル７００の位置の入力候補が「え」から「お」に変化する。
【０１０７】
画面１００９に示す状態において、キーボード２１１のメールキーがタップされたとする。これにより、画面１０１０に示すように、カーソル７００の位置の入力候補の「お」の選択が確定され、カーソル７００が入力中の文字列の末尾に移動するとともに、新たな入力候補として「あ」が選択される。画面１０１０に示す状態において、キーボード２１１の「１」のキーがタップされたとする。これにより、画面１０１１に示すように、カーソル７００の位置の入力候補が「あ」から「い」に変化する。
【０１０８】
画面１０１１に示す状態において、たとえばキーボード２１１の変換キーなどがタップされると、カーソル７００の位置の入力候補の「い」の選択が確定される。これにより、日本語変換前の文字列として「あいおい」を入力することができる。
【０１０９】
このように、「１」のキーに割り当てられた複数の文字を連続して入力する場合において、ユーザは、「１」のキーを連続してタップすることで入力候補を変化させることができる。また、ユーザは、メールキーをタップすることで、入力候補の選択を確定させて新たな入力候補を選択することができる。そして、ユーザは、メールキーをタップした後に「１」のキーをタップすることで、メールキーによって新たに選択された入力候補を変化させることができる。
【０１１０】
たとえば従来の一般的な手順によって「あいおい」を入力する場合は、上述したように１３回のタップを要する。これに対して、情報処理システム２００によれば、図１０に示すように１０回のタップで「あいおい」を入力することができる。このため、情報処理システム２００によれば、同一の数字キーに割り当てられた文字を連続して入力する場合のユーザによるキーのタップ数を低減することができることがわかる。
【０１１１】
また、他の例として、「英字入力モード」で「ｍｏｎｏ」と入力する場合について説明する。従来の一般的な手順では、「ｍｏｎｏ」と入力するために、上述したように１２回のタップを要する。これに対して、情報処理システム２００によれば、「６」のキー、一時代用キー、「６」のキーを２回、一時代用キー、「６」のキー、一時代用キー、「６」のキーを２回の計９回のタップで「ｍｏｎｏ」を入力することができる。
【０１１２】
（文字入力処理部の処理の他の変形例）
図５〜図１０に示したように、文字入力処理部２３１による処理は種々の変形が可能である。たとえば、メールキーによって入力候補の確定と新たな入力候補の選択を行う際に、新たな入力候補は、上述したような「タップ回数」＝１に対応する入力候補に限らない。たとえば、メールキーがタップされた場合に、数字キーの「タップ回数」（押下回数）に応じて入力候補群から入力候補を選択するようにしてもよい。
【０１１３】
これにより、たとえば、数字キーによって「い」を入力候補として選択した状態でメールキーをタップすると、「い」の選択が確定されるとともに新たな入力候補として「い」が選択される。その後、メールキーがタップされる度に「い」の選択が確定されて新たな「い」が選択される。このため、メールキーのタップ回数と同数の「い」が入力される。
【０１１４】
（情報処理システムの適用例）
図１１は、情報処理システムを適用した携帯電話端末の一例を示す図である。図１１に示す携帯電話端末１１００は、上述した情報処理システム２００を適用した携帯電話端末である。ここでは携帯電話端末１１００の通話機能や通信機能などに関する説明は省き、携帯電話端末１１００の文字入力機能について説明する。携帯電話端末１１００は、キーボード１１１０や表示画面１１２０などを備えている。
【０１１５】
キーボード１１１０は、図２に示したキーボード２１１に対応する。キーボード１１１０には、十時キー１１１１や文字入力キー群１１１２などが含まれている。十時キー１１１１は、上下左右の各方向キーを兼用するキーである。十時キー１１１１の上方向は、上述したメールキー（第２キー１２０）を兼用している。また、十時キー１１１１の下方向は、上述した変換キーを兼用している。
【０１１６】
文字入力キー群１１１２は、上述した各数字キー（第１キー１１０）に対応する。文字入力キー群１１１２の各キーは、４段３列に並べられたキーである。文字入力キー群１１１２は、第１段において左から「１」「２」「３」が表記された３個のキーを含む。また、文字入力キー群１１１２は、第２段において左から「４」「５」「６」が表記された３個のキーを含む。また、文字入力キー群１１１２は、第３段において左から「７」「８」「９」が表記された３個のキーを含む。また、文字入力キー群１１１２は、第４段において「０」が表記された１個のキーを含む。また、文字入力キー群１１１２は、第４段において「＊」および「♯」が表記された２個のキーを含んでいてもよい。
【０１１７】
たとえば、「１」のキーには、「あ」〜「ぉ」…、「ア」〜「ォ」…、「．」，「／」…、「１」などが対応付けられている（たとえば、図３−１〜図３−４参照）。また、「２」のキーには、「か」〜「こ」…、「カ」〜「コ」、「Ａ」〜「Ｃ」、「２」などが対応付けられている（たとえば、図３−１〜図３−４参照）。そして、文字入力キー群１１１２の各キーには、これらの対応付けられた文字や、これらの対応付けられた文字を示唆する文字列などが表記されている。
【０１１８】
表示画面１１２０は、図２に示した画面表示デバイス２４２に対応する。表示画面１１２０は、たとえば、文字列の入力欄や、文字列の入力状態や、文字列の入力結果などを表示する。たとえば図７に示した画面７０１〜７１１や図１０に示した画面１００１〜１０１１は表示画面１１２０によって表示される。
【０１１９】
ここではキーボード１１１０を備える携帯電話端末１１００について説明したが、キーボード１１１０に代えて、擬似的なキーを表示するタッチパネルなどを適用してもよい。この場合は、表示画面１１２０をタッチパネルとしてもよい。また、上述した情報処理システム２００は、携帯電話端末１１００に限らず、ユーザによるキー入力に応じて文字の入力処理を行う各電子機器に適用することができる。
【０１２０】
以上説明したように、プログラムおよび情報処理システムによれば、文字入力を効率よく行うことができる。
【０１２１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２２】
（付記１）第１キーの押下回数に応じて当該第１キーに割り当てられている入力候補群から入力候補を選択する、第１選択部と、
前記第１選択部において前記入力候補が選択された後に、前記第１キーとは異なる第２キーの押下操作を受けた第１の場合に、前記第１キーの押下操作により選択された入力候補の選択を確定させる、確定部と、
前記第１の場合に、前記第２キーの押下操作を受け付ける前に押下操作を受け付けていた前記第１キーに割り当てられている入力候補群から入力候補を新たに選択する、第２選択部、
として電子機器を動作させるプログラム。
【０１２３】
（付記２）前記第２選択部は、前記第２キーの連続的な押下回数または前記第１キーの連続的な押下回数または前記確定部により確定された際の前記第１キーの押下回数のいずれか一方に応じて、前記入力候補群から前記入力候補を選択する、
前記付記１に記載のプログラム。
【０１２４】
（付記３）前記確定部は、前記第２選択部において前記入力候補が選択された後に、前記第１キーの押下操作を受けた第２の場合に、前記第２キーの押下操作により選択された入力候補の選択を確定させ、
前記第１選択部は、前記第２の場合に、前記押下操作を受けた前記第１キーに割り当てられている入力候補群から、前記第１キーの連続的な押下回数に応じて入力候補を新たに選択する、
前記付記１または２に記載のプログラム。
【０１２５】
（付記４）前記第１キー毎に固有の値を有する第１コードと、前記第１コードにより特定される第１キーの押下回数に応じて選択対象とされる前記押下回数毎の入力候補と、を対応付けた変換表を格納する、変換表格納部と、
前記第１キーが押下された場合に当該押下された第１キーの第１コードを格納するコード格納部、
として電子機器をさらに動作させ、
前記第１選択部は、前記押下された第１キーの第１コードと前記第１キーの押下回数とに基づいて特定される前記入力候補を、前記変換表を参照して選択し、
前記第２選択部は、前記第２キーの押下を検知した場合に、前記コード格納部に格納した前記第１コードに基づいて特定される前記入力候補を、前記変換表を参照して選択する、
前記付記１乃至３に記載のプログラム。
【０１２６】
（付記５）前記第２選択部は、前記コード格納部に格納した前記第１コードに基づいて前記入力候補を特定する際に、前記第２キーの連続的な押下回数または前記第１キーの連続的な押下回数または前記確定部により確定された際の前記第１キーの押下回数のいずれか一方に基づいて、前記入力候補をさらに特定する、
前記付記４に記載のプログラム。
【０１２７】
（付記６）前記確定部は、入力候補の選択を確定させるとともに次の入力候補の入力位置を移動させる、
前記付記１乃至５に記載のプログラム。
【０１２８】
（付記７）少なくとも４段３列に並べられたキーのうち、第１段において左から「１」「２」「３」が表記された３個のキーと、第２段において左から「４」「５」「６」が表記された３個のキーと、第３段において左から「７」「８」「９」が表記された３個のキーと、第４段において「０」が表記された１個のキーとを含む、第１キーと、
前記第１キーのうち同一キーの連続的な押下回数に応じて当該押下操作された第１キーに割り当てられている入力候補群から入力候補を選択する、第１選択部と、
前記第１選択部において前記入力候補が選択された後に、前記第１キーとは異なる第２キーの押下操作を受けた第１の場合、前記第１キーの押下操作により選択された入力候補の選択を確定させる、確定部と、
前記第１の場合に、前記第２キーの押下操作を受け付ける前に押下操作を受け付けていた前記第１キーに割り当てられている入力候補群から新たな入力候補を選択する、第２選択部、
として動作する、情報処理システム。
【符号の説明】
【０１２９】
１００，２００  情報処理システム
１１０  第１キー
１２０  第２キー
１３０  変換表格納部
１４０  コード格納部
１５０  入力候補格納部
１６０  第１選択部
１７０  確定部
１８０  第２選択部
１９０  出力部
２１１，１１１０  キーボード
２１２  キーボードドライバ
２１３  キーコードバッファ
２２０  アプリケーション実行部
２３０  日本語処理部
２３１  文字入力処理部
２３１ａ  格納部
２３１ｂ  処理メイン部
２３１ｃ  処理サブ部
２３２  入力文字列表示処理部
２３３  日本語変換処理部
２３４  変換後文字列表示処理部
２４１  画面表示ドライバ
２４２  画面表示デバイス
３１０，３２０，３３０，３４０  タップ回数入力文字表
７００  カーソル
７０１〜７１１，１００１〜１０１１  画面
１１００  携帯電話端末
１１１１  十時キー
１１１２  文字入力キー群
１１２０  表示画面
【図１】
2012008849.tif 000003
【図２−１】
2012008849.tif 000004
【図２−２】
2012008849.tif 000005
【図３−１】
2012008849.tif 000006
【図３−２】
2012008849.tif 000007
【図３−３】
2012008849.tif 000008
【図３−４】
2012008849.tif 000009
【図４−１】
2012008849.tif 000010
【図４−２】
2012008849.tif 000011
【図５】
2012008849.tif 000012
【図６】
2012008849.tif 000013
【図７】
2012008849.tif 000014
【図８】
2012008849.tif 000015
【図９】
2012008849.tif 000016
【図１０】
2012008849.tif 000017
【図１１】
2012008849.tif 000018