(57)【特許請求の範囲】
【請求項１】
それぞれが独立して押下される複数の操作部を有する入力装置から、前記複数の操作部の各々が押下されているか否かを示す操作状態信号を受信して処理する情報処理装置であって、
前記操作状態信号に基づいて前記複数の操作部のうち同時に押下されている操作部の組み合わせを仮決定組み合わせとして特定し、前記複数の操作部の何れかが継続して押下されているとき、本決定組み合わせを決定することなく前記仮決定組み合わせの変更を許容し、前記仮決定組み合わせを変更する毎に、その変更前後の組み合わせ継続時間同士を比較し、変更後の組み合わせ継続時間が変更前の組み合わせ継続時間以上で且つ所定の上限閾値未満の場合、前記変更後の組み合わせ継続時間を最長組み合わせ継続時間として記憶し、前記変更後の組み合わせ継続時間が前記所定の上限閾値に達している場合、前記上限閾値を前記最長組み合わせ継続時間として記憶し、前記複数の操作部の押下が全て解除されたと判定したとき、最後に記憶した最長組み合わせ継続時間に対応する仮決定組み合わせを前記本決定組み合わせとして決定する組み合わせ決定手段と、
前記操作部の少なくとも１つが最初に押下されたときから全ての操作部の押下が解除されるまでの単位操作時間を前記操作状態信号に基づいて計時し、この単位操作時間に基づいてユーザの熟練の度合いを判定する熟練度判定手段と、
前記複数の操作部の組み合わせと文字との間に設定された対応関係を参照し、前記組み合わせ決定手段が決定した本決定組み合わせに対応する文字を入力文字として決定する文字決定手段と、を備え、
前記組み合わせ決定手段は、ユーザが熟練していると前記熟練度判定手段が判定した場合、前記上限閾値として第１の上限閾値を設定し、ユーザが熟練していないと前記熟練度判定手段が判定した場合、前記第１の上限閾値よりも小さい第２の上限閾値を前記上限閾値として設定する
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記複数の操作部の各々の継続押下時間を前記操作状態信号に基づいて計時し、前記複数の操作部の各々に対し前記継続押下時間が所定の下限閾値を超えて継続したか否かを判定し、前記継続押下時間が前記下限閾値を超えて継続した場合、当該操作部に対して正規の押下が行われたと判定する押下適否判定手段を備え、
前記組み合わせ決定手段は、正規の押下が行われたと前記押下適否判定手段が判定した操作部の組み合わせを前記仮決定組み合わせとして特定する
ことを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記組み合わせ決定手段は、前記操作状態信号が前記文字との対応関係が設定されていない所定の特定組み合わせを示すとき、当該特定組み合わせのうち予め設定された所定の優先操作部のみが押下されたと擬制して、前記仮決定組み合わせを特定する
ことを特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置であって、
操作案内画像を表示手段に表示する表示制御手段を備え、
前記組み合わせと文字との対応関係は、前記複数の操作部のうち第１のグループに属する操作部の中から押下する１つのボタンを規定する第１押下パターンと、前記複数の操作部のうち第２のグループに属する操作部の中から押下する１つ又は複数のボタンを規定する第２押下パターンとの組み合わせによって、前記文字を特定し、
前記操作案内画像は、前記第１のグループに属する操作部を示す第１の案内画像と、前記第２押下パターンに属する複数のパターンを示す第２の案内画像と、前記第２押下パターンに属する各パターンをそれぞれ代表する文字とを含み、
前記第２押下パターンに属する１つのパターンで前記操作部が押下されたとき、前記表示制御手段は、前記１つのパターンと前記第１のグループの各操作部とを組み合わせることによって特定される文字を、前記第１の案内画像の対応する操作部に関連付けて表示する
ことを特徴とする情報処理装置。
【請求項５】
それぞれが独立して押下される複数の操作部を有する入力装置から、前記複数の操作部の各々が押下されているか否かを示す操作状態信号を受信した情報処理装置が実行する文字情報入力方法であって、
組み合わせ決定手段が、前記操作状態信号に基づいて前記複数の操作部のうち同時に押下されている操作部の組み合わせを仮決定組み合わせとして特定するステップと、
前記複数の操作部の何れかが継続して押下されているとき、前記組み合わせ決定手段が、本決定組み合わせを決定することなく前記仮決定組み合わせの変更を許容し、前記仮決定組み合わせを変更する毎に、その変更前後の組み合わせ継続時間同士を比較し、変更後の組み合わせ継続時間が変更前の組み合わせ継続時間以上で且つ所定の上限閾値未満の場合、前記変更後の組み合わせ継続時間を最長組み合わせ継続時間として記憶し、前記変更後の組み合わせ継続時間が前記所定の上限閾値に達している場合、前記上限閾値を前記最長組み合わせ継続時間として記憶するステップと、
前記組み合わせ決定手段が、前記複数の操作部の押下が全て解除されたと判定したとき、最後に記憶した最長組み合わせ継続時間に対応する仮決定組み合わせを前記本決定組み合わせとして決定するステップと、
熟練度判定手段が、前記操作部の少なくとも１つが最初に押下されたときから全ての操作部の押下が解除されるまでの単位操作時間を前記操作状態信号に基づいて計時し、この単位操作時間に基づいてユーザの熟練の度合いを判定するステップと、
文字決定手段が、前記複数の操作部の組み合わせと文字との間に設定された対応関係を参照し、前記組み合わせ決定手段が決定した本決定組み合わせに対応する文字を入力文字として決定するステップと、
前記組み合わせ決定手段が、ユーザが熟練していると前記熟練度判定手段が判定した場合、前記上限閾値として第１の上限閾値を設定し、ユーザが熟練していないと前記熟練度判定手段が判定した場合、前記第１の上限閾値よりも小さい第２の上限閾値を前記上限閾値として設定するステップと、
を備えたことを特徴とする文字情報入力方法。
【請求項６】
それぞれが独立して押下される複数の操作部を有する入力装置から、前記複数の操作部の各々が押下されているか否かを示す操作状態信号を受信して処理する情報処理装置のコンピュータを、
前記操作状態信号に基づいて前記複数の操作部のうち同時に押下されている操作部の組み合わせを仮決定組み合わせとして特定し、前記複数の操作部の何れかが継続して押下されているとき、本決定組み合わせを決定することなく前記仮決定組み合わせの変更を許容し、前記仮決定組み合わせを変更する毎に、その変更前後の組み合わせ継続時間同士を比較し、変更後の組み合わせ継続時間が変更前の組み合わせ継続時間以上で且つ所定の上限閾値未満の場合、前記変更後の組み合わせ継続時間を最長組み合わせ継続時間として記憶し、前記変更後の組み合わせ継続時間が前記所定の上限閾値に達している場合、前記上限閾値を前記最長組み合わせ継続時間として記憶し、前記複数の操作部の押下が全て解除されたと判定したとき、最後に記憶した最長組み合わせ継続時間に対応する仮決定組み合わせを前記本決定組み合わせとして決定する組み合わせ決定手段と、
前記操作部の少なくとも１つが最初に押下されたときから全ての操作部の押下が解除されるまでの単位操作時間を前記操作状態信号に基づいて計時し、この単位操作時間に基づいてユーザの熟練の度合いを判定する熟練度判定手段と、
前記複数の操作部の組み合わせと文字との間に設定された対応関係を参照し、前記組み合わせ決定手段が決定した本決定組み合わせに対応する文字を入力文字として決定する文字決定手段として機能させるための文字情報入力プログラムであり、
前記組み合わせ決定手段は、ユーザが熟練していると前記熟練度判定手段が判定した場合、前記上限閾値として第１の上限閾値を設定し、ユーザが熟練していないと前記熟練度判定手段が判定した場合、前記第１の上限閾値よりも小さい第２の上限閾値を前記上限閾値として設定する
ことを特徴とする文字情報入力プログラム。
【請求項７】
請求項６に記載の文字情報入力プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
請求項１に記載の情報処理装置であって、
操作案内画像を表示手段に表示する表示制御手段を備え、
前記組み合わせと文字との対応関係は、前記複数の操作部のうち第１のグループに属する複数の第１操作部の中から押下する１つの第１操作部を規定する第１押下パターンと、前記複数の操作部のうち第２のグループに属する複数の第２操作部の中から押下する１つ又は複数の第２操作部を規定する第２押下パターンとの組み合わせによって、前記文字を特定し、
前記操作案内画像は、前記第１のグループに属する複数の第１操作部を示す第１の案内画像と、前記第２押下パターンに属する複数のパターンを各パターンにそれぞれ対応する複数の第２押下パターン画像によって示す第２の案内画像と、を含み、
前記複数の第２押下パターン画像の各々は、前記複数の第２操作部の配列表示と、前記押下する１つ又は複数の第２操作部を前記配列表示において特定する表示とを含む
ことを特徴とする情報処理装置。
【請求項９】
請求項８に記載の情報処理装置であって、
前記第２押下パターンに属する１つのパターンで前記操作部が押下されたとき、前記表示制御手段は、前記１つのパターンと前記第１のグループの各操作部とを組み合わせることによって特定される文字を、前記第１の案内画像の対応する操作部に関連付けて表示する
ことを特徴とする情報処理装置。
【請求項１０】
請求項８又は請求項９に記載の情報処理装置であって、
前記第２押下パターン画像は、当該第２押下パターン画像に対応するパターンを代表する文字の表示を含む
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも文字の情報を入力するための情報処理装置、文字情報入力方法、文字情報入力プログラム、文字情報入力プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年は、パーソナルコンピュータやワードプロセッサのようなハードウェアキーボードを備えたもののみならず、例えば、携帯電話機やＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｓ）、テレビゲーム機のように、ユーザによって操作可能な操作子数が制限された電子機器においても、文字情報の入力機能が必須の機能となってきている。
【０００３】
上記操作子数が制限された電子機器において文字情報の入力が行われる場合、一般的には、仮名の全文字或いはアルファベットの全文字が画面上の所定領域に表示され、それら表示されている各文字の中から、ユーザが所望の文字を選択及び決定するような文字入力システムが採用されている。すなわち、従来の文字入力システムにおいて、仮名文字入力が行われる場合、画面上には例えば「あ行」，「か行」，「さ行」，…のように行単位で五十音順に各仮名文字が規則正しく並べて表示され、それら各文字の中から所望の文字がユーザにより選択され、さらにその選択状態を決定するための操作がユーザにより行われることで、文字情報の入力がなされる。また、従来の文字入力システムにおいて、アルファベット文字の入力が行われる場合、画面上には「Ａ」から「Ｚ」までの各文字が所定の規則で並べられ、上述同様にそれら各文字の中から所望の文字がユーザにより選択され、さらにその選択状態を決定するための操作がユーザにより行われることで、文字情報の入力がなされる。また、仮名漢字変換を行う文字入力システムにおいて、いわゆるローマ字入力が行われる場合、ユーザは、画面上に表示された各アルファベット文字の中から、先ず「ａ，ｋ，ｓ，ｔ，ｎ，ｈ，ｍ，ｙ，ｒ，ｗ」の何れかの子音音素に対応した文字を選択し、次に、「ａ，ｉ，ｕ，ｅ，ｏ」の何れかの母音音素に対応した文字を選択した後、その選択状態を決定するための操作を行うことで、１つの仮名文字を入力することになる。なお、上記画面上に表示される文字の配列は、ハードウェアキーボートと同じ配列になされる場合（いわゆるソフトウェアキーボード）が多い。
【０００４】
ところで、上記操作子数が制限された電子機器において、上記画面上に表示されている各文字の中から所望の文字を選択する場合、一般的には、画面上にカーソルを表示し、ユーザがそのカーソルを操作して所望の文字上に移動させた上で所定の決定ボタン等を操作するような文字選択のための手法が採用されている。
【０００５】
しかしながら、上述した従来の文字入力システムは、カーソルを所望の文字上まで移動させるのに時間がかかったり、移動しているカーソルを所望の文字上で上手く停止させるのに慣れが必要である。また、上述の文字入力システムの場合、入力する１つの文字を決定するまでに、カーソルを所望の文字上に移動させる操作や、選択状態の文字を決定するための所定のボタンの操作など、多くの操作が必要であり非常に煩雑である。したがって、従来の文字入力システムは、スピーディで且つ容易に文字入力を行うことが難しい。
【０００６】
さらに、従来の文字入力システムは、上記五十音順の全文字やアルファベットの全文字を画面上に表示するため、モニタ画面上の多くの表示領域を占有してしまう。したがって、従来の文字入力システムは、例えば文字入力のためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）以外の他の画像を同時に表示し難いという欠点もある。
【０００７】
この点に関し、操作子数が制限された電子機器において、文字等の情報のスピーディ且つ容易な入力を可能とし、文字入力の際にＧＵＩがモニタ画面上で占める面積を減らすことをも可能とするため、複数の操作自由度を有する第１及び第２操作部を備えた文字情報入力装置が提案されている。
【０００８】
この文字情報入力装置では、文字を特定するための複数の各文字情報を、第１操作部が備える複数の各操作自由度と第２操作部が備える複数の各操作自由度に対してそれぞれ個々に設定し、各操作部のうちの何れか一方での所定操作に応じて決定した文字情報と、他方での所定操作に応じて決定した文字情報とから一文字が特定される。
【０００９】
【特許文献１】特開２００４−２１３４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、上記従来の文章情報入力装置では、複数の操作自由度を有する操作部を複数設ける必要があり、押下操作によって入力を行う操作部のみが設けられたコントローラに適用することができず、汎用性が低い。
【００１１】
本発明は、このような課題に鑑みてなされたものであり、押下操作によって入力を行う操作部のみが設けられた入力装置に適用可能であり、且つ文字のスピーディ且つ容易な入力が可能な情報処理装置、文字情報入力方法、文字情報入力プログラム、文字情報入力プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の情報処理装置は、組み合わせ決定手段と文字決定手段とを備え、それぞれが独立して押下される複数の操作部を有する入力装置から、前記複数の操作部の各々が押下されているか否かを示す操作状態信号を受信して処理する。
【００１３】
組み合わせ決定手段は、操作状態信号に基づいて複数の操作部のうち同時に押下されている操作部の組み合わせを仮決定組み合わせとして特定し、当該仮決定組み合わせを特定した状態で操作状態信号が所定の本決定状態に変更されたか否かを判定し、操作状態信号が本決定状態に変更されたと判定したとき、仮決定組み合わせを本決定組み合わせとして決定する。
【００１４】
文字決定手段は、複数の操作部の組み合わせと文字との間に設定された対応関係を参照し、組み合わせ決定手段が決定した本決定組み合わせに対応する文字を入力文字として決定する。
【００１５】
ユーザは、所望の文字を入力する場合、予め設定された複数の操作部の組み合わせの中から所望の文字に対応する１つの組み合わせを選択し、その組み合わせの操作部を同時に押下し、その押下状態から操作状態信号を所定の本決定状態に変更するための操作を行う。この操作状態信号を所定の本決定状態に変更するための操作は、例えば、複数の操作部のうち本決定組み合わせに使用されることがない所定の操作部を含むように複数の操作部を同時に押下する操作や、全ての操作部の押下を同時に解除する操作などである。操作状態信号が上記所定の本決定状態に変更されると、組み合わせ決定手段は、上記１つの組み合わせを仮決定組み合わせとして特定し、同時に解除されると、文字決定手段は、上記１つの組み合わせに対応した文字を入力文字として決定する。従って、ユーザは、所望の１つの組み合わせの操作部を同時に押下し、その押下状態で操作状態信号を所定の本決定状態に変更するための操作を行うという一連の操作によって、所望の文字の入力を行うことができる。
【発明の効果】
【００１６】
本発明は、押下操作によって入力を行う操作部のみが設けられた入力装置に適用することができ、且つ文字のスピーディ且つ容易な入力が可能である。
【発明を実施するための最良の形態】
【００１７】
本発明の文字入力システムの一実施の形態として、テレビゲーム機の入力装置（以下、コントローラと呼ぶ）を使用し、テレビジョン画面上で文字情報の入力を行う例を挙げて説明する。
【００１８】
［システムの概略］
図１は、本実施の形態のシステムの概略構成を示す。このシステム１は、情報処理装置としてのテレビゲーム機（以下、単にゲーム機と称する）２と、当該ゲーム機２に接続されてユーザ（プレイヤー）により操作される入力装置であるコントローラ２０と、ゲーム画面や入力された文字，記号等を表示したり音を出力するためのテレビジョンモニタ装置１０とからなる。
【００１９】
上記ゲーム機２は、メモリカードスロット８Ａ，８Ｂ、コントローラポート７Ａ，７Ｂ、ディスクトレイ３、ボタン４，９、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１３９４接続端子６、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続端子５等を備えている。メモリカードスロット８Ａ，８Ｂは、メモリカード１４を着脱自在に構成されている。コントローラポート７Ａ，７Ｂは、上記コントローラ２０に接続されたケーブル１３のコネクタ１２が着脱自在に構成されている。ディスクトレイ３は、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ等の光ディスクが装填可能に構成されている。ボタン９は、ディスクトレイ３をオープン／クローズさせるためのボタンである。ボタン４は、電源のオンやスタンバイ，ゲームのリセットを行うためのボタンである。また、図示は省略するが、当該ゲーム機２の背面側には、電源スイッチ、音響映像出力端子（ＡＶマルチ出力端子）、ＰＣカードスロット、光ディジタル出力端子、ハードディスクドライブの挿入部、ＡＣ電源入力端子などが設けられている。
【００２０】
当該ゲーム機２は、上記ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ等の光ディスクや半導体メモリ等の記録媒体から読み出したアプリケーションプログラムと、コントローラ２０を介したユーザからの指示とに基づいて、ゲームや文字情報入力等を実行する。また、ゲーム機２は、電話回線、ＬＡＮ、ＣＡＴＶ回線、通信衛星回線等の各種通信回線（伝送媒体）を介してダウンロードされたアプリケーションプログラムに基づいて、ゲームや文字情報入力等を実行することもできる。
【００２１】
また、図１に示したゲーム機２は、コントローラポート７Ａ，７Ｂにそれぞれコントローラ２０を接続することができる。また、ゲーム機２は、メモリカードスロット８Ａ，８Ｂに装着されたメモリカード１４に、各種のゲームデータや文章データ等を記憶させることができる。
【００２２】
なお、上記ゲーム機２は、例えばＣＤに記録されたオーディオデータやＤＶＤに記録された映画等のビデオ及びオーディオデータをも再生可能である。また、ゲーム機２は、ゲーム以外の各種のアプリケーションプログラムに基づいて動作することも可能である。
【００２３】
［コントローラの概要］
上記コントローラ２０は、図１〜図３に示すように、左把持部２０Ｌ、右把持部２０Ｒ、左操作部２１、右操作部２２、左スティック２３Ｌ、右スティック２３Ｒ、Ｌ１ボタン２９ａ、Ｌ２ボタン２９ｂ、Ｒ１ボタン２８ａ、Ｒ２ボタン２８ｂ等を備えている。左把持部２０Ｌは、ユーザが左手１０１の手の平により内包するように把持する部分である。右把持部２０Ｒは、ユーザが右手１０２の手の平により内包するように把持する部分である。左操作部２１および右操作部２２は、それら把持部２０Ｌ，２０Ｒを左右の手１０１，１０２により把持した状態で、ユーザが、左右の親指１０１Ｔ，１０２Ｔによりそれぞれ操作する部分である。左スティック２３Ｌおよび右スティック２３Ｒは、把持部２０Ｌ，２０Ｒを左右の手１０１，１０２により把持した状態で、ユーザが左右の親指１０１Ｔ，１０２Ｔによりそれぞれ傾倒及び周回自在に操作（ジョイスティック操作）を行う部分である。Ｌ１ボタン２９ａおよびその下方に配置されるＬ２ボタン２９ｂは、ユーザが左手１０１の例えば人差し指１０１Ｉと中指（図示省略）によりそれぞれ押圧してオン操作するボタンである。Ｒ１ボタン２８ａおよびその下方に配置されるＲ２ボタン２８ｂは、ユーザが、右手１０２の例えば人差し指１０２Ｉと中指（図示省略）によりそれぞれ押圧してオン操作するボタンである。
【００２４】
上記左操作部２１には、上方向、右方向、下方向及び左方向を表す刻印がそれぞれ施された方向指示ボタン（十字キー）２１ａ，２１ｂ，２１ｃ，２１ｄが設けられている。これら方向指示ボタン２１ａ，２１ｂ，２１ｃ，２１ｄは、ユーザが左手１０１の親指１０１Ｔにより押下してオン操作するボタンであり、指示方向に対応した上下左右に十字状に配置されている。ユーザは、例えば画面上でゲームキャラクタなどのオブジェクトを移動させたりする際に、左手１０１の親指１０１Ｔで方向指示ボタン２１ａ，２１ｂ，２１ｃ，２１ｄを押下してオン操作する。また、方向指示ボタン２１ａ，２１ｂ，２１ｃ，２１ｄは、上下左右の方向指示のみならず、斜め方向の方向指示にも用いられる。例えば方向指示ボタン２１ａ，２１ｂを同時に押圧操作することで、ユーザは、右斜め上方向の方向指示をゲーム機２に与えることができる。他の方向指示ボタンにおいても同様であり、例えば方向指示ボタン２１ｃ，２１ｄを同時に押圧操作することで、ユーザは、左斜め下方向の方向指示をゲーム機２に与えることができる。なお、以下の説明において、方向指示ボタン２１ａを上ボタン、方向指示ボタン２１ｂを右ボタン、方向指示ボタン２１ｃを下ボタン、方向指示ボタン２１ｄを左ボタンとそれぞれ称する。
【００２５】
また、上記右操作部２２には、アプリケーションプログラムによりそれぞれ異なる機能が割り付けられる４つの指示ボタン２２ａ，２２ｂ，２２ｃ，２２ｄが設けられている。これら指示ボタン２２ａ，２２ｂ，２２ｃ，２２ｄは、ユーザが右手１０２の親指１０２Ｔにより押下してオン操作するボタンである。これら指示ボタンのうち、ボタン２２ａにはその表面に三角（△）形状の刻印が施されており、ボタン２２ｂにはその表面に丸（○）形状の刻印が、ボタン２２ｃにはその表面にバツ（×）形状の刻印が、ボタン２２ｄにはその表面に四角（□）形状の刻印が施されている。なお、以下の説明において、ボタン２２ａを三角ボタン、ボタン２２ｂを丸ボタン、ボタン２２ｃをバツボタン、ボタン２２ｄを四角ボタンとそれぞれ称する。
【００２６】
左スティック２３Ｌは、操作軸２３ＬＡを中心として、任意の方向に所定の角度までの傾倒操作が可能で、且つ所望の角度だけ傾倒させた状態で周回操作が可能な傾倒操作子２３ＬＨを備えている。同様に、右スティック２３Ｒは、操作軸２３ＲＡを中心として、傾倒及び周回操作が可能な傾倒操作子２３ＲＨを備えている。また、上記傾倒操作子２３ＬＨは、弾性部材により中立位置に復帰するように取り付けられた操作軸２３ＬＡの先端側に取り付けられており、ユーザにより傾倒操作がなされていない時には起立した状態（傾きのない状態、以下、ニュートラル状態と表記する）でそのポジション（基準ポジション）が保持される。同様に、上記傾倒操作子２３ＲＨは、操作軸２３ＲＡの先端側に取り付けられ、ユーザにより傾倒操作がなされていない時にはニュートラル状態でそのポジションが保持される。すなわち、これら左スティック２３Ｌ及び右スティック２３Ｒは、それぞれ、基準ポジションに対して３６０度何れの方向へも傾倒操作が可能であり、また、傾倒された状態でそれぞれ操作軸２３ＬＡ，２３ＲＡを中心にして３６０度何れの方向へも周回操作可能な、操作自由度を備えている。また、左スティック２３Ｌ，右スティック２３Ｒは、それぞれその内部に、上記傾倒操作子２３ＬＨ，２３ＲＨの傾倒及び周回操作に応じた可変のアナログ値を出力する可変アナログ値出力手段（図示は省略）を備えている。上記可変アナログ値出力手段は、例えば可変抵抗素子等を備えており、上記傾倒操作子２３ＬＨ，２３ＲＨの傾倒及び周回操作に応じて当該可変抵抗素子の抵抗値が変化する。当該左スティック２３Ｌ，右スティック２３Ｒの上記傾倒操作子２３ＬＨ，２３ＲＨを傾倒操作した時には、上記基準ポジションに対する傾き量とその傾き方向に応じたＸＹ座標上の座標値が検出され、当該座標値が操作出力としてゲーム機２へ送られる。
【００２７】
また、コントローラ２０は、機能選択スイッチ２６、点灯表示部２７、セレクトボタン２５、スタートボタン２４等を備えている。機能選択スイッチ２６は、左右操作部２１，２２や左右スティック２３Ｌ，２３Ｒの機能を動作若しくは停止させたりする操作機能の選択を行うためのスイッチである。点灯表示部２７は、上記選択された操作機能を点灯表示によりユーザに認識させるためのＬＥＤ（発光ダイオード）等を備える。スタートボタン２４は、文字情報入力のためのアプリケーションプログラムの実行開始は停止などをユーザが指示するためのボタンである。セレクトボタン２５は、モニタ画面１１上にメニュー等を表示させることなどをユーザが指示するためのボタンである。
【００２８】
このコントローラ２０上の各種ボタンや左右スティック２３Ｌ，２３Ｒがユーザにより操作されると、当該コントローラ２０は、それら操作に応じた操作信号を発生し、その操作信号を上記ケーブル１３及びコネクタ１２，コントローラポート７を介してゲーム機２へ送信する。例えば、ユーザがあるボタンを押下すると、コントローラ２０は、押下されたボタンに対応したＯＮ信号を操作信号（操作状態信号）としてゲーム機２へ送信し、ゲーム機２は、コントローラ２０から受信した操作信号に基づき、コントローラ２０の各種ボタンのうち何れのボタンが押下されているかを認識する。
【００２９】
［コントローラのキーコンフィグ］
次に、文字の入力が行われる際に、ゲーム機２がコントローラ２０の各種ボタンに割り当てる機能について説明する。
【００３０】
上記文字情報入力が行われるとき、テレビゲーム機２は、左操作部２１の４つの方向指示ボタン（上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、及び左ボタン２１ｄ）と、右操作部２２のうち三角ボタン２２ａ及び丸ボタン２２ｂと、Ｒ１ボタン２８ａと、Ｌ１ボタン２９ａとに、その組み合わせに応じた文字や記号やステート（以下文字等と称する）を特定するための機能を割り当てる。また、ゲーム機２は、バツボタン２２ｃに漢字変換などの文字変換機能を割り当て、丸ボタン２２ｂにリターン機能を割り当て、四角ボタン２２ｄにバックスペース機能を割り当てる。さらに、テレビゲーム機２は、所定のボタン又はその組み合わせ（本実施形態では、丸ボタン２２ｂとＬ１ボタン２９ａとの組み合わせ）に、仮名文字を入力するための仮名入力モードか若しくは、アルファベット文字や数字，記号等を入力するための英数字入力モードの何れか一方のモードへの変更の指示入力のための機能を割り当てる。上記仮名入力モードとは、平仮名の他、文字変換や文節変換により片仮名、漢字の入力を行うためのモードである。英数字入力モードとは、アルファベット小文字，数字，記号の他、文字変換によりアルファベット大文字やドイツ語のウムラウト、フランス語のセディーユ、スペイン語の感嘆符等の特殊文字の入力を行うためのモードである。なお、ゲーム機２が通信機能を有するものであるとき、Ｒ２ボタン２８ｂには、文字情報の送信開始の指示入力機能が割り当てられる。
【００３１】
ゲーム機２には、後述するように、仮名入力モード及び英数字入力モードにそれぞれ対応した文字情報のテーブル（図４及び図５に示す）が予め記憶され、文字情報のテーブルを参照して押下されたボタンの組み合わせに応じた文字等を特定及び決定する。また、文字等の入力に際して使用する全てのボタン（上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、左ボタン２１ｄ、三角ボタン２２ａ、丸ボタン２２ｂ、Ｒ１ボタン２８ａ、及びＬ１ボタン２９ａ）は、第１のグループと第２のグループとに分けられている。第１のグループには、上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、及び左ボタン２１ｄが属し、第２のグループには、三角ボタン２２ａ、丸ボタン２２ｂ、Ｒ１ボタン２８ａ、及びＬ１ボタン２９ａが属する。各テーブルは、第１のグループ内で押下するボタンを規定する第１押下パターンと、第２のグループ内で押下するボタンを規定する第２押下パターンとの組み合わせによって、１つの文字等が特定されるように設定されている。
【００３２】
［文字等及び機能の特定及び決定］
上述のように、各種ボタンには、その組み合わせに応じて文字等や実行処理を特定する機能が割り当てられ、ユーザが上記複数のボタンから所定のボタンを選択して押下すると、ゲーム機２は、押下されたボタンの組み合わせ（押下された１つのボタン又は同時に押下された複数のボタンの組み合わせ）に対応して予め設定された１つの文字等又は処理を特定する。また、ゲーム機２は、コントローラ２０から受信している操作信号が予め定められた所定の本決定状態に変更されたタイミングで、ボタンの組み合わせ（特定した文字等や処理）を決定する。本実施形態では、押下されているボタンが全て解除されたタイミング（押下されている全てのボタンの操作信号がＯＦＦに変更されたタイミング）で、ボタンの組み合わせを決定する。すなわち、何れかのボタンの押下が継続されている状態では、その組み合わせは、適宜変更可能な未決定状態で特定され、全てのボタンの押下が解除されたときに決定される。なお、特定された組み合わせを仮決定組み合わせと称し、決定された組み合わせを本決定組み合わせと称する。また、ユーザが押下したボタンの組み合わせが予め設定された組み合わせの何れにも該当しない場合、後述する左操作部２１の押下判定における特定組み合わせの場合を除き、ゲーム機２は、押下されたボタンの組み合わせを無効とし、文字等又は処理を特定しない。
【００３３】
例えば、全てのボタンの押下が解除された状態から予め設定された組み合わせである三角ボタン２２ａと上ボタン２１ａとがともに押下されると、ゲーム機２は、三角ボタン２２ａと上ボタン２１ａとの組み合わせに対応した１つの文字等を入力文字として特定し、三角ボタン２２ａと上ボタン２１ａとの押下がともに解除されると、三角ボタン２２ａと上ボタン２１ａとの組み合わせに対応した１つの文字等を入力文字として決定する。同様に、全てのボタンの押下が解除された状態から四角ボタン２２ｄのみが押下されると、四角ボタン２２ｄに対応した１つの処理を特定し、さらに、四角ボタン２２ｄの押下が解除されると、四角ボタン２２ｄに対応した１つの処理を決定し実行する。
【００３４】
ここで、ユーザが複数のボタンを押下して解除する場合、完全に同じタイミングで全てのボタンを解除することは難しく、各ボタンを解除するタイミングには通常ずれが生じるため、単に全てのボタンを解除したときの最後のボタンの組み合わせを本決定組み合わせとして採用すると、ユーザの意図していない組み合わせが本決定組み合わせとして採用されてしまう可能性が生じる。このため、ゲーム機２は、最初にボタンが押下されたときから全てのボタンの押下が解除されるまでの間において、同時に押下されたボタンの組み合わせを変更する度に、その組み合わせが継続した時間（以下、組み合わせ継続時間と称する）をカウントし、組み合わせ継続時間が最も長時間であるボタンの組み合わせを本決定組み合わせとして優先して採用し、ユーザからの指示入力として決定する。すなわち、ゲーム機２は、最初に特定した仮決定組み合わせを仮決定情報として記憶するとともに、その組み合わせ継続時間を最長組み合わせ継続時間として記憶し、その仮決定組み合わせが本決定組み合わせとして採用されることなく（何れかのボタンが押下されたまま）、仮決定組み合わせが変更されると、変更後の組み合わせ継続時間を再度カウントし、カウントした組み合わせ継続時間が前回記憶した最長組み合わせ継続時間に達すると、既に記憶された仮決定情報を更新して最新の仮決定組み合わせを仮決定情報として記憶するとともに、既に記憶された最長組み合わせ継続時間を最新の最長組み合わせ継続時間に更新して記憶するという処理を、全てのボタンの押下が解除されるまで実行する。そして、全てのボタンの押下が解除されたときに、仮決定情報として最後に記憶した仮決定組み合わせをユーザからの指示入力と判定し、本決定組み合わせとして採用する。すなわち、何れかのボタンが押下されている間であれば、特定されたボタンの組み合わせ（仮決定組み合わせ）は未決定状態であり、ユーザは、他の組み合わせに任意に変更して決定することができる。
【００３５】
例えば、三角ボタン２２ａとＲ１ボタン２８ａと上ボタン２１ａとの組み合わせを選択して押下する場合において、ユーザが最初に三角ボタン２２ａを押下し、次に三角ボタン２２ａを押下したまま上ボタン２１ａを第１の時間Ｔ１継続して押下し、さらに三角ボタン２２ａと上ボタン２１ａとを押下したままＲ１ボタン２８ａを第２の時間Ｔ２継続して押下した後、全てのボタンの押下を解除した場合、ゲーム機２は、Ｔ１＞Ｔ２であれば、三角ボタン２２ａと上ボタン２１ａとの組み合わせを最後の仮決定情報として記憶し、この組み合わせを優先して採用する。一方、Ｔ１≦Ｔ２であれば、三角ボタン２２ａとＲ１ボタン２８ａと上ボタン２１ａとの組み合わせ継続時間が第１の時間Ｔ１に達したときに、三角ボタン２２ａと上ボタン２１ａとＲ１ボタン２８ａとの組み合わせを最後の仮決定情報として記憶し、この組み合わせを優先して採用する。なお、上述のように、Ｔ１＝Ｔ２の場合には、後の組み合わせ（三角ボタン２２ａと上ボタン２１ａとＲ１ボタン２８ａ）を優先して採用する。
【００３６】
また、ゲーム機２は、特定した文字等をテレビジョンモニタ装置１０に仮決定態様で表示する。そして、全てのボタンの押下が解除されて特定した文字等を入力文字として決定すると、その表示を仮決定態様から本決定態様へ変更する。従って、ユーザは、テレビジョンモニタ装置１０に表示された仮決定態様の文字等が所望の文字等であるか否かを視認し、所望の文字等が表示されている場合には、全てのボタンの押下を解除してその文字等を入力文字として決定することができる。また、ユーザは、所望の文字等が表示されていない場合には、少なくとも１つのボタンの押下を継続して未決定状態を保持しながら、所望の文字等が表示されるまで押下するボタンの組み合わせを適宜変更することができる。
【００３７】
例えば、ゲーム機２は、三角ボタン２２ａを押下したまま上ボタン２１ａを継続して押下される上記第１の時間Ｔ１の間は、テレビジョンモニタ装置１０に三角ボタン２２ａと上ボタン２１ａとの組み合わせに対応した第１の文字等を仮決定態様で表示し、Ｒ１ボタン２８ａが押下された際にも仮決定態様での第１の文字等の表示を継続し、Ｒ１ボタン２８ａの継続押下時間（上記第２の時間Ｔ２）が第１の時間Ｔ１に達したときに、三角ボタン２２ａとＲ１ボタン２８ａと上ボタン２１ａとの組み合わせに対応した第２の文字等を仮決定態様で表示し、全てのボタンの押下が解除されたときに、第２の文字等を本決定態様で表示する。
【００３８】
上述のように文字等の特定及び決定を行うことにより、操作に慣れた上級者は、１回の入力操作（所望の文字等に対応した所定の組み合わせのボタンを同時に１回押下して同時に解除する操作）によって、所望の文字等を入力することができる。また、操作に慣れていない初心者であっても、全てのボタンの押下を解除しない限り（何れかのボタンを押下している限り）、他の組み合わせに何度でも任意に変更して決定することができる。
【００３９】
[上限閾値]
ユーザがボタンの組み合わせを間違えて長時間押下した後、間違えに気づいて組み合わせを修正した場合に、上述のように単に組み合わせ継続時間が最も長い組み合わせを最優先して採用してしまうと、修正した組み合わせのボタンを誤って押下した時間よりも常に長時間継続して押下しなければならず、入力操作に要する時間が増大してしまう可能性が生じる。このため、ゲーム機２は、組み合わせ継続時間をカウントする際に、そのカウント値が予め設定された上限閾値に達した場合には、上限閾値を最長組み合わせ継続時間として記憶する。このように最長組み合わせ継続時間の上限閾値が設定されているので、ボタンの組み合わせを間違えて長時間押下した後に組み合わせを修正したいユーザは、修正した組み合わせのボタンを上限閾値以上の時間継続して押下すればよい。すなわち、適正な組み合わせのボタンを継続して押下する時間が上限閾値以上であれば、最初の誤操作による組み合わせ継続時間と最後の適正な組み合わせ継続時間とがともに上限閾値となり、後の組み合わせである適正な組み合わせが優先して採用されるため、未決定状態で一度特定されたボタンの組み合わせを比較的短時間に修正変更することが可能となる。従って、入力操作に要する時間の増大を抑制することができ、操作性が向上する。なお、上限閾値が設定された状態と設定されていない状態とにユーザからコントローラ２０への所定の入力に応じて切換可能にゲーム機２を構成してもよい。
【００４０】
また、上限閾値が設定されていると、組み合わせ継続時間が上限閾値に達する度に、ゲーム機２は、仮決定組み合わせを仮決定情報として更新して記憶し、テレビジョンモニタ装置１０の画面上における仮決定態様の文字等の表示を変更する。
【００４１】
[下限閾値]
所定のボタンの組み合わせを入力しようとしたユーザが誤って他のボタンを瞬間的に押下して直ぐに正規のボタンを押下し直した場合、このような誤入力によって組み合わせが極めて短時間に変化してしまう可能性が生じる。このため、ゲーム機２は、各ボタンのそれぞれについて、ボタン有効／無効判定処理を行う。すなわち、各ボタンについて、正規な入力として認識するための必要最低限の時間（予め設定された下限閾値（下限閾値＜上限閾値））を超えて継続して押下されたか否かを判定し、下限閾値を超えて継続してボタンが押下されている場合に限り、正規の押下操作が行われたと判定して、そのボタンの押下を有効とし、押下時間が下限閾値以下の場合には、誤った押下操作が行われたと判定して、そのボタンの押下を無効とする。
【００４２】
［初心者用設定と上級者用設定］
仮決定組み合わせの変更に要する時間を短縮するためには、上記上限閾値は短く設定されている方が好ましい。しかし、上限閾値が短い場合、最長組み合わせ継続時間が上限閾値となる頻度が高くなるため、ユーザは、全てのボタンの押下を解除して入力文字等を決定する際に、その解除操作の途中で意図しない仮決定組み合わせの組み合わせ継続時間が上限閾値に達しないように（意図しない仮決定組み合わせが本決定組み合わせとして採用されないように）、その解除操作を慎重に行う必要がある。すなわち、ユーザが入力文字等を決定する際に、その解除操作に細心の注意を払うことなくノイズ（ユーザの意図しない誤入力）を少なくするためには、上限閾値は長く設定されている方が好ましい。このため、ボタン操作は丁寧であるが、ボタンの組み合わせの変更回数が多い初心者にとっては、上限閾値はある程度短時間に設定されていた方が好ましく、反対に、ボタン操作はあまり丁寧ではないが、ボタンの組み合わせの変更回数は少ない上級者にとっては、上限閾値はある程度長時間に設定されていた方が好ましい。上記理由から、ゲーム機２は、コントローラ２０を操作するユーザが初心者か上級者かを判定し、判定の結果、上級者の場合には上級者用として第１の上限閾値を設定し、初心者の場合には第１の上限閾値よりも小さい（短時間である）第２の上限閾値を設定する。なお、設定される上限閾値をユーザからコントローラ２０への所定の入力に応じて切換可能にゲーム機２を構成してもよく、また、初心者用、中級者用及び上級者用のように、３段階以上に上限閾値を設定可能としてもよい。
【００４３】
また、ゲーム機２は、初心者か上級者かの判定を、最初にボタンが押下されたときから全てのボタンの押下が解除されるまでの時間、すなわち１つのボタンの組み合わせを決定するためにユーザが要した時間（以下、単位操作時間と称する）に基づいて行う。
【００４４】
すなわち、ユーザが上記文字情報入力を開始すると、ゲーム機２は、ユーザが１つのボタンの組み合わせを決定する度に（本決定組み合わせが採用される度に）、その決定に対応する単位操作時間をカウントし、カウントした単位操作時間が予め設定された判定基準時間を超えているか否かを判定し、判定基準値を超えていれば初心者用カウンタを増加し、判定基準値以下であれば上級者カウンタを増加する。そして、初心者用カウンタのカウント値と上級者用カウンタのカウント値との比（初心者用カウンタのカウント値／上級者用カウンタのカウント値）を判定対象値として求め、求めた判定対象値を予め設定された判定用基準値と比較し、判定対象値が判定用基準値を超えていれば初心者と判定し、判定対象値が判定用基準値以下であれば上級者と判定する。
【００４５】
［左操作部の押下判定の設定］
後述するように、本実施形態の文字入力モード（仮名入力モード及び英数字入力モード）では、ユーザの左手１０１の親指１０１Ｔによって操作される左操作部２１の方向指示ボタン（上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、左ボタン２１ｄ）については、これらのうち複数のボタンが同時に押下された場合の組み合わせは設定されていない。このため、文字入力モードにおいて、左操作部２１の上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、左ボタン２１ｄのうち複数のボタンが同時に押下されている場合、ゲーム機２は、押下されたボタンの組み合わせを無効とし、文字等又は処理を基本的に特定しない。
【００４６】
しかし、上ボタン２１ａと右ボタン２１ｂと下ボタン２１ｃと左ボタン２１ｄは、十字状に配置され、ユーザは、左手１０１の親指１０１Ｔの位置を移動させることによって十字状に配置された４つの方向指示ボタン２１ａ〜２１ｄの中から１つの所望のボタンを押下するため、押下操作時に意図せずに誤って複数のボタンを同時に押下してしまう可能性が生じる。このようなユーザが意図しない誤操作時において、ボタンの組み合わせを一律に無効としてしまうと、ユーザにとっての操作性が低下してしまう可能性が生じる。このため、ゲーム機２は、４つの方向指示ボタン２１ａ〜２１ｄのうちユーザが意図しない誤操作によって同時に押下されてしまう可能性の高い組み合わせ（特定組み合わせ）を予め記憶し、特定組み合わせのボタンが押下されたか否かを判定し、特定組み合わせのボタンが押下された場合には、予め設定された優先ボタン決定処理（以下、十字キーフィルタ処理と称する）によって決定した優先ボタンの押下のみを有効とし、他のボタン（特定組み合わせのうちの他のボタン）の押下を無効とする。
【００４７】
本実施形態では、上ボタン２１ａと右ボタン２１ｂとの組み合わせ、右ボタン２１ｂと下ボタン２１ｃとの組み合わせ、下ボタン２１ｃと左ボタン２１ｄとの組み合わせ、及び左ボタン２１ｄと上ボタン２１ａとの組み合わせが、特定組み合わせとして設定されている。なお、他の組み合わせを特定組み合わせとして設定してもよい。
【００４８】
また、上記十字キーフィルタ処理として、本実施形態では、ボタンの押下順序を優先した処理（第１のフィルタ処理）と、ボタンの配置を考慮した処理（第２のフィルタ処理）と、ユーザのくせを考慮した処理（第３のフィルタ処理）とが設定されている。
【００４９】
第１のフィルタ処理では、上記特定組み合わせのボタンが同時に押下された場合、先に押下されたボタンを有効とし、後から押下されたボタンを無効とする。例えば、ゲーム機２は、上ボタン２１ａが押下され、続いて右ボタン２１ｂが押下された場合、上ボタン２１ａのみを有功とし、右ボタン２１ｂを無効とする。
【００５０】
第２のフィルタ処理では、上記特定組み合わせのボタンが同時に押下された場合、ボタンの押下順に関係なく、ユーザの手（指）に対するボタンの配置に応じて優先ボタンを決定する。本実施形態では、ユーザがコントローラ２０を把持した状態で左手１０１の親指１０１Ｔの付け根から遠くに位置すると想定されるボタンの方を優先ボタンとして設定する。例えば、上ボタン２１ａと右ボタン２１ｂとの組み合わせでは右ボタン２１ｂを優先ボタンとし、右ボタン２１ｂと下ボタン２１ｃとの組み合わせでは右ボタン２１ｂを優先ボタンとし、下ボタン２１ｃと左ボタン２１ｄとの組み合わせでは下ボタン２１ｃを優先ボタンとし、左ボタン２１ｄと上ボタン２１ａとの組み合わせでは上ボタン２１ａを優先ボタンとしてそれぞれ設定する。
【００５１】
なお、ゲーム機２は、特定組み合わせの種類によらず、第１のフィルタ処理と第２のフィルタ処理とのうち何れか一方の処理を択一的に設定してもよく、また特定組み合わせの種類に応じて、第１のフィルタ処理と第２のフィルタ処理とのうち何れか一方の処理を個別に設定してもよい。例えば、上記４つの特定組み合わせのうち、上ボタン２１ａと右ボタン２１ｂとの組み合わせの場合には第１のフィルタ処理によって優先ボタンを決定し、他の組み合わせの場合には第２のフィルタ処理によって優先ボタンを決定してもよい。
【００５２】
第３のフィルタ処理では、ユーザのボタン操作のくせ（傾向）を記憶しておき、ユーザのくせに応じて優先ボタンを決定する。すなわち、ゲーム機２は、ボタンの組み合わせの特定及び決定が継続して行われているときに、特定組み合わせのボタンが押下された後に最終的に何れのボタンの組み合わせが決定されたか（特定ボタンの組み合わせのうち何れのボタンが選択されたか）を記憶し、特定組み合わせのうちユーザが最終的に選択して決定したボタンを優先ボタンとして設定する。なお、同じユーザによって文字入力が継続して行われている場合であっても、特定組み合わせのボタンが押下された後に最終的に決定されるボタンの組み合わせ（特定組み合わせのうち選択されるボタン）は常に同じであるとは限らない。このため、本実施形態の第３のフィルタ処理では、直前に選択されたボタンを優先ボタンとして設定する。なお、各特定組み合わせについて各ボタンが選択された回数を積算して記憶し、選択された回数が多い方のボタンを優先ボタンとして設定してもよい。また、第３のフィルタ処理は、特定組み合わせのボタンが最初に押下されたときには実行できない。このため、ゲーム機２は、入力開始時の初期状態では、上記第１又は第２のフィルタ処理若しくはボタンの組み合わせを特定しない基本処理の何れかの処理を実行し、かかる処理において、特定組み合わせから１つのボタンが選択され決定されたときに、そのボタンを優先ボタンとして設定し、それ以降第３のフィルタ処理を実行する。
【００５３】
また、一般に、ボタン操作に慣れておらず慎重な操作を行う初心者は、特定組み合わせのボタンを押下してしまう場合、先に目的のボタンを押下し、後で意図しないボタンを押下する傾向が高い。これに対し、ボタン操作に慣れた上級者は、特定組み合わせのボタンを押下してしまう場合、先に目的のボタンを押下する傾向は低く、ボタンの配置に依存する傾向が高い。すなわち、特定組み合わせボタンのうち何れのボタンを優先ボタンとして設定するかは、ユーザの熟練度によって相違する。このため、ゲーム機２は、ユーザの熟練度に応じて好適なフィルタ処理（第１〜第３のフィルタ処理の何れか）を設定する。例えば、上記初心者か上級者かの判定を行った結果、初心者と判定した場合には、上記十字キーフィルタ処理として上記第１のフィルタ処理を設定する。一方、上級者と判定した場合には、上記十字キーフィルタ処理として、上記第２のフィルタ処理を設定する。また、初心者又は上級者の何れの場合であっても、第１又は第２のフィルタ処理によって特定組み合わせから１つのボタンが選択され決定された後であることを条件として、上記第３のフィルタ処理を優先的に設定してもよい。
【００５４】
［仮名入力モード］
仮名入力モードの場合、ゲーム機２は、図４に示すような仮名入力用のテーブルを読み出して設定する。この仮名入力用のテーブルでは、第１のグループ（上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、及び左ボタン２１ｄ）内で押下するボタンを規定する５種類の第１押下パターン（１−１〜１−５）と、第２のグループ（三角ボタン２２ａ、丸ボタン２２ｂ、Ｒ１ボタン２８ａ、及びＬ１ボタン２９ａ）内で押下するボタンを規定する１２種類の第２押下パターン（２−１〜２−１２）が設定され、両者の組み合わせによって１つの仮名文字、記号、又はステートが特定される。
【００５５】
第１押下パターンのパターン１−１には「Ａ」、パターン１−２には「Ｉ」、パターン１−３には「Ｕ」、パターン１−４には「Ｅ」、パターン１−５には「Ｏ」の文字情報がそれぞれ割り振られている。すなわち、仮名入力モードの場合、第１押下パターンのパターン１−１〜１−５には仮名入力のための母音の音素を表す「Ａ」〜「Ｏ」の各文字情報が設定される。また、第２押下パターンのパターン２−１には「子音なし」の文字情報が割り振られ、以下同様に、パターン２−２には「Ｋ」、パターン２−３には「Ｓ」、パターン２−４には「Ｔ」、パターン２−５には「Ｎ」、パターン２−６には「Ｈ」、パターン２−７には「Ｍ」、パターン２−８には「Ｙ」、パターン２−９には「Ｒ」、パターン２−１０には「Ｗ」、パターン２−１１には記号、パターン２−１２にはステートの文字情報がそれぞれ割り振られている。すなわち、当該仮名入力モードの場合、第２押下パターンのパターン２−１〜２−１０には仮名入力のための子音の音素を表す「子音なし」〜「Ｗ」の各文字情報が設定される。なお、「を」は、パターン１−２とパターン２−１０との組み合わせとして設定され、「ん」は、パターン１−３とパターン２−１０との組み合わせとして設定されている。また、長音記号「ー」は、パターン１−１とパターン２−１１との組み合わせとして設定され、読点「、」は、パターン１−２とパターン２−１１との組み合わせとして設定され、句点「。」は、パターン１−３とパターン２−１１との組み合わせとして設定されている。さらに、パターン１−３とパターン２−１２との組み合わせは濁点に対応し、パターン１−４とパターン２−１２との組み合わせは半濁点又は小文字に対応する。小文字のステートが特定され決定されると、前回に入力した文字が小文字に変換される。なお、小文字が決定された場合に、次回の入力時において特定され決定される文字を小文字としてもよい。
【００５６】
次に、第１押下パターンにおける各パターン１−１〜１−５と押下するボタンとの関係を、図６を参照して説明する。図６において、黒丸は押下するボタンを示し、バツは押下しないボタンを示す。
【００５７】
図６に示すように、第１押下パターンは、４つの方向指示ボタン（上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、及び左ボタン２１ｄ）の押下操作によって特定されるパターンであり、４つの方向指示ボタン２１ａ〜２１ｄの何れも押下されていない状態がパターン１−１、上ボタン２１ａのみが押下された状態がパターン１−２、右ボタン２１ｂのみが押下された状態がパターン１−３、下ボタン２１ｃのみが押下された状態がパターン１−４、左ボタン２１ｄのみが押下された状態がパターン１−５としてそれぞれ認識される。なお、上述のように、４つの方向指示ボタン２１ａ〜２１ｄについては、これらのボタンを複数同時に押下するパターンは設定されていない。
【００５８】
次に、第２押下パターンにおける各パターン２−１〜２−１２と押下するボタンとの関係を、図７を参照して説明する。図７において、黒丸は押下するボタンを示し、バツは押下しないボタンを示す。
【００５９】
図７に示すように、第２押下パターンは、三角ボタン２２ａと丸ボタン２２ｂとＲ１ボタン２８ａとＬ１ボタン２９ａの押下操作によって特定されるパターンであり、三角ボタン２２ａのみが押下された状態がパターン２−１、三角ボタン２２ａとＲ１ボタン２８ａとが押下された状態がパターン２−２、Ｒ１ボタン２８ａのみが押下された状態がパターン２−３、Ｒ１ボタン２８ａとＬ１ボタン２９ａとが押下された状態がパターン２−４、Ｌ１ボタン２９ａのみが押下された状態がパターン２−５、三角ボタン２２ａとＬ１ボタン２９ａとが押下された状態がパターン２−６、三角ボタン２２ａとＲ１ボタン２８ａとＬ１ボタン２９ａとが押下された状態がパターン２−７、丸ボタン２２ｂと三角ボタン２２ａとが押下された状態がパターン２−８、丸ボタン２２ｂと三角ボタン２２ａとＲ１ボタン２８ａとが押下された状態がパターン２−９、丸ボタン２２ｂと三角ボタン２２ａとＬ１ボタン２９ａとが押下された状態がパターン２−１０、丸ボタン２２ｂと三角ボタン２２ａとＲ１ボタン２８ａとＬ１ボタン２９ａとが押下された状態がパターン２−１１、丸ボタン２２ｂのみが押下された状態がパターン２−１２として認識される。
【００６０】
仮名入力モードでは、各仮名文字は、基本的に母音と子音との組み合わせによって特定され、母音には、４つの方向指示ボタン（上ボタン２１ａ、右ボタン２１ｂ、下ボタン２１ｃ、及び左ボタン２１ｄ）が割り付けられ、子音には三角ボタン２２ａ、丸ボタン２２ｂ、Ｒ１ボタン２８ａ、及びＬ１ボタン２９ａが割り付けられている。
【００６１】
例えば、「そ」の文字を入力する場合、「そ」の文字はパターン１−５とパターン２−３との組み合わせであるため、ユーザは、左ボタン２１ｄとＲ１ボタン２８ａとをともに押下することによって「そ」の文字を特定し、これらのボタン２１ｄ，２８ａをともに離す（押下を解除する）ことによって「そ」の文字を決定する。このとき、ボタン２１ｄ，２８ａが押下された状態では、パターン１−５とパターン２−３との組み合わせが仮決定組み合わせとなり、テレビジョンモニタ装置１０に「そ」の文字が仮決定態様で表示され、ボタン２１ｄ，２８ａの押下が解除されたとき、パターン１−５とパターン２−３との組み合わせが本決定組み合わせとなり、仮決定態様の「そ」の文字が本決定態様に変わる。
【００６２】
以上説明したように、当該仮名入力モードの場合、第１押下パターンのパターン１−１から１−５には母音音素を表す各文字情報が設定され、第２押下パターンのパターン２−１〜２−１０には子音音素を表す各文字情報が設定され、ユーザが、第１押下パターンの中の１つのパターンと第２押下パターンの中の１つのパターンとを選択し、その組み合わせを特定し決定した場合、ゲーム機２は、その組み合わせに対応する仮名一文字を入力文字として特定し決定する。なお、従来のキーボードを使用した文字入力システムにおけるローマ字入力の場合、先に子音音素を特定するキーを押下し、その状態で母音音素を特定するキーを押下するという順番でのみ、文字を特定可能である。この点に関し、本実施形態の文字入力システムは、母音音素と子音音素とを特定する際にボタンの押下の順番に依存せず、単に組み合わせのみで仮名一文字が特定されるため、上記従来のローマ字入力の場合とは大きく異なる。
【００６３】
［英数字入力モード］
英数字入力モードの場合、ゲーム機２は、図５に示すような英数字入力用のテーブルを読み出して設定する。この英数字入力用のテーブルでは、４種類の第１押下パターン（１−１〜１−４）と１１種類の第２押下パターン（２−１〜２−１１）が設定され、両者の組み合わせによって１つの英字又は数字が特定される。
【００６４】
なお、各パターン１−１〜１−４，２−１〜２−１１と押下するボタンとの関係は、上記仮名入力モードの場合と同様であるため、その説明を省略する。
【００６５】
［入力モードの切り替えと参照するテーブルの切り替え］
仮名入力モードと英数字入力モードと間における何れか一方から他方への入力モードの切り替え指示は、丸ボタン２２ｂとＬ１ボタン２９ａとがともに押下され、その押下が解除されることによって行われる。なお、所定の文字を入力している途中で入力モードを切り替えたい場合、ユーザは、その所定の文字を決定せず（全てのボタンの押下が解除された状態を生成することなく）、丸ボタン２２ｂとＬ１ボタン２９ａとの組み合わせを特定して決定すればよい。
【００６６】
［文字入力時のＧＵＩ］
本実施の形態の文字入力システムにおいて、ゲーム機２は、文字入力時のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）として、図８〜図１２に示すような操作案内画像１２０をテレビジョンモニタ装置１０のモニタ画面１１に表示する。なお、図８〜図１０に示す操作案内画像１２０は、仮名入力モードのときに表示される画像であり、仮名入力モードにおける操作案内画像１２０について以下に説明する。なお、操作案内画像１２０は、文字入力モードが設定されているときに常に表示してもよく、またユーザからの入力指示によって表示／非表示を切り替え可能としてもよい。
【００６７】
図８に示すように、モニタ画面１１には文字入力位置を示すカーソル１２６と操作案内画像１２０とが表示される。本実施形態では、カーソル１２６は矩形枠状に表示され、操作案内画像１２０はカーソル１２６の周りに表示される。操作案内画像１２０は、本実施形態の文字入力システムに最適化された必要最小限な大きさに設定され、モニタ画面１１の表示領域を圧迫しない大きさで表示される。
【００６８】
操作案内画像１２０は、１つの十字キーオブジェクト１２１と、１０個のコントローラオブジェクト１２２ａ〜１２２ｊからなるコントローラオブジェクト群１２２とを含む。十字キーオブジェクト１２１は、コントローラ２０の左操作部２１の十字形状を模式的に表したものであり、第１押下パターンを案内する表示である。また、各コントローラオブジェクト１２２ａ〜１２２ｊは、コントローラ２０の外形と右操作部２２の各ボタン２２ａ〜２２ｄとＲ１ボタン２８ａとＬ１ボタン２９ａとを模式的に表したものであり、第２押下パターンを案内する表示である。
【００６９】
コントローラオブジェクト１２２ａ〜１２２ｊは上方と下方とに５個ずつ分かれて表示され、その間にカーソル１２６が位置する。十字キーオブジェクト１２１は、コントローラオブジェクト群１２２の左側に配置される。このように、左手１０１による操作を案内する十字キーオブジェクト１２１が左側に、主に右手１０１による操作を案内するコントローラオブジェクト群１２２が右側にそれぞれ表示されるため、ユーザは操作案内画像１２０を視ながら容易にボタンの押下操作を行うことができる。
【００７０】
コントローラオブジェクト１２２ａ〜１２２ｊは、第２押下パターンのパターン２−１〜２−１０（図７に示す）をそれぞれ模式的に表示したものであり、各パターン２−１〜２−１０において押下するボタンが判るように、各コントローラオブジェクト１２２ａ〜１２２ｊ中の対応する部分が識別可能な状態で表示（本実施形態では、他と識別可能な特別色（例えば赤色）で着色）されている。例えば、パターン２−１に対応するコントローラオブジェクト１２２ａでは、押下するボタンである三角ボタン２２ａに対応する部分が着色され、パターン２−２に対応するコントローラオブジェクト１２２ｂでは、押下するボタンである三角ボタン２２ａとＲ１ボタン２８ａとが着色されている。
【００７１】
また、各コントローラオブジェクト１２２ａ〜１２２ｊ内には、各パターン２−１〜２−１０を代表する文字として、第１押下パターンのパターン１−１との組み合わせによって特定される文字が表示される。例えば、パターン２−１に対応するコントローラオブジェクト１２２ａ内には、「あ」の文字が表示され、パターン２−２に対応するコントローラオブジェクト１２２ｂ内には、「か」の文字が表示される。また、第２押下パターンの１つのパターンで実際にボタンが押下されると、そのパターンに対応したコントローラオブジェクト１２２ａ〜１２２ｊの表示態様が、他のコントローラオブジェクト１２２ａ〜１２２ｊから識別可能な表示態様に変化する。本実施形態では、コントローラオブジェクト１２２ａ〜１２２ｊ内の文字色が他と識別可能な特別色（例えば赤色）で表示される。なお、図１０及び図１１では、コントローラオブジェクト１２２ｄ内の文字「た」が特別色に着色された状態を、傾斜文字によって表している。
【００７２】
十字キーオブジェクト１２１は、第１押下パターンのパターン１−１〜１−５（図６に示す）をそれぞれ模式的に表示したものであり、第２押下パターンによる押下が行われている状態で各パターン１−１〜１−５において押下するボタンが判るように、各ボタンに対応する部分に対応する文字が表示される。なお、左操作部２１のボタンが全く押下されないパターン１−１の文字は、十字キーオブジェクト１２１の中央部分に表示される。
【００７３】
例えば、パターン２−４による押下が行われると、図１０に示すように、十字キーオブジェクト１２１では、パターン１−１〜１−５とパターン２−４とを組み合わせた場合に特定可能な文字「た」「ち」「つ」「て」「と」がそれぞれ所定の場所に表示される。また、係る状態で第１押下パターンで実際にボタンが押下されると、そのパターンの組み合わせに対応した文字の表示態様が、他の文字から識別可能な表示態様に変化する。本実施形態では、文字の色が他と識別可能な特別色（例えば赤色）で表示される。なお、本実施形態では、パターン１−１では左操作部２１のボタンが全く押下されないため、第２押下パターンによる押下のみが行われた場合、パターン１−１との組み合わせによって特定される文字が特別色で表示される。すなわち、図１０の例では、「た」の文字が特別色で表示される。なお、図１０では十字キーオブジェクト１２１内の「た」の文字が特別色に着色された状態を、図１１では十字キーオブジェクト１２１内の「ち」の文字が特別色に着色した状態を、それぞれ傾斜文字によって表している。
【００７４】
なお、本実施形態では、第２押下パターンによる押下が行われていない初期状態では、図８及び図９に示すように、暫定的にパターン２−１で押下された場合の文字を表示するが、この場合、全く文字を表示しなくてもよい。
【００７５】
ゲーム機２は、第１押下パターンと第２押下パターンとの組み合わせに対応した文字を特定すると、その特定した文字をカーソル１２６内に仮決定態様で表示する。また、全てのボタンの押下が解除されると、ゲーム機２は、特定した文字を入力文字として決定し、仮決定態様の文字を本決定態様に変更して表示する。本実施形態では、仮決定態様と本決定態様とは異なる色で表示される。なお、図１０及び図１１では、仮決定態様を傾斜文字で表している。
【００７６】
次に、図９〜図１２に基づき、ユーザが仮名文字を入力する場合のモニタ画面１１の状態を具体的に説明する。この例では、吹き出し１２５の中に「こんにちは」の文字入力において、ユーザが「こんに」までの文字入力を行った状態で「ち」の文字を入力する場合を説明する。
【００７７】
ユーザが「こんに」までの文字入力を行うと、図９に示すように「こんに」の直後にカーソル１２６が表示され、カーソル１２６の周りに操作案内画像１２０が表示される。ユーザは、表示されたコントローラオブジェクト群１２２の中から、「ち」が属するパターン２−４を代表する文字「た」が表示されたコントローラオブジェクト１２２ｄを探し、コントローラオブジェクト１２２ｄの表示に従ってＲ１ボタン２８ａとＬ１ボタン２９ａとを押下する。ユーザがＲ１ボタン２８ａとＬ１ボタン２９ａとを押下し、ゲーム機２がＲ１ボタン２８ａとＬ１ボタン２９ａとの組み合わせを仮決定組み合わせと認定すると、図１０に示すように、コントローラオブジェクト１２２ｄ内の「た」の文字が特別色で表示され、十字キーオブジェクト１２１内に「た」「ち」「つ」「て」「と」の文字が表示され、カーソル１２６内に「た」の文字が仮決定態様で表示される。このとき、十字キーオブジェクト１２１内では、「た」の文字が特別色で表示される。
【００７８】
次に、ユーザは、Ｒ１ボタン２８ａとＬ１ボタン２９ａとの押下を維持したまま、十字キーオブジェクト１２１を視て、「ち」が表示された部分に対応するボタン（上ボタン２１ａ）を押下する。ユーザが上ボタン２１ａを押下し、ゲーム機２が上ボタン２１ａとＲ１ボタン２８ａとＬ１ボタン２９ａとの組み合わせを仮決定組み合わせとして更新すると、図１１に示すように、十字キーオブジェクト１２１内に「た」の文字が通常色に戻るとともに「ち」の文字が特別色で表示される。また、カーソル１２６内では、「ち」の文字が仮決定態様で表示される。
【００７９】
次に、ユーザは、押下している全てのボタン（この場合、上ボタン２１ａとＲ１ボタン２８ａとＬ１ボタン２９ａ）の押下を解除する。全てのボタンの押下が解除されると、上ボタン２１ａとＲ１ボタン２８ａとＬ１ボタン２９ａとの組み合わせが本決定組み合わせとして決定され、対応する「ち」の文字が入力文字として決定される。「ち」の文字が入力文字として決定されると、図１２に示すように、カーソル１２６がスライド移動し、カーソル１２６から外れた「ち」の文字が本決定態様で表示される。また、カーソル１２６の移動に伴い、操作案内画像１２０も移動する。
【００８０】
なお、入力された文字や文節は、所定の入力操作によって漢字等に適宜変換され、確定する。確定した文字は、仮決定態様及び本決定態様とは異なる態様で表示される。
【００８１】
また、英数字入力モードにおいても、上記仮名入力モードと同様に、十字キーオブジェクトとコントローラオブジェクト群とを含む操作案内画像が表示される。この場合、コントローラオブジェクト群の各コントローラオブジェクト内には、図５に示す第２押下パターンの各パターン２−１〜２−１１を代表する文字として、同図に示す第１押下パターンのパターン１−１との組み合わせによって特定される文字が表示される。例えば、パターン２−１に対応するコントローラオブジェクト内には、パターン２−１を代表する文字として「Ａ」の文字が表示される。また、十字キーオブジェクト内には、第２押下パターンによる押下が行われている状態で各パターン１−１〜１−４において押下するボタンが判るように、各ボタンに対応する部分に対応する文字が表示される。例えば、パターン２−４による押下が行われると、十字キーオブジェクトでは、パターン１−１〜１−３とパターン２−４とを組み合わせた場合に特定可能な文字「Ｊ」「Ｋ」「Ｆ」がそれぞれ所定の場所に表示される。
【００８２】
［テレビゲーム機の内部回路構成］
次に、上述した文字情報の入力を実現可能なゲーム機２の内部回路構成の概要について図１３を用いて説明する。
【００８３】
ゲーム機２は、メインＣＰＵ３０、グラフィックプロセッサユニット（以下、ＧＰＵとする）３１、ＩＯプロセッサ（以下、ＩＯＰとする）３４、光ディスク再生部４２、メインメモリ（RAM:Random Access Memory）３５、ＭＡＳＫ−ＲＯＭ３６、サウンドプロセッサユニット（以下、ＳＰＵとする）３８などを備える。メインＣＰＵ３０は、前述した文字情報の入力等を実現する各種アプリケーションプログラムに基づいて、信号処理や内部構成要素の制御を行う。ＧＰＵ３１は、画像処理を行う。ＩＯＰ３４は、外部と装置内部との間のインターフェイス処理や下位互換性を保つための処理を行う。メインメモリ３５は、上記メインＣＰＵ３０のワークエリアや光ディスク４６から読み出されたデータを一時的に格納するバッファとしての機能を有する。
【００８４】
ＭＡＳＫ−ＲＯＭ３６は、ゲーム機２の初期設定プログラムや、各種スイッチ，ボタンが押された時にメインＣＰＵ３０やＩＯＰ３４の処理を例えば一時中断して、それらスイッチやボタンの操作に応じた処理を実行するためのプログラム（いわゆるハンドラ）等を格納している。ＳＰＵ３８は、音響信号処理を行う。光ディスク再生部４２は、アプリケーションプログラムやマルチメディアデータが記録されているＤＶＤ，ＤＶＤ−ＲＯＭ，ＣＤ，ＣＤ−ＲＯＭ等の光ディスク４６の再生を行う。また、光ディスク再生部４２は、スピンドルモータ４５、光ピックアップ４４、ＲＦアンプ４３、スライド機構等からなる。スピンドルモータ４５はＤＶＤやＣＤ等の光ディスク４６を回転させる。また、スピンドルモータ４５には、回転速度を検出する速度センサが設けられている。光ピックアップ４４は、光ディスク４６に記録されている信号を読み取る。スライド機構は、光ピックアップ４４をディスク半径方向に移動させる。ＲＦアンプ４３は、光ピックアップ４４からの出力信号を増幅する。
【００８５】
さらに、このゲーム機２は、ＣＤ／ＤＶＤディジタルシグナルプロセッサ（以下、ＤＳＰとする）４０、ドライバ４１、メカコントローラ３９、カード型コネクタ（以下、ＰＣカードスロットとする）３７も有している。ＤＳＰ４０は、光ディスク再生部４２のＲＦアンプ４３の出力信号を２値化し、例えば誤り訂正処理（ＣＩＲＣ処理）や伸張復号化処理等を施すことで、光ディスク４６に記録されている信号を再生する。ドライバ４１及びメカコントローラ３９は、光ディスク再生部４２のスピンドルモータ４５の回転制御、光ピックアップ４４のフォーカス／トラッキング制御、ディスクトレイ３のローディング制御等を行う。ＰＣカードスロット３７は、例えば通信カードや外付けのハードディスクドライブ等と接続するためのインターフェイスデバイスである。
【００８６】
これらの各部は、主にバスライン３２，３３等を介してそれぞれ相互に接続されている。なお、メインＣＰＵ３０とＧＰＵ３１は、専用バスで接続されている。また、メインＣＰＵ３０とＩＯＰ３４は、ＳＢＵＳにより接続されている。ＩＯＰ３４とＤＳＰ４０、ＭＡＳＫ−ＲＯＭ３６、ＳＰＵ３８、ＰＣカードスロット３７は、ＳＳＢＵＳにより接続されている。
【００８７】
メインＣＰＵ３０は、ＭＡＳＫ−ＲＯＭ３６に記憶されている初期設定プログラム等や、光ディスク４６から読み出されたメインＣＰＵ用のオペレーティングシステムプログラムを実行することにより、当該ゲーム機２の全動作を制御する。また、メインＣＰＵ３０は、上記文字情報の入力，編集等を実行するための各種アプリケーションプログラムを実行することにより、当該ゲーム機２における様々な動作をも制御する。なお、それら各種アプリケーションプログラムは、例えば上記光ディスク４６から読み出されてメインメモリ３５にロードされたり、通信ネットワーク介してダウンロードされるものである。
【００８８】
ＩＯＰ３４は、ＭＡＳＫ−ＲＯＭ３６に記憶されているＩＯプロセッサ用のオペレーティングシステムプログラムを実行することにより、コントローラポート７Ａ，７Ｂやメモリカードスロット８Ａ，８ＢからなるＰＡＤ／メモリカードコネクタとゲーム機２との間のデータ入出力、前記ＵＳＢ接続端子５とゲーム機２との間のデータ入出力、前記ＩＥＥＥ１３９４接続端子６とゲーム機２との間のデータ入出力、ＰＣカードスロット３７とゲーム機２との間のデータ入出力などを制御するとともに、それらのデータプロトコル変換等を行う。なお、上記ＭＡＳＫ−ＲＯＭ３６には、このゲーム機２のデバイスＩＤも保存されている。
【００８９】
ＧＰＵ３１は、座標変換等の処理を行うジオメトリトランスファエンジンの機能と、レンダリングプロセッサの機能とを有し、メインＣＰＵ３０からの描画指示に従って描画を行い、描画された画像を図示しないフレームバッファに格納する。本実施の形態の文字情報入力が行われる場合、ＧＰＵ３１は、前記操作案内画像１２０やカーソル１２６や文字等の画像を描画する。また例えば、光ディスク４６に記録されている各種アプリケーションプログラムがテレビゲームのようにいわゆる３次元（３Ｄ）グラフィックを利用するものである場合、当該ＧＰＵ３１は、ジオメトリ演算処理により、３次元オブジェクトを構成するためのポリゴンの座標計算等を行い、さらに、レンダリング処理により、この３次元オブジェクトを仮想的なカメラ（仮想視野を決定する仮想的なカメラ）で撮影することにより得られる画像を生成するための諸計算、すなわち透視変換（３次元オブジェクトを構成する各ポリゴンの頂点を仮想的なカメラスクリーン上に投影した場合における座標値の計算など）を行い、最終的に得られた画像データをフレームバッファ上へ書き込む。そして、ＧＰＵ３１は、この作成した画像に対応するビデオ信号を出力する。
【００９０】
ＳＰＵ３８は、ＡＤＰＣＭ（Ａｄａｐｔｉｖｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）復号機能、オーディオ信号再生機能、信号変調機能等を備えている。ＡＤＰＣＭ復号機能とは、適応予測符号化された音響データを復号する機能である。オーディオ信号再生機能とは、当該ＳＰＵ３８に内蔵或いは外付けされた図示しないサウンドバッファに記憶されている波形データを読み出すことで、効果音等のオーディオ信号を再生して出力する機能である。信号変調機能とは、上記サウンドバッファに記憶されている波形データを変調させて様々な音波形データを生成する機能である。すなわち、当該ＳＰＵ３８は、メインＣＰＵ３０からの指示に基づいて、サウンドバッファに記憶されている波形データから、楽音や効果音等のオーディオ信号を発生する、いわゆるサンプリング音源としても動作する。
【００９１】
以上のような構成を有するゲーム機２は、電源が投入されると、ＭＡＳＫ−ＲＯＭ３６からメインＣＰＵ用の初期設定プログラムとＩＯＰ用のオペレーティングシステムプログラムとがそれぞれ読み出され、メインＣＰＵ３０とＩＯＰ３４において、それら対応したプログラムが実行される。これにより、メインＣＰＵ３０は、当該ゲーム機２の各部を統括的に制御する。また、ＩＯＰ３４は、コントローラ２０やメモリカード１４等とゲーム機２との間の信号の入出力を制御する。また、メインＣＰＵ３０は、動作確認等の初期化処理を行った後、光ディスク再生部４２を制御して、光ディスク４６に記録されているアプリケーションプログラムを読み出し、メインメモリ３５にロードした後、そのアプリケーションプログラムを実行する。このアプリケーションプログラムの実行により、メインＣＰＵ３０は、ＩＯＰ３４を介してコントローラ２０から受け付けたユーザの指示に応じて、ＧＰＵ３１やＳＰＵ３８を制御し、文字情報の入力や画像の表示，効果音、楽音の発生を制御する。なお、ゲーム機２において、例えば光ディスク４６に記録された映画等の再生を行う場合も同様であり、メインＣＰＵ３０は、ＩＯＰ３４を介してコントローラ２０から受け付けたユーザからの指示に従って、ＧＰＵ３１やＳＰＵ３８を制御し、光ディスク４６から再生された映画の映像の表示や効果音や音楽等の発生を制御する。
【００９２】
また、メインＣＰＵ３０は、文字入力モードにおいて、上記組み合わせ継続時間を計時するタイマ、及び各ボタン毎にその押下継続時間（以下、ボタン押下継続時間と称する）を計時するタイマとして機能する。
【００９３】
また、メインメモリ３５には、何れかのボタンが押下されているアクティブ状態か全てのボタンの押下が解除されているアイドル状態かを示す操作状態情報を前回と今回とについてそれぞれ記憶する操作状態情報記憶領域と、検知した各ボタンの前回及び今回のＯＮ／ＯＦＦ状態（検知キー情報）を一時的にそれぞれ記憶する検知キー情報記憶領域と、上記ボタン有効／無効判定処理により有効と判定した各ボタンの前回及び今回のＯＮ／ＯＦＦ状態（有効キーパターン）を一時的にそれぞれ記憶する有効ボタン状態記憶領域（有効キーパターンビット列）と、各ボタンの上記ボタン押下継続時間をそれぞれ記憶するボタン押下継続時間記憶領域と、上記組み合わせ継続時間及び上記最長組み合わせ継続時間を記憶する組み合わせ継続時間記憶領域と、上記単位操作時間を記憶する単位操作時間記憶領域と、上記判定基準時間を記憶する基準時間記憶領域と、上記仮決定情報（仮決定組み合わせ）を記憶する仮決定情報記憶領域と、後述する基準上限閾値と上補正値と下補正値とをそれぞれ記憶する上閾値記憶領域と、上記下限閾値を記憶する下限閾値記憶領域と、上記初心者用カウンタ及び上記上級者用カウンタの各カウント値をそれぞれ記憶するカウント値記憶領域と、上記判定基準値を記憶する判定基準値記憶領域と、上記特定組み合わせ（上記特定ボタンの組み合わせ）を記憶する特定組み合わせ記憶領域と、上記特定組み合わせ毎の優先ボタン（優先ボタン情報）を記憶する優先ボタン記憶領域と、上記仮名入力モードや上記英数字入力モードなどの各入力モードで使用するテーブルを記憶するテーブル記憶領域などの記憶領域が設定される。なお、上記各記憶領域を、メインメモリ３５以外に設定してもよい。
【００９４】
［文字情報入力時のテレビゲーム機の主要処理］
次に、前述した文字情報の入力を行う際に、本実施形態のゲーム機２のメインＣＰＵ３０，ＩＯＰ３４，ＧＰＵ３１が、コントローラ２０からの操作信号に基づいて行う処理について、図１４〜図１６のフローチャートを用いて説明する。図１４は本実施形態の文字情報入力のためのプログラムが起動したときに実行する初期設定処理を示し、図１５はボタン情報取得処理を示し、図１６はパターン取得処理を示す。パターン取得処理はボタン情報取得処理から連続して実行され、これら一連の処置（ボタン情報取得処理とパターン取得処理）は、文字情報入力のためのプログラムが起動している限り、画像更新と同じタイミングで繰り返して実行される。本実施形態では、画像更新の頻度（フレームレート）は６０ｆｐｓ（flame Per Second）に設定され、メインＣＰＵ３０は、上記一連の処理を画像更新と同期して１／６０ｓｅｃ毎に実行する。なお、上記一連の処理を画像更新よりも少ない頻度で実行してもよく、反対に画像更新よりも多い頻度で実行してもよい。また、上記図１４〜図１６のフローチャートの処理は、本実施形態の文字情報入力処理を実現するためのプログラムに含まれる。
【００９５】
本実施形態の文字情報入力のためのプログラムが起動すると、メインＣＰＵ３０は、初期設定処理を実行する。初期設定処理では、図１４に示すように、まず、基準上限閾値、下限閾値、上補正値、下補正値、判定基準時間、判定基準値及び優先ボタン情報を設定する（ステップＳ１）。すなわち、基準上限閾値、下限閾値、上補正値、下補正値、判定基準時間、判定基準値及び優先ボタン情報を、メインメモリ３５内の対応する各記憶領域にそれぞれ記憶する。なお、特に図示していないが、ステップＳ１では、各テーブル（図４〜図７参照）や特定組み合わせを設定する。また、上記第１及び第２のフィルタ処理のそれぞれにおける優先ボタン情報（第１優先ボタン情報及び第２優先ボタン情報）を、各特定組み合わせに対応して優先ボタン記憶領域に記憶する。また、上記第３のフィルタ処理における優先ボタン情報（第３優先ボタン情報）については、ステップＳ１において全てクリアし、後述するステップＳ２９において各特定組み合わせに対応して優先ボタン記憶領域に適宜記憶する。
【００９６】
また、本実施形態では、基準上限閾値は９０フレームの更新時間（１／６０ｆｐｓ×９０フレーム＝１．５ｓｅｃ）に、下限閾値は２フレームの更新時間（１／６０ｆｐｓ×２フレーム＝１／３０ｓｅｃ）に、上補正値は３０フレームの更新時間（１／６０ｆｐｓ×３０フレーム＝０．５ｓｅｃ）に、下補正値は３０フレームの更新時間（１／６０ｆｐｓ×３０フレーム＝０．５ｓｅｃ）に、判定基準時間は３．０〜５．０ｓｅｃ程度に、判定基準値は１．０にそれぞれ設定されるが、これらの値は上記に限定されるものでない。
【００９７】
また、上級者用の上限閾値（第１の上限閾値）は、基準上限閾値に上補正値を加算することによって得られ、初心者用の上限閾値（第２の上限閾値）は、基準上限閾値から下補正値を減算することによって得られる。
【００９８】
次に、メインＣＰＵ３０は、初心者用カウンタ、上級者用カウンタ、操作状態情報、検知キー情報、有効キーパターン、ボタン押下継続時間、組み合わせ継続時間（最長組み合わせ継続時間を含む）、仮決定情報をそれぞれクリアし（ステップＳ２）、本処理を終了してボタン情報取得処理（図１５のステップＳ１０）へ移行する。すなわち、メインメモリ３５内のカウント値記憶領域に記憶された初心者用カウンタのカウント値及び上級者用カウンタのカウント値と、操作状態情報記憶領域に記憶された前回及び今回の操作状態情報記憶領域と、検知キー情報記憶領域に記憶された各ボタンの前回及び今回の検知キー情報と、有効キーパターンビット列に記憶（登録）された前回及び今回の有効キーパターンと、ボタン押下継続時間記憶領域に記憶されたボタン押下継続時間と、組み合わせ継続時間記憶領域に記憶された組み合わせ継続時間及び最長組み合わせ継続時間と、仮決定情報記憶領域に記憶された仮決定情報（仮決定組み合わせ）をクリアする。なお、カウント値のクリアとはカウント値をゼロに設定することを、操作状態情報のクリアとは操作状態情報をアイドル状態に設定することを、検知キー情報や有効キーパターンや仮決定情報のクリアとは全てＯＦＦ状態に設定することを、継続時間のクリアとは継続時間をゼロに設定することをそれぞれ意味する。また、単位操作時間記憶領域に記憶された単位操作時間をクリアしてもよい。
【００９９】
ボタン情報取得処理では、図１５に示すように、メインＣＰＵ３０は、現在の操作状態情報、検知キー情報、有効キーパターンを、それぞれ前回の情報及びパターンとして更新して記憶する（ステップＳ１０）。すなわち、操作状態情報記憶領域において、今回用の記憶領域に記憶されている操作状態情報を前回用の記憶領域に移し、各ボタンの検知キー情報記憶領域において、今回用の記憶領域に記憶されているキー情報を前回用の記憶領域に移し、有効キーパターン記憶領域において、今回用の記憶領域に記憶されている有効キーパターンを前回用記憶領域に移す。
【０１００】
次に、メインＣＰＵ３０は、各ボタンの検知キー情報を取得する（ステップＳ１１）。すなわち、ＩＯＰ３４は、コントローラ２０から各ボタンの操作信号を受信してメインＣＰＵ３０に送信し、メインＣＰＵ３０は、ＩＯＰ３４から受信した操作信号に応じたＯＮ／ＯＦＦ情報を、各ボタンの検知キー情報として、検知キー情報記憶領域のうち今回用の記憶領域に記憶する。
【０１０１】
次に、メインＣＰＵ３０は、ユーザが上級者か否かの判定処理を行う（ステップＳ１２）。この判定処理では、カウント値記憶領域に記憶された初心者用カウンタのカウント値と上級者用カウンタの各カウント値との比（初心者用カウンタのカウント値／上級者用カウンタのカウント値）を判定対象値として求め、求めた判定対象値を判定用基準値記憶領域に記憶された判定用基準値と比較し、判定対象値が判定用基準値を超えていれば初心者と判定し、判定対象値が判定用基準値以下であれば上級者と判定する。なお、初心者用及び上級者用のカウンタは、後述するステップＳ３０において適宜増加される。また、上級者用カウンタのカウント値がゼロの場合には、初心者と判定する。
【０１０２】
ステップＳ１２において上級者と判定した場合、メインＣＰＵ３０は、ステップＳ１１で取得した今回の検知キー情報が特定組み合わせ（左操作部２１の４つのボタン２１ａ〜２１ｄのうちユーザが意図しない誤操作によって同時に押下されてしまう可能性の高い組み合わせ）を含むか否かを判定し、特定組み合わせを含む場合、上級者用の十字キーフィルタ処理を実行する（ステップＳ１３）。この上級者用の十字キーフィルタ処理では、上記第２のフィルタ処理を実行し、特定組み合わせのボタンのうち優先ボタンの押下のみを有効とし、他のボタン（特定組み合わせのうちの他のボタン）の押下を無効とし、今回の検知キー情報のうち無効としたボタンに対応する検知キー情報をＯＦＦ状態に書き換える。
【０１０３】
また、ステップＳ１２において初心者と判定した場合、メインＣＰＵ３０は、上記上級者の場合（ステップＳ１３）と同様に特定組み合わせを含むか否かを判定し、特定組み合わせを含む場合、初心者用の十字キーフィルタ処理を実行する（ステップＳ１４）。この初心者用の十字キーフィルタ処理では、上記第１のフィルタ処理を実行し、特定組み合わせのボタンのうち優先ボタンの押下のみを有効とし、他のボタン（特定組み合わせのうちの他のボタン）の押下を無効とし、今回の検知キー情報のうち無効としたボタンに対応する検知キー情報をＯＦＦ状態に書き換える。
【０１０４】
メインＣＰＵ３０は、ステップＳ１３又はステップＳ１４の十字キーフィルタ処理を実行した後、各ボタン毎に、前回の検知キー情報と今回の検知キー情報との比較処理を実行し（ステップＳ１５）、ステップＳ１６へ移行する。前回の検知キー情報とは、ステップＳ１０で更新した前回の検知キー情報であり、今回の検知キー情報とは、ステップＳ１１で取得し且つステップＳ１３又はステップＳ１４の十字キーフィルタ処理を施した今回のキー情報である。
【０１０５】
ステップＳ１６では、メインＣＰＵ３０は、ステップＳ１５における比較の結果、前回の検知キー情報と今回の検知キー情報とが同じである（変化していない）と判定したボタンについて、押下継続時間記憶領域の対応する押下継続時間を増加し、ステップＳ１７へ移行する。
【０１０６】
ステップＳ１７では、メインＣＰＵ３０は、押下継続時間記憶領域の押下継続時間が閾値記憶領域の下限閾値を超えているか否かを各ボタン毎に判定し、下限閾値を超えているボタンについては、今回の検知キー情報を有効キーパターンビット列の対応領域に登録する一方、下限閾値以下のボタンについては、今回の検知キー情報を無効とし、前回の検知キー情報を有効キーパターンビット列の対応領域に登録して、ステップＳ１８へ移行する。
【０１０７】
ステップＳ１８では、メインＣＰＵ３０は、ステップＳ１０で更新した前回の有効キーパターンと、ステップＳ１７で登録した今回の有効キーパターンとを比較する比較処理を実行し、ステップＳ１９へ移行する。
【０１０８】
ステップＳ１９では、メインＣＰＵ３０は、ステップＳ１８における比較の結果、前回の有効キーパターンと今回の有効キーパターンとが同一の場合には組み合わせ継続時間記憶領域の組み合わせ継続時間を増加し、両者が相違する場合には組み合わせ継続時間をクリアして、ステップＳ２０へ移行する。
【０１０９】
ステップＳ２０では、現在の操作状態情報を記憶し、続いてパターン取得処理（図１６のステップＳ２１以降）へ移行する。本処理では、ステップＳ１１で取得した各ボタンの検知キー情報、若しくはステップＳ１７で登録した有効キーパターンに基づき、何れかのボタンが押下されているアクティブ状態か全てのボタンの押下が解除されているアイドル状態かを示す操作状態情報を、操作状態情報記憶領域の今回用の記憶領域に記憶する。
【０１１０】
パターン取得処理では、図１６に示すように、メインＣＰＵ３０は、前回の操作状態情報（操作状態記憶領域の前回用の記憶領域に記憶された操作状態情報）がアイドル状態で、且つ今回の操作状態情報（操作状態記憶領域の今回用の記憶領域に記憶された操作状態情報）がアクティブ状態か否かを判定する（ステップＳ２１）。
【０１１１】
ステップＳ２１において、前回の操作状態情報がアイドル状態で、且つ今回の操作状態情報がアクティブ状態であると判定した場合には、ユーザが１つの文字等の入力を開始した直後であるため、メインＣＰＵ３０は、ステップＳ２２へ移行して、仮決定情報記憶領域に記憶された仮決定情報をクリアするとともに、組み合わせ継続時間記憶領域に記憶された組み合わせ継続時間をクリアした後、ステップＳ２３へ移行する。
【０１１２】
一方、ステップＳ２１において、前回の操作状態情報がアクティブ状態である、若しくは今回の操作状態情報がアイドル状態であると判定した場合には、ユーザが１つの文字等の入力を開始した直後ではないため、仮決定情報及び組み合わせ継続時間をクリアせず、ステップＳ２３へ移行する。
【０１１３】
ステップＳ２３では、メインＣＰＵ３０は、今回の操作状態情報がアイドル状態か否かを判定し、今回の操作状態情報がアイドル状態ではない（アクティブ状態である）と判定した場合には、ユーザが何れかのボタンを押下している状態であるため、ステップＳ２４へ移行し、単位操作時間記憶領域の単位操作時間を増加して、ステップＳ２５へ移行する。
【０１１４】
ステップＳ２５では、メインＣＰＵ３０は、ステップＳ１９で更新した組み合わせ継続時間と、組み合わせ継続時間記憶領域に記憶された最長組み合わせ継続時間とを比較し、組み合わせ継続時間が最長組み合わせ継続時間以上と判定した場合には、ステップＳ２６へ移行する。なお、後述するステップＳ２６において、最長組み合わせ継続時間として上限閾値が記憶されている場合には、実質的に組み合わせ継続時間と上限閾値とを比較する。
【０１１５】
ステップＳ２６では、メインＣＰＵ３０は、ステップＳ１９で更新した組み合わせ継続時間を最長組み合わせ継続時間として記憶し、ステップＳ２７へ移行する。なお、ステップＳ１９で更新した組み合わせ継続時間が上限閾値（後述するステップＳ３１で決定した上限閾値）以上の場合には、上限閾値を最長組み合わせ継続時間として記憶する。また、後述するステップＳ３１が未だ実行されておらず、上限閾値が未決定の場合には、ステップＳ１２における判定結果に対応した上限閾値（本実施形態では初心者用の第２の上限閾値）を最長組み合わせ継続時間として記憶する。
【０１１６】
ステップＳ２７では、メインＣＰＵ３０は、ステップＳ１７で登録した有効キーパターンを仮決定組み合わせとして仮決定組み合わせ記憶領域に更新して記憶するとともに、ＧＰＵ３１の描画処理を制御し、この仮決定組み合わせに対応する文字等を仮決定態様でモニタ画面１１に表示した後、本処理を終了する。
【０１１７】
また、ステップＳ２５において、組み合わせ継続時間が最長組み合わせ継続時間未満と判定した場合には、メインＣＰＵ３０は、ステップＳ２６及びステップＳ２７の処理を実行せずに本処理を終了する。
【０１１８】
また、ステップＳ２３において、今回の操作状態情報がアイドル状態であると判定した場合には、ユーザが何れのボタンも押下していない（全てのボタンの押下を解除している）状態であるため、メインＣＰＵ３０は、ステップＳ２８へ移行して、前回の操作状態情報がアクティブ状態か否かを判定する。
【０１１９】
ステップＳ２８において、前回の操作状態情報がアクティブ状態であると判定した場合（前回の操作状態情報：アクティブ状態、今回の操作状態情報：アイドル状態）には、ユーザが文字等を決定するために全てのボタンの押下を解除した直後であるため、メインＣＰＵ３０は、ステップＳ２９へ移行し、仮決定組み合わせ記憶領域に記憶された仮決定組み合わせを本決定組み合わせとして決定（採用）するとともに、ＧＰＵ３１の描画処理を制御し、既に仮決定態様で表示している文字等を本決定態様に変更してモニタ画面１１に表示した後、ステップＳ３０へ移行する。
【０１２０】
ステップＳ３０では、単位操作時間記憶領域に記憶された単位操作時間と判定基準時間とを比較し、単位操作時間が判定基準時間を超えていると判定した場合には、初心者用カウンタを増加し、反対に単位操作時間が判定基準時間以下であると判定した場合には、上級者用カウンタを増加して、ステップＳ３１へ移行する。
【０１２１】
ステップＳ３１では、ステップＳ３０において更新したカウント値を用いて、初心者用カウンタのカウント値と上級者用カウンタの各カウント値との比（初心者用カウンタのカウント値／上級者用カウンタのカウント値）を判定対象値として求め、求めた判定対象値を判定用基準値記憶領域に記憶された判定用基準値と比較し、判定対象値が判定用基準値を超えていれば初心者と判定し、判定対象値が判定用基準値以下であれば上級者と判定して、判定結果に対応した上限閾値（上級者：第１の上限閾値、初心者：第２の上限閾値）を決定し、本処理を終了する。
【０１２２】
また、ステップＳ２８において、前回の操作状態情報がアクティブ状態ではない（アイドル状態である）と判定した場合（前回及び今回の操作状態情報：アイドル状態）には、ユーザが全てのボタンの押下を解除した状態を継続しているため、メインＣＰＵ３０は、ステップＳ２９〜ステップＳ３１の処理を実行せずに、本処理を終了する。
【０１２３】
［文字情報入力のアプリケーションプログラムの概略的な構成］
次に、上述した本実施の形態の文字情報の入力処理を実現するためのアプリケーションプログラムの構成を説明する。
【０１２４】
当該プログラムは、例えばＤＶＤ−ＲＯＭやＣＤ−ＲＯＭのような光ディスクや半導体メモリ等の記録媒体に記録されたり、通信回線等の伝送媒体を介してダウンロード可能なものであり、例えば図１７に示すようなデータ構成を有している。なお、この図１７に示すプログラムのデータ構成は、上述した文字情報の入力処理を実現するためのプログラム部３４０とその他のデータ部３６０の主要なもののみを概念的に表すものであり、実際のプログラム構成を表しているものではない。
【０１２５】
図１７において、データ部３６０は、本実施形態の文字情報入力処理を実行する際に使用される各種のデータとして、ポリゴン・テクスチャデータ等３６１と、文字等のフォントデータ３６２と、辞書データ３６３を有している。
【０１２６】
ポリゴン・テクスチャデータ等３６１は、前記十字キーオブジェクト１２１やコントローラオブジェクト１２２ａ〜１２２ｊやカーソル１２６などの画像を生成するためのポリゴンやテクスチャ生成用のデータである。フォントデータ３６２は、カーソル１２６内など表示される文字等のデータである。辞書データ３６３は、文節変換の変換候補や仮名漢字変換等のためのデータである。
【０１２７】
上記プログラム部３４０は、本実施形態の文字情報入力のためのプログラムとして、少なくとも、ディスク制御プログラム３４１、コントローラ管理プログラム３４２、描画制御プログラム３４５、文字情報処理プログラム３５１などを有している。
【０１２８】
ディスク制御プログラム３４１は、光ディスクやＨＤＤからのデータを読み出すための制御等を行う。コントローラ管理プログラム３４２は、ユーザによるコントローラ２０上の各種ボタンやキーのオン操作やコントローラ２０の機能等の管理を行う。
【０１２９】
描画制御プログラム３４５は、前記十字キーオブジェクト１２１やコントローラオブジェクト１２２ａ〜１２２ｊやカーソル１２６等を描画するためのオブジェクト・カーソル制御部３４６を含む。
【０１３０】
文字情報処理プログラム３５１は、描画制御プログラム３４５と連携して、前記カーソル１２６内などに表示される文字等を制御する文字入力編集制御部３５２と、データ部３６０内のフォントデータ３６２を管理するフォント管理部３５３と、データ部３６０内の辞書データ３６３を管理する辞書管理部３５４とを有する。
【０１３１】
以上説明したように、本実施形態によれば、ユーザは、予め設定された複数のボタンの組み合わせの中から所望の文字等に対応する１つの組み合わせを選択し、その組み合わせのボタンを同時に押下して同時に押下を解除することにより、所望の文字等を入力することができる。すなわち、ユーザは、所望の１つの組み合わせのボタンを同時に押下して同時に解除するという１回の操作によって、所望の文字等の入力を行うことができる。
【０１３２】
また、ユーザが何れかのボタンの押下を継続している限り、ゲーム機２は、その組み合わせを適宜変更可能な仮決定組み合わせとして特定し、ユーザが全てのボタンの押下を解除したときに、本決定組み合わせとして採用し、本決定組み合わせに対応する文字等を入力文字等として確定する。従って、ユーザは、何れかのボタンの押下を継続している間であれば、仮決定組み合わせを未決定状態のまま他の組み合わせに任意に変更して決定することができる。
【０１３３】
また、ゲーム機２は、１つの文字等を入力する際の１回の継続した入力操作の間（最初にボタンが押下されたときから全てのボタンの押下が解除されるまでの間）において、同時に押下されたボタンの組み合わせを変更する毎に、その組み合わせが継続した時間を組み合わせ継続時間としてカウントし、全てのボタンの押下が解除されたときに、組み合わせ継続時間が最も長時間であるボタンの組み合わせを本決定組み合わせとして優先して採用する。このため、ユーザが複数のボタンを押下又は解除する際に、各ボタン間で押下又は解除のタイミングに若干のずれが生じた場合であっても、意図する組み合わせによる組み合わせ継続時間が最も長時間であれば、ユーザの意図していない組み合わせが本決定組み合わせとして採用されてしまうことがない。従って、ユーザの意図していない文字等がボタン操作のタイミングのずれによって入力されてしまうことを抑制することができ、入力時の操作性が向上する。
【０１３４】
また、ゲーム機２は、組み合わせ継続時間をカウントする際に、そのカウント値が予め設定された上限閾値に達した場合には、上限閾値を最長組み合わせ継続時間として記憶するとともに、既に最長組み合わせ継続時間として上限閾値が記憶された状態で、上限閾値以上の組み合わせ継続時間をカウントした場合には、後のカウントに対応する仮決定組み合わせを優先して本決定組み合わせとして採用する。このため、ボタンの組み合わせを間違えて長時間押下した後、間違えに気づいて組み合わせを修正する場合、ユーザは、修正した組み合わせのボタンを上限閾値以上の時間継続して押下することによって、未決定状態で一度特定されたボタンの組み合わせを適正な組み合わせに修正変更することができる。すなわち、誤った組み合わせによるボタンの押下時間が長時間であっても、その後に適正な組み合わせで上限閾値以上の間ボタンを押下すればその適正な組み合わせが採用される。従って、入力操作に要する時間の増大を抑制することができ、操作性が向上する。
【０１３５】
また、仮決定組み合わせの変更に要する時間を短縮するためには、上記上限閾値は短く設定されている方が好ましい。しかし、上限閾値が短い場合この場合、最長組み合わせ継続時間が上限閾値となる頻度が高くなるため、ユーザは、全てのボタンの押下を解除して入力文字等を決定する際に、その解除操作の途中で意図しない仮決定組み合わせの組み合わせ継続時間が上限閾値に達しないように、その解除操作を慎重に行う必要がある。すなわち、ユーザが入力文字等を決定する際に、その解除操作に細心の注意を払うことなくノイズを少なくするためには、上限閾値は長く設定されている方が好ましい。このため、ボタン操作は丁寧であるが、ボタンの組み合わせの変更回数が多い初心者にとっては、上限閾値はある程度短時間に設定されていた方が好ましく、反対に、ボタン操作はあまり丁寧ではないが、ボタンの組み合わせの変更回数は少ない上級者にとっては、上限閾値はある程度長時間に設定されていた方が好ましい。この点に関し、本実施形態のゲーム機２では、上限閾値として、上級者にとって好適な第１の上限閾値と、初心者にとって好適な第２の上限閾値（第２の上限閾値＜第１の上限閾値）とが設定可能である。すなわち、ユーザの熟練度に応じて操作性が良好となる上限閾値が設定可能であるため、操作性がさらに向上する。
【０１３６】
また、ゲーム機２は、最初にボタンが押下されたときから全てのボタンの押下が解除されるまでの時間（１つのボタンの組み合わせを決定するためにユーザが要した単位操作時間）に基づいて、ユーザが初心者か上級者かを判定し、その判定結果に応じた上限閾値（第１の上限閾値又は第２の上限閾値）を設定する。すなわち、ゲーム機２は、ユーザの熟練度を判定してそのユーザに好適な上限閾値を設定するので、ユーザによる上限閾値の選択設定が不要であり、操作性がさらに向上する。
【０１３７】
また、ゲーム機２は、各ボタンのそれぞれについて、正規な入力として認識するための必要最低限の時間である下限閾値（下限閾値＜上限閾値）を超えて継続して押下されたか否かを判定し、下限閾値を超えて継続してボタンが押下されている場合に限り、正規の押下操作が行われたと判定して、そのボタンの押下を有効とし、押下時間が下限閾値以下の場合には、誤った押下操作が行われたと判定して、そのボタンの押下を無効とする。従って、所定のボタンの組み合わせを入力しようとしたユーザが誤って他のボタンを瞬間的に押下して直ぐに正規のボタンを押下し直した場合、このような誤入力によって組み合わせが極めて短時間に変化してしまうことがなく、操作性がさらに向上する。
【０１３８】
また、ゲーム機２には、同時に押下された場合の組み合わせが設定されていないボタンの組み合わせのうち、押下操作時にユーザが意図せずに誤って同時に押下してしまう可能性が高いボタンの組み合わせを特定組み合わせとして予め設定され、この特定組み合わせのボタンが押下された場合、ゲーム機２は、特定組み合わせのうち有効なボタン（優先ボタン）を決定する優先ボタン決定処理（十字キーフィルタ処理）を実行し、優先ボタンの押下のみを有効とし、他のボタン（特定組み合わせのうちの他のボタン）の押下を無効とする。また、十字キーフィルタ処理として、ボタンの押下順序を優先した第１のフィルタ処理と、ボタンの配置を考慮した第２のフィルタ処理と、ユーザのくせを考慮した第３のフィルタ処理とが設定され、これらのフィルタ処理が適宜実行される。従って、押下操作時にユーザが意図せずに特定組み合わせのボタンを同時に押下してしまった場合であっても、ゲーム機２が優先ボタンを決定し、優先ボタン以外のボタンの押下を無効とするので、操作性がさらに向上する。
【０１３９】
また、ゲーム機２は、ユーザが初心者か上級者かを判定し、その判定結果に応じて好適なフィルタ処理（第１〜第３のフィルタ処理）を設定する。すなわち、ゲーム機２は、ユーザの熟練度に応じて好適なフィルタ処理を設定するので、ユーザによるフィルタ処理の選択設定が不要であり、操作性がさらに向上する。
【０１４０】
また、ゲーム機２は、特定した文字等をモニタ画面１１に仮決定態様で表示し、全てのボタンの押下が解除されて特定した文字等を入力文字として決定すると、その表示を仮決定態様から本決定態様へ変更する。従って、ユーザは、モニタ画面１１に表示された仮決定態様の文字等が所望の文字等であるか否かを視認し、所望の文字等が表示されている場合には、全てのボタンの押下を解除してその文字等を入力文字として決定することができる。また、ユーザは、所望の文字等が表示されていない場合には、少なくとも１つのボタンの押下を継続して未決定状態を保持しながら、所望の文字等が表示されるまで押下するボタンの組み合わせを適宜変更することができる。
【０１４１】
また、ゲーム機２は、第１のグループに属するボタンの中から押下する１つのボタンを規定する第１押下パターンと、第２のグループに属するボタンの中から押下する１つ又は複数のボタンを規定する第２押下パターンとの組み合わせによって、１つの文字等を特定するとともに、第１のグループに属するボタンを示す第１の案内画像（十字キーオブジェクト１２１）と、第２押下パターンに属する複数のパターンを示す第２の案内画像（コントローラオブジェクト１２２ａ〜１２２ｊ）とを含む操作案内画像１２０を、モニタ画面１１に表示する。操作案内画像１２０には、第２押下パターンの各パターンを代表する文字等が、コントローラオブジェクト１２２ａ〜１２２ｊに対応して表示され、ユーザが、コントローラオブジェクト１２２ａ〜１２２ｊとこれに対応して表示された文字等を視て第２押下パターンの中の１つを選択し、その組み合わせ（１つの第２押下パターン）でボタンを押下すると、ゲーム機２は、当該１つの第２押下パターンと第１のグループの各ボタンとを組み合わせることによって特定される文字等を、第１の案内画像の対応するボタンに関連付けて表示する。すなわち、ユーザは、操作案内画像１２０を視ながら、第２押下パターンの１つ（第２のグループに属するボタンの１つ又は複数）を押下し、次に第１押下パターンの１つ（第１のグループに属するボタンの１つ）を押下することにより、用意に所望の文字等を入力することができる。
【０１４２】
また、文字情報の入力を補助する操作案内画像１２０がモニタ画面１１上で占有する面積を必要最小限に抑えているため、画面上の他の画像等の表示を圧迫することなく、文字情報の入力が可能である。従って、例えばテレビゲーム機２においてゲームの実行中に文字入力が必要となるような用途では、文字入力のためのＧＵＩがゲーム画像の邪魔にならず、ゲームの進行を停滞させることがない。
【０１４３】
なお、上述した実施の形態の説明は、本発明の一例である。このため、本発明は上述した実施の形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
【０１４４】
例えば、本発明にかかる文字情報の入力のための入力装置は、テレビゲームシステム１のコントローラ２０に限定されるものではなく、携帯電話機や、ＰＤＡ、文字入力機能を備えた携帯型ゲーム機やカーナビゲーションシステム、セットトップボックス等のように、押下操作される複数のボタンを有する様々な電子機器の入力装置に適用可能である。
【０１４５】
また、上記実施形態では、ゲーム機２は、押下されている全てのボタンの操作信号がＯＦＦに変更されたタイミングでボタンの組み合わせを決定したが、操作信号の本決定状態はこれに限定されるものではなく、例えば、ゲーム機２は、本決定組み合わせに使用される１つ又は複数のボタンの操作信号がそれぞれＯＮであり、且つ複数のボタンのうち本決定組み合わせに使用されることがない所定の決定用ボタン（例えば、Ｌ２ボタン２９ｂ）の操作信号がＯＮになったタイミングで、ボタンの組み合わせを決定してもよい。この場合、ユーザは、所望の１つ又は複数のボタンを同時に押下し、その状態でさらに決定用ボタンを押下することにより、決定用ボタンを押下する直前に押下されていたボタンの組み合わせ（仮決定組み合わせ）を、本決定組み合わせとして決定することができる。また、決定用ボタンの押下前であれば、仮決定組み合わせを自由に変更することができる。
【図面の簡単な説明】
【０１４６】
【図１】本発明の一実施形態の文字入力システムの主要部の概略構成例を示す模式図である。
【図２】コントローラの外観図である。
【図３】コントローラが把持された状態を示す平面図である。
【図４】仮名入力モード時の押下パターンの組み合わせと文字等との対応関係を示す図である。
【図５】英数字入力モード時の押下パターンの組み合わせと文字等との対応関係を示す図である。
【図６】第１押下パターンとボタンとの対応関係を示す図である。
【図７】第２押下パターンとボタンとの対応関係を示す図である。
【図８】操作案内画像を示す模式図である。
【図９】モニタ画面上の操作案内画像を示す模式図である。
【図１０】モニタ画面上の操作案内画像を示す模式図である。
【図１１】モニタ画面上の操作案内画像を示す模式図である。
【図１２】モニタ画面上の操作案内画像を示す模式図である。
【図１３】本実施の形態のテレビゲーム機の内部概略構成を示すブロック図である。
【図１４】初期設定処理を示すフローチャートである。
【図１５】ボタン情報取得処理を示すフローチャートである。
【図１６】パターン取得処理を示すフローチャートである。
【図１７】本実施の形態の文字情報入力処理を実現するためのアプリケーションプログラムの概略的な構成図である。
【符号の説明】
【０１４７】
１…テレビゲームシステム、２…テレビゲーム機（ゲーム機）、１０…テレビジョンモニタ装置、２０…コントローラ（入力装置）、３０…メインＣＰＵ、３１…ＧＰＵ、３４…ＩＯＰ、１２０…操作案内画像
【図１】
0004927685.tif 000002
【図２】
0004927685.tif 000003
【図３】
0004927685.tif 000004
【図４】
0004927685.tif 000005
【図５】
0004927685.tif 000006
【図６】
0004927685.tif 000007
【図７】
0004927685.tif 000008
【図８】
0004927685.tif 000009
【図９】
0004927685.tif 000010
【図１０】
0004927685.tif 000011
【図１１】
0004927685.tif 000012
【図１２】
0004927685.tif 000013
【図１３】
0004927685.tif 000014
【図１４】
0004927685.tif 000015
【図１５】
0004927685.tif 000016
【図１６】
0004927685.tif 000017
【図１７】
0004927685.tif 000018