IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 田中 誠の特許一覧

<>
  • 特許-ゲームコントローラ 図1
  • 特許-ゲームコントローラ 図2
  • 特許-ゲームコントローラ 図3
  • 特許-ゲームコントローラ 図4
  • 特許-ゲームコントローラ 図5
  • 特許-ゲームコントローラ 図6
  • 特許-ゲームコントローラ 図7
  • 特許-ゲームコントローラ 図8
  • 特許-ゲームコントローラ 図9
  • 特許-ゲームコントローラ 図10
  • 特許-ゲームコントローラ 図11
  • 特許-ゲームコントローラ 図12
  • 特許-ゲームコントローラ 図13
  • 特許-ゲームコントローラ 図14
  • 特許-ゲームコントローラ 図15
  • 特許-ゲームコントローラ 図16
  • 特許-ゲームコントローラ 図17
  • 特許-ゲームコントローラ 図18
  • 特許-ゲームコントローラ 図19
  • 特許-ゲームコントローラ 図20
  • 特許-ゲームコントローラ 図21
  • 特許-ゲームコントローラ 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】ゲームコントローラ
(51)【国際特許分類】
   A63F 13/24 20140101AFI20231011BHJP
   A63F 13/2145 20140101ALI20231011BHJP
   A63F 13/26 20140101ALI20231011BHJP
   A63F 13/211 20140101ALI20231011BHJP
   G06F 3/023 20060101ALI20231011BHJP
   G06F 3/02 20060101ALI20231011BHJP
   G06F 3/04886 20220101ALI20231011BHJP
   G06F 3/0346 20130101ALI20231011BHJP
【FI】
A63F13/24
A63F13/2145
A63F13/26
A63F13/211
G06F3/023 460
G06F3/02 440
G06F3/04886
G06F3/0346 425
【請求項の数】 5
(21)【出願番号】P 2022565199
(86)(22)【出願日】2021-11-09
(86)【国際出願番号】 JP2021041089
(87)【国際公開番号】W WO2022113721
(87)【国際公開日】2022-06-02
【審査請求日】2023-09-06
(31)【優先権主張番号】P 2020195965
(32)【優先日】2020-11-26
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】517422489
【氏名又は名称】田中 誠
(74)【代理人】
【識別番号】100150843
【弁理士】
【氏名又は名称】松嶋 芳弘
(72)【発明者】
【氏名】田中 誠
【審査官】宇佐田 健二
(56)【参考文献】
【文献】特開2007-068705(JP,A)
【文献】特開2012-249880(JP,A)
【文献】特開2016-126422(JP,A)
【文献】特開2013-250738(JP,A)
【文献】特開2012-232024(JP,A)
【文献】特開2015-231444(JP,A)
【文献】米国特許出願公開第2007/0099700(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98,9/24
G06F 3/02-3/027,3/0346
G06F 3/048-3/04895
(57)【特許請求の範囲】
【請求項1】
ゲーム装置に接続され、ゲーム操作を行うためのゲームコントローラであって、
前記ゲームコントローラ本体の正面に設けられ、複数のゲーム操作ボタンを有するゲーム操作面と、
前記ゲームコントローラ本体の背面に設けられ、文字入力のための複数のキーが配列された文字入力面と、
前記ゲーム操作面又は前記文字入力面のいずれがプレイヤーに対向しているかを判定する判定部と、
前記判定部の判定結果に基づいて、前記ゲーム操作面又は前記文字入力面のうち、前記プレイヤーに対向している一方の操作を有効化し、前記プレイヤーに対向していない他方の操作の少なくとも一部を無効化する面有効無効化部と、
を備えるゲームコントローラ。
【請求項2】
請求項1に記載のゲームコントローラにおいて、
前記判定部は、前記ゲームコントローラ本体の姿勢を検出する加速度センサの検出結果に基づいて、前記ゲーム操作面又は前記文字入力面のいずれがプレイヤーに対向しているかを判定するゲームコントローラ。
【請求項3】
請求項1又は請求項2に記載のゲームコントローラにおいて、
前記文字入力面は、文字入力のための複数のキーが配列されたキー配列画像が表示されるディスプレイと、前記ディスプレイ上に設けられ、操作された位置の座標を検出するタッチセンサとを有するゲームコントローラ。
【請求項4】
請求項3に記載のゲームコントローラにおいて、
前記ゲーム装置から供給される、前記ディスプレイへ表示すべき文字入力のための複数のキーが配列されたキー配列画像を前記ディスプレイに表示するキー配列画像表示部と、
前記タッチセンサの操作された位置の座標を前記ゲーム装置へ送信する送信部と、をさらに備え、
前記キー配列画像表示部は、前記送信部が送信した前記位置の座標に基づいて前記ゲーム装置が変更した前記キー配列画像を前記ディスプレイに表示するゲームコントローラ。
【請求項5】
請求項1から請求項4のいずれか一項に記載のゲームコントローラにおいて、
前記判定部の判定結果を前記ゲーム装置に送信する対向面送信部をさらに備えるゲームコントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム操作を行うためのゲームコントローラに関し、特に、文字入力が可能なゲームコントローラに関する。
【背景技術】
【0002】
従来、ゲームコントローラにおいて、文字入力が可能なものとしては、以下に示すものがある。
【0003】
特許文献1に記載されたゲームコントローラは、テキスト入力装置が取付け取外し可能である。ゲームコントローラは、サムスティック、引き金などの操作子を配置する本体部分と、ゲームプレイ位置でプレイヤーが両手で保持するように形成されたグリップ部とを有する。各グリップ部は、本体部分からプレイヤー側へ伸ばされたグリップエンドを有する。グリップ部は、親指が操作子上に置かれると手のひらに触れるよう配置される。
【0004】
ゲームプレイ時にはプレイヤーが親指を操作子にアクセスできるように、手のひらがグリップ部の外側表面に接触し、親指と人差し指との間に本体部分が配置される。テキスト入力装置は、グリップエンド間の開いた部分にはまるようにゲームコントローラに取り付けられる。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第4440691号公報(請求項1~3、段落0047、図9
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載されたゲームコントローラは、本体部分の表面に多くの操作子やテキスト入力装置が配置されているので、表面積が大きくなり、これに伴って、体積も大きくなる。このため、子供や女性など手の小さいプレイヤーは、テキスト入力装置の一番下や中央部分に配置されているスイッチに指が届かない場合がある。前記スイッチに無理に指を伸ばすと、ゲームコントローラを落としてしまう危険性がある。
また、前記ゲームコントローラでは、本体部分の表面に多くの操作子やテキスト入力装置を構成する多くのキーが配置されている。このため、いつどの操作子やキーを操作すれば良いのかが分かりにくいので、ゲーム中にテキスト入力用のキーに誤って指が触れてしまったり、適切なタイミングで操作すべき操作子を操作することができなかったりなど、操作性が良好ではない。
【0007】
本発明は、手の小さいプレイヤーでも容易に文字入力できるとともに、操作性が良好なゲームコントローラを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、ゲーム装置に接続され、ゲーム操作を行うためのゲームコントローラであって、前記ゲームコントローラ本体の正面に設けられ、複数のゲーム操作ボタンを有するゲーム操作面と、前記ゲームコントローラ本体の背面に設けられ、文字入力のための複数のキーが配列された文字入力面と、前記ゲーム操作面又は前記文字入力面のいずれがプレイヤーに対向しているかを判定する判定部と、前記判定部の判定結果に基づいて、前記ゲーム操作面又は前記文字入力面のうち、前記プレイヤーに対向している一方の操作を有効化し、前記プレイヤーに対向していない他方の操作の少なくとも一部を無効化する面有効無効化部と、を備える。
【0009】
本発明に係るゲームコントローラにおいて、前記判定部は、前記ゲームコントローラ本体の姿勢を検出する加速度センサの検出結果に基づいて、前記ゲーム操作面又は前記文字入力面のいずれがプレイヤーに対向しているかを判定する。
【0010】
本発明に係るゲームコントローラにおいて、前記文字入力面は、文字入力のための複数のキーが配列されたキー配列画像が表示されるディスプレイと、前記ディスプレイ上に設けられ、操作された位置の座標を検出するタッチセンサとを有する。
【0011】
本発明に係るゲームコントローラにおいて、前記ゲーム装置から供給される、前記ディスプレイへ表示すべき文字入力のための複数のキーが配列されたキー配列画像を前記ディスプレイに表示するキー配列画像表示部と、前記タッチセンサの操作された位置の座標を前記ゲーム装置へ送信する送信部と、をさらに備え、前記キー配列画像表示部は、前記送信部が送信した前記位置の座標に基づいて前記ゲーム装置が変更した前記キー配列画像を前記ディスプレイに表示する。
【0012】
本発明に係るゲームコントローラにおいて、前記判定部の判定結果を前記ゲーム装置に送信する対向面送信部をさらに備える。
【発明の効果】
【0013】
本発明によれば、手の小さいプレイヤーでも容易に文字入力でき、操作性も良好である。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態に係るゲームコントローラを備えるゲームシステムの構成の一例を示す概念図である。
図2】ゲームコントローラの外観構成の一例を示す正面側の斜視図である。
図3】ゲームコントローラの外観構成の一例を示す背面側の斜視図である。
図4】ゲームコントローラの構成の一例を示すブロック図である。
図5】ゲームシステムを構成するゲーム装置の構成の一例を示すブロック図である。
図6】ゲームコントローラを構成するタッチセンサ付きディスプレイに表示されるアルファベットキー配列画像の一例を示す図である。
図7】タッチセンサ付きディスプレイに表示される記号キー配列画像の一例を示す図である。
図8】タッチセンサ付きディスプレイに表示される数字キー配列画像の一例を示す図である。
図9】タッチセンサ付きディスプレイを用いたキーの操作位置の座標を検出する方法の一例を説明するための図である。
図10】ゲームコントローラの状態判定方法の一例を説明するためのゲームコントローラの正面側やや下側面寄りから見た斜視図である。
図11】ゲームコントローラの角度と、有効と判定されるゲーム操作面及び文字入力面との関係の一例を示すグラフである。
図12】ゲームコントローラの面切替処理を説明するためのフローチャートである。
図13】ゲームコントローラの面切替処理を説明するためのフローチャートである。
図14】ゲームコントローラの文字入力処理を説明するためのフローチャートである。
図15】ゲームコントローラの文字入力処理を説明するためのフローチャートである。
図16】互換モードにおいてゲーム中にゲーム画面に文字入力することを説明するための表示装置の表示の一例を示す図である。
図17】互換モードにおいてゲーム中にゲーム画面に文字入力することを説明するための表示装置の表示の一例を示す図である。
図18】ゲームコントローラ及びゲーム装置のアドバンスモードにおける文字入力処理を説明するためのフローチャートである。
図19】ゲームコントローラ及びゲーム装置のアドバンスモードにおける文字入力処理を説明するためのフローチャートである。
図20】ゲームコントローラのアドバンスモードにおけるタッチセンサ付きディスプレイの表示の一例を示す図である。
図21】ゲームコントローラのアドバンスモードにおけるタッチセンサ付きディスプレイの表示の一例を示す図である。
図22】ゲームコントローラのアドバンスモードにおけるタッチセンサ付きディスプレイの表示の一例を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の実施形態について説明する。
[ゲームシステム100の構成]
図1は、本発明の一実施形態に係るゲームコントローラ1を備えるゲームシステム100の構成の一例を示す概念図である。
【0016】
図1に示すように、ゲームシステム100は、ゲームコントローラ1と、ゲーム装置2と、表示装置3とを備えている。
ゲーム装置2は、ゲームシステム100における各種の処理(例えば、ゲーム処理)を実行して当該処理の結果を表示装置3へ表示する。
【0017】
ゲーム装置2とゲームコントローラ1とは有線又は無線により接続され、プレイヤーがゲームコントローラ1を操作したことによって生成された操作データがゲームコントローラ1からゲーム装置2へ供給される。ゲーム装置2は、ネットワーク4を介してゲームサーバと接続可能に構成されている。
表示装置3は、例えば、液晶表示装置や有機EL表示装置から構成されている。
【0018】
[ゲームコントローラ1の構成]
図2は本発明の一実施形態に係るゲームコントローラ1の外観構成の一例を示す正面側の斜視図である。図3はゲームコントローラ1の背面側の斜視図である。
ゲームコントローラ1は、正面にゲーム操作面11が設けられ、背面に文字入力面12が設けられて構成されている。
【0019】
図2に示すように、ゲーム操作面11の右側には、Aボタン21と、Bボタン22と、Xボタン23と、Yボタン24とが配置されている。ゲーム操作面11の中央領域には、スタートボタン25と、セレクトボタン26とが配置されている。ゲーム操作面11の左側には、十字キー27が配置されている。ゲーム操作面11の中央下側には、左アナログスティック28及び右アナログスティック29が配置されている。
【0020】
図2におけるxyz座標系は、ゲームコントローラ1を基準とした座標系であり、ゲームコントローラ1の正面に垂直な方向(例えば、Aボタン21の押下方向)をz軸正方向、ゲームコントローラ1の左右方向(例えば、Yボタン24からAボタン21へ向かう方向)をx軸正方向、ゲームコントローラ1の上下方向(例えば、Bボタン22からXボタン23へ向かう方向)をy軸正方向として定める。
【0021】
スタートボタン25は、例えば、ゲーム開始の指示に用いられ、セレクトボタン26は、例えば、選択項目の切り替えに用いられる。十字キー27は、例えば、プレイヤーオブジェクト(ゲームキャラクタ)をゲーム空間内において上下左右の方向へ移動させるのに用いられる。
【0022】
Aボタン21、Bボタン22、Xボタン23、Yボタン24、スタートボタン25、セレクトボタン26及び十字キー27は、ゲーム中に各種機能と結びつけられて操作されるので、これらを総称する際は、ゲーム操作ボタン51という用語を用いる。
【0023】
Aボタン21、Bボタン22、Xボタン23、Yボタン24、スタートボタン25及びセレクトボタン26は、図2のz軸正方向に押下可能なボタンである。十字キー27は、上ボタン27A、下ボタン27B、左ボタン27C及び右ボタン27Dで構成されている。上ボタン27A、下ボタン27B、左ボタン27C及び右ボタン27Dは、それぞれ図2のz軸正方向に押下可能なボタンである。
【0024】
左アナログスティック28及び右アナログスティック29は、方向を指示するデバイスであり、プレイヤーが指でスティック部28A及び29Aを任意の方向(上下左右及び斜め方向の任意の角度)に傾倒操作することによりスティック部28A及び29Aの傾きに応じた数値を入力可能に構成されている。なお、左アナログスティック28及び右アナログスティック29は、z軸正方向に押下可能であっても良い。
【0025】
図2に示すゲーム操作面11の右側において、Xボタン23の上方には、ゲーム操作面固定ボタン30と、面固定インジケータ31とが配置されている。
【0026】
ゲームコントローラ1は、図2に示すように正面側(z軸負方向)がほぼ鉛直上方に向けられるとゲーム操作面11が操作可能となり、図3に示すように背面側(z軸正方向)がほぼ鉛直上方に向けられると文字入力面12が操作可能となる機能を有している。
すなわち、このゲームコントローラ1は、ゲーム操作面11及び文字入力面12が自動的に切り替えられる。以下、前記機能を面自動切替機能と呼ぶ。
ここで、ほぼ鉛直上方というのは、プレイヤーは鉛直方向よりやや手前に傾けてゲームコントローラ1を操作するからである。
【0027】
ゲーム操作面固定ボタン30は、面自動切替状態とゲーム操作面固定状態とを切り替えるために用いられる。
前記面自動切替状態とは、前記面自動切替機能が有効な状態をいう。
前記ゲーム操作面固定状態とは、ゲームコントローラ1の角度に関わらず、ゲーム操作面11が操作可能に固定された状態をいう。
また、ゲームコントローラ1の角度に関わらず、文字入力面12が操作可能に固定された状態は、文字入力面固定状態という。
【0028】
なお、前記面自動切替状態、前記ゲーム操作面固定状態及び前記文字入力画固定状態とは排他的な関係にある。つまり、これら3つの状態の中の1つの状態だけが存在し、2つ以上の状態が共に存在することはなく、3つの状態のいずれも存在しないということもない。
【0029】
ゲームコントローラ1が前記面自動切替状態、前記ゲーム操作面固定状態及び前記文字入力画固定状態のいずれに設定されているかについては、後述するRAM55(図4)に記憶されている設定状態フラグに設定される。
【0030】
ここで、設定状態フラグについて説明する。設定状態フラグは、ゲームコントローラ1が面自動切替状態に設定されている場合に「00」に設定され、ゲームコントローラ1がゲーム操作面固定状態に設定されている場合に「01」に設定され、ゲームコントローラ1が文字入力面固定状態に設定されている場合に「10」に設定される。以上説明した設定状態フラグの3つの状態について表1に示す。
【0031】
【表1】





【0032】
面固定インジケータ31は、前記ゲーム操作面固定状態のときに赤く点灯し、前記面自動切替状態でゲーム操作面11がほぼ鉛直上方に向けられているときに青く点灯する。また、面固定インジケータ31は、前記面自動切替状態で文字入力面12がほぼ鉛直上方に向けられているとき及び、前記文字入力面固定状態のときに消灯する。
面固定インジケータ31は、例えば、マルチカラーLEDから構成されている。
【0033】
ゲームコントローラ1の上側面左端部には、正面側(z軸負方向側)に左肩ボタン32が配置され、背面側(z軸正方向側)に左肩ボタン33が配置されている。左肩ボタン32及び33は、プレイヤーがゲームコントローラ1を両手で把持した状態において、左手の人差し指又は中指で操作可能である。
【0034】
ゲームコントローラ1の上側面右端部には、正面側(z軸負方向側)に右肩ボタン34が配置され、背面側(z軸正方向側)に右肩ボタン35が配置されている。右肩ボタン34及び35は、プレイヤーがゲームコントローラ1を両手で把持した状態において、右手の人差し指又は中指で操作可能である。
【0035】
左肩ボタン32及び33並びに右肩ボタン34及び35を総称する際は、肩ボタン52という用語を用いる。肩ボタン52は、ほぼ鉛直上方に向けられた面がゲーム操作面11及び文字入力面12のいずれであっても操作可能である。
肩ボタン52には、正面側(z軸負方向)がほぼ鉛直上方に向けられている場合、ゲーム中に各種機能と結びつけられて操作される前記ゲーム操作ボタンとしての機能が割り当てられる。
一方、背面側(z軸正方向)がほぼ鉛直上方に向けられている場合、肩ボタン52には、文字入力位置を示すカーソルを移動させる機能や入力された文字を1文字消去する機能などが割り当てられる。
【0036】
図3に示すように、文字入力面12の中央には、タッチセンサ付きディスプレイ41が配置されている。タッチセンサ付きディスプレイ41は、ディスプレイとタッチセンサが一体化されたものであり、ディスプレイ部分は、例えば、液晶表示装置や有機EL表示装置から構成されている。タッチセンサ付きディスプレイ41に換えて、ディスプレイ上に感圧センサシート又は静電容量センサシートを配置しても良い。
【0037】
文字入力面12において、タッチセンサ付きディスプレイ41の右上方には、文字入力面固定ボタン36と、面固定インジケータ37とが配置されている。
【0038】
文字入力面固定ボタン36は、前記面自動切替状態と前記文字入力面固定状態とを切り替えるために用いられる。
ゲーム操作面固定ボタン30及び文字入力面固定ボタン36は、プレイヤーが自由な姿勢、特に仰向けの姿勢でゲーム操作面11を操作することを想定して設けられている。
【0039】
面固定インジケータ37は、前記文字入力面固定状態のときに赤く点灯し、前記面自動切替状態で文字入力面12がほぼ鉛直上方に向けられているときに青く点灯する。また、面固定インジケータ37は、前記面自動切替状態でゲーム操作面11がほぼ鉛直上方に向けられているとき及び、ゲーム操作面固定状態のときに消灯する。
面固定インジケータ37は、例えば、マルチカラーLEDから構成されている。
【0040】
面固定インジケータ31及び37は、ゲームコントローラ1が面自動切替状態、ゲーム操作面固定状態及び文字入力面固定状態のいずれの状態に設定されているかをプレイヤーに知らせるものである。表2に面固定インジケータ31及び37の点灯方法の一例を示す。表2は、後述するROM54に予め記憶しておく。
【0041】
表2に示す点灯方法では、面固定インジケータ31及び37を消灯又は点灯し、点灯する場合は色を異ならせて設定されている状態の違いを表している。表2において、ゲーム操作面上方とは、ゲーム操作面11がほぼ鉛直上方に向けられていることを意味し、文字入力面上方とは、文字入力面12がほぼ鉛直上方に向けられていることを意味する。
【0042】
【表2】







【0043】
前記したように、ゲーム操作面固定ボタン30及び文字入力面固定ボタン36は、前記面自動切替状態、前記ゲーム操作面固定状態及び前記文字入力面固定状態を切り替えるものである。ただ、ゲーム操作面固定ボタン30及び文字入力面固定ボタン36を押下する直前のゲームコントローラ1の状態が前記3つの状態のいずれであるかによってゲーム操作面固定ボタン30及び文字入力面固定ボタン36を押下した後に設定される状態が異なる。押下直前の状態と押下後に設定される状態との関係を表3に示す。表3において、各枠内の2桁の数字は、各枠内に記載された状態に設定された設定状態フラグの値である。表3は、後述するROM54に予め記憶しておく。
【0044】
【表3】






【0045】
図3に示す文字入力面12において、タッチセンサ付きディスプレイ41の左下方に補助ボタン43が配置され、タッチセンサ付きディスプレイ41の右下方に補助ボタン44が配置されている。
【0046】
補助ボタン43は、背面側(z軸正方向)がほぼ鉛直上方に向けられている場合、押下されるごとに、タッチセンサ付きディスプレイ41に表示されるキー配列画像(入力モード)を切り替える機能が割り当てられる。すなわち、補助ボタン43は、後述する切替キーSKA~SKC(図6図9)の機能を1個のボタンで果たす。
【0047】
補助ボタン44は、背面側(z軸正方向)がほぼ鉛直上方に向けられている場合、通常のキーボードを構成するリターンキーと同様の機能、例えば、作成された文章の決定、各種データのゲーム装置2への送信、文章作成時での改行などを指示する機能が割り当てられる。また、補助ボタン43及び44は、正面側(z軸負方向)がほぼ鉛直上方に向けられている場合、背面ボタンとしての機能が割り当てられる。
【0048】
図4は、ゲームコントローラ1の構成の一例を示すブロック図である。ゲームコントローラ1は、左アナログスティック28と、右アナログスティック29と、ゲーム操作面固定ボタン30と、面固定インジケータ31及び37と、文字入力面固定ボタン36と、タッチセンサ付きディスプレイ41と、ゲーム操作ボタン51と、肩ボタン52と、プロセッサ53と、ROM54と、RAM55と、メディアインターフェース(I/F)56と、通信制御部58と、加速度センサ59とを備えている。
【0049】
ゲーム操作ボタン51は、図2及び図3を参照して説明した、Aボタン21と、Bボタン22と、Xボタン23と、Yボタン24と、スタートボタン25と、セレクトボタン26と、十字キー27とから構成されている。
肩ボタン52は、左肩ボタン32及び33と、右肩ボタン34及び35とから構成されている。
【0050】
プロセッサ53は、ROM54又は外部記憶媒体57に記憶されている情報処理プログラムを読み出してRAM55に展開して、各種情報処理を実行する。
【0051】
ROM54は、主に、情報処理プログラムその他の各種データ(例えば、後述するキー配列画像、前記表2及び前記表3)が予め記憶されている。
RAM55は、情報処理プログラムが展開されるとともに、情報処理において用いられる各種データ(例えば、前記設定状態フラグ(表1)、後述する対向状態フラグ(表4))を一時的に記憶する。
【0052】
メディアI/F56は、例えば、スロットから構成されている。プロセッサ53は、メディアI/F56を介して外部記憶媒体57にアクセスし、外部記憶媒体57内部に記憶された情報処理プログラムを読み出したり、外部記憶媒体57へ各種データを書き込んだりする。
【0053】
通信制御部58は、ゲームコントローラ1が有線通信又は無線通信によりゲーム装置2と行う通信方法を制御する。
【0054】
加速度センサ59は、プロセッサ53がゲームコントローラ1の動き、姿勢又は傾きに関する情報を算出するための検出結果をプロセッサ53へ供給する。
加速度センサ59の検出結果は、適宜のタイミングで繰り返しプロセッサ53へ供給される。プロセッサ53は、加速度センサ59の検出結果に基づいて、ゲームコントローラ1の動き、姿勢又は傾きに関する情報を算出する。
【0055】
加速度センサ59は、所定の3軸(例えば、図1に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ59は、1軸方向又は2軸方向の加速度を検出するものであっても良い。
【0056】
[ゲーム装置2の構成]
図5は、ゲーム装置2の構成の一例を示すブロック図である。ゲーム装置2は、プロセッサ71と、ROM72と、RAM73と、メディアI/F74と、各種操作ボタン76と、通信制御部77とを備えている。
【0057】
プロセッサ71は、ROM72又は外部記憶媒体75に記憶されている情報処理プログラム(例えば、ゲームアプリケーションプログラム(以下「ゲームアプリ」と略す。))を読み出してRAM73に展開して、各種情報処理を実行する。
【0058】
ROM72は、主に、情報処理プログラムその他の各種データが予め記憶されている。
RAM73は、情報処理プログラムが展開されるとともに、情報処理において用いられる各種データを一時的に記憶する。
【0059】
メディアI/F74は、例えば、ディスクドライブやスロットから構成されている。プロセッサ71は、メディアI/F74を介して外部記憶媒体75にアクセスし、外部記憶媒体75内部に記憶された情報処理プログラムを読み出したり、外部記憶媒体75へ各種データを書き込んだりする。
【0060】
各種操作ボタン76は、ゲーム装置2に電源を投入するための電源ボタンや外部記憶媒体75をメディアI/F74に出し入れするためのイジェクトボタンなどから構成されている。
通信制御部77は、ゲーム装置2が有線通信又は無線通信によりゲームコントローラ1と行う通信方法やネットワーク4を介してゲームサーバと行う通信方法を制御する。
【0061】
[文字入力の説明]
タッチセンサ付きディスプレイ41にキー配列画像が表示された状態において、あるキーの表面をプレイヤーが操作すると、操作されたタッチセンサ付きディスプレイ41上の位置の座標が検出され、当該位置の座標又は前記キーに対応したキーコードへ変換されてゲームコントローラ1からゲーム装置2へ供給される。
【0062】
図6図8はタッチセンサ付きディスプレイ41に表示されるキー配列画像の一例であり、図6はアルファベットキー配列画像、図7は記号キー配列画像、図8は数字キー配列画像である。これら3つのキー配列画像は、デフォルトとして、図4に示すROM54に予め記憶されている。
【0063】
図6に示すアルファベットキー配列画像は、aからzまでのアルファベットを入力するためのアルファベットキー、スペースを入力するためのスペースキー、「,」及び「.」などの記号を入力するための記号キーから構成されている。アルファベットキー配列画像は、英文や、ローマ字入力による日本語その他の言語の文を入力するために使用される。
【0064】
図6はアルファベットキーがQWERTY配列で配列されている例であるが、これに限定されない。アルファベットキーは、例えば、Dvorak配列、Colemak配列あるいは、Maltron配列のいずれで配列されていても良い。
【0065】
図7に示す記号キー配列画像は、パーソナルコンピュータ等で使用される通常のキーボードで入力可能な記号のうち、図6に示すアルファベットキー配列画像では入力できない記号、例えば、「#」及び「&」などの記号を入力するための記号キーから構成されている。
図8に示す数字キー配列画像は、0から9までの数字を入力するための数字キー、四則演算に使用される記号などを入力するための記号キーから構成されている。
【0066】
図6図8において、左端には、タッチセンサ付きディスプレイ41に表示されるキー配列画像(入力モード)を切り替えるための切替キーSKA~SKCが表示されている。
切替キーSKAはタッチセンサ付きディスプレイ41に表示されるキー配列画像をアルファベットキー配列画像(アルファベット入力モード)に切り替えるためのキーである。
切替キーSKBはタッチセンサ付きディスプレイ41に表示されるキー配列画像を記号キー配列画像(記号入力モード)に切り替えるためのキーである。
切替キーSKCはタッチセンサ付きディスプレイ41に表示されるキー配列画像を数字キー配列画像(数字入力モード)に切り替えるためのキーである。
【0067】
図6では切替キーSKA、図7では切替キーSKB、図8では切替キーSKCがそれぞれハッチングされている。これらは、当該切替キーに対応したキー配列画像が選択されていることを示している。
【0068】
次に、タッチセンサ付きディスプレイ41を用いたキーの操作位置の座標を検出する方法について、図9を参照して説明する。
タッチセンサ付きディスプレイ41にキー配列画像が表示された状態において、あるキーの表面をプレイヤーが操作すると、操作されたタッチセンサ付きディスプレイ41上の位置の座標を検出する。プロセッサ53は、前記位置の座標又は前記キーに対応したキーコードへ変換してゲーム装置2へ供給する。
【0069】
キー配列画像から操作されたキーのキーコードを求めるには、各キーが画面上のどの座標に配置されているかを示すマッピング情報が必要である。アルファベットキー配列画像(図6)、記号キー配列画像(図7)及び数字キー配列画像(図8)のそれぞれに対応したマッピング情報は、デフォルトとして、図4に示すROM54に予め記憶されている。
【0070】
タッチセンサ付きディスプレイ41は、図9に示すように、左上端を起点(座標(0,0))とし、右下端を終点(座標(256,128))とする2次元座標系を有している。各キー配列画像は、前記2次元座標系に基づいて各キーのマッピング情報の範囲が予め設定されている。図9の例では、数字キー「7」のマッピング情報は座標(160,22)~座標(188,44)の範囲が設定されている。
【0071】
したがって、座標(160,22)~座標(188,44)の範囲をプレイヤーが操作した場合、プロセッサ53は、数字キー「7」が操作されたと判断し、数字キー「7」の位置の座標又は前記キーに対応したキーコードへ変換してゲーム装置2へ供給する。この位置の座標は、例えば、座標(160,22)~座標(188,44)の中心位置の座標(174,33)とする。
【0072】
[ゲームコントローラ1の状態判定方法]
次に、前記構成を有するゲームコントローラ1の状態判定方法の一例について、図10及び図11を参照して説明する。図10はゲームコントローラ1の状態判定方法の一例を説明するためのゲームコントローラ1の正面側やや下側面寄りから見た斜視図である。図11はゲームコントローラの角度と、有効と判定されるゲーム操作面11及び文字入力面12との関係の一例を示すグラフである。
【0073】
ゲームコントローラ1に加えられる最大の加速度は、地球の重力Gであり、プレイヤーがゲームコントローラ1を両手で把持して前後左右に振り回した程度とは比較にならないほど、地球の重力Gは大きい。したがって、加速度センサ59の検出結果に基づいて、地球の重力Gが加えられる方向と反対方向に位置する面が鉛直上方に向けられていると判定できる。
【0074】
図10において、角度θはゲームコントローラ1が水平線HLに対する角度を表している。本実施形態では、ゲーム操作面11と文字入力面12とを検出するための緩衝角を設ける。前記緩衝角は、この角度の範囲内では、加速度センサ59の検出結果に基づくゲーム操作面11又は文字入力面12の判定が不安定となる可能性があるために設ける。
【0075】
図11の例では、ゲーム操作面11が鉛直上方に向けられた状態を0°、文字入力面12が鉛直上方に向けられた状態を180°とする。
図11の例では、ゲーム操作面11が鉛直上方に向けられたゲームコントローラ1を両手で水平に把持した状態(角度θ=0°)において、プレイヤーが、左手の手のひらを支点としてゲームコントローラ1を反時計回りに回転させて角度が135°以上になって初めて文字入力面12が鉛直上方に向けられていると判定する。
【0076】
一方、文字入力面12が鉛直上方に向けられたゲームコントローラ1を両手で水平に把持した状態(角度θ=180°)において、プレイヤーが、左手の手のひらを支点としてゲームコントローラ1を時計回りに回転させて角度が45°以下になって初めてゲーム操作面11が鉛直上方に向けられていると判定する。なお、前記135°以上及び前記45°以下というのはあくまで一例に過ぎず、これらの角度に限定されるものではない。
【0077】
[ゲームコントローラ1の面切替方法]
次に、本発明の特徴であるゲームコントローラ1の面切替方法の一例について説明する。
面切替方法とは、加速度センサ59の検出結果、ゲーム操作面固定ボタン30及び文字入力面固定ボタン36の押下に基づいて、面自動切替状態、ゲーム操作面固定状態又は文字入力面固定状態のいずれかを設定したり、面自動切替状態時に面自動切替を行ったりする方法である。
【0078】
図12及び図13は、ゲームコントローラ1の面切替処理を説明するためのフローチャートである。ここでは、ゲームコントローラ1の面切替処理についてのみ説明する。ゲーム操作面11に切り替えられた後のゲームコントローラ1におけるゲーム進行処理は公知であるので説明しない。一方、文字入力面12に切り替えられた後のゲームコントローラ1及びゲーム装置2における文字入力処理は本発明の特徴であるので、図14図22を参照して後に詳細に説明する。
【0079】
なお、図12及び図13に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、前記フローチャートの各ステップの処理をプロセッサ53が実行するものとして説明するが、前記フローチャートにおける一部のステップの処理を、プロセッサ53以外のプロセッサや専用回路が実行するようにしてもよい。以上説明したことは、後述する図14図15図18及び図19に示すフローチャートにおける各ステップの処理についても同様である。
【0080】
プロセッサ53は、ROM54又は外部記憶媒体57に記憶されている面切替プログラムを読み出してRAM55に展開して、面切替処理を実行することにより、判定部、面有効無効化部として機能する。
判定部は、加速度センサ59の検出結果に基づいてゲーム操作面11又は文字入力面12のいずれがプレイヤーに対向しているかを判定する。
【0081】
面有効無効化部は、判定部の判定結果に基づいて、ゲーム操作面11又は文字入力面12のうち、プレイヤーに対向している一方の操作を有効化し、プレイヤーに対向していない他方の操作の少なくとも一部を無効化する。また、面有効無効化部は、ゲーム操作面固定ボタン30又は文字入力面固定ボタン36の操作に応じて、面自動切替状態、ゲーム操作面固定状態又は文字入力面固定状態のいずれか1つの状態に切り替える。
【0082】
まず、プロセッサ53は、図12に示すステップS1へ進み、初期設定を実行した後、ステップS2へ進む。
初期設定として、プロセッサ53は、例えば、ステップS2以降の処理を実行するために必要なパラメータを初期化するとともに、ゲーム操作面11を有効化する。
【0083】
ゲーム操作面11の有効化として、プロセッサ53は、例えば、ゲーム操作面11に設けられている左アナログスティック28、右アナログスティック29、ゲーム操作面固定ボタン30及びゲーム操作ボタン51の操作を受け付け可能とする。
また、プロセッサ53は、前記表2に基づいて面固定インジケータ31を青く点灯させるとともに、肩ボタン52に前記ゲーム操作ボタンとしての機能を割り当てる。
【0084】
さらに、プロセッサ53は、文字入力面12に設けられているタッチセンサ付きディスプレイ41の操作を受け付け不能とするとともに、補助ボタン43及び44に背面ボタンとしての機能を割り当てる。ただし、プロセッサ53は、文字入力面固定ボタン36の操作は受け付け可能のままとする。また、プロセッサ53は、前記表2に基づいて面固定インジケータ37を消灯させる。なお、タッチセンサ付きディスプレイ41のディスプレイ部分が液晶表示装置から構成されている場合、バックライトを消灯する。
【0085】
これにより、例えばゲーム中に、プレイヤーがゲームコントローラ1を両手で把持した状態において、ゲームコントローラ1の背面側にある指(例えば、中指、薬指、小指)でタッチセンサ付きディスプレイ41を誤って触れた場合の誤動作を防止できるとともに、消費電力を低減できる。
【0086】
また、初期設定では、プロセッサ53は、ゲームコントローラ1を前記面自動切替機能が有効な面自動切替状態に設定し、RAM55に記憶されている設定状態フラグを、ゲームコントローラ1が面自動切替状態に設定されていることを示す「00」に設定する。
【0087】
ステップS2では、プロセッサ53は、ゲームコントローラ1が面自動切替状態に設定されていることを示す設定状態フラグ「00」を通信制御部58を介してゲーム装置2へ送信した後、ステップS3へ進む。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1が面自動切替状態に設定されていることを認識する。
【0088】
ステップS3では、プロセッサ53は、加速度センサ59から取得した検出結果(加速度データ)に基づいて、ゲームコントローラ1の状態を判定した後、ステップS4へ進む。
【0089】
状態判定として、プロセッサ53は、例えば、加速度データを用いてゲームコントローラ1に作用している重力加速度の重力ベクトルを算出し、当該重力ベクトルに基づいてゲームコントローラ1の角度を算出する。
次に、プロセッサ53は、前記ゲームコントローラ1の角度が45°以下であればゲーム操作面11がほぼ鉛直上方に向けられていると判定し、RAM55に記憶されている対向状態フラグを、ゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「0」に設定する。
【0090】
ここで、対向状態フラグについて説明する。対向状態フラグは、ゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態である場合に「0」に設定され、文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態である場合に「1」に設定される。以上説明した対向状態フラグの2つの状態について表4に示す。
【0091】
【表4】





【0092】
一方、プロセッサ53は、前記ゲームコントローラ1の角度が135°以上であれば文字入力面12がほぼ鉛直上方に向けられていると判定し、前記対向状態フラグを、文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「1」に設定する。
また、プロセッサ53は、前記ゲームコントローラ1の角度が45°より大きく135°未満であれば、ゲームコントローラ1の状態が変更されていないと判定し、前記対向状態フラグを直前に設定された値のままとする。
【0093】
ステップS4では、プロセッサ53は、ゲームコントローラ1のゲーム操作面11がほぼ鉛直上方に向けられているか否かを判定する。例えば、対向状態フラグが「0」に設定されている場合には、ステップS4の判断結果が「YES」となり、プロセッサ53は、ステップS5へ進む。
【0094】
ステップS5では、プロセッサ53は、ゲーム操作面11が既に有効化されているか否かを判断する。プロセッサ53は、加速度センサ59の検出結果を定期又は不定期に取得するため、ゲーム操作面11が既に有効化されている場合に重ねて後述するゲーム操作面有効化処理を実行しないためにこの処理を行う。
【0095】
ステップS5の判断結果が「NO」の場合には、プロセッサ53は、ステップS6へ進む。ステップS6では、プロセッサ53は、ゲーム操作面11を有効化した後、ステップS7へ進む。ゲーム操作面11の有効化に関する具体的な処理については、段落0084~段落0086に記載したので、ここでは説明しない。
【0096】
ステップS7では、プロセッサ53は、ステップS3で設定した、ゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す対向状態フラグ「0」を通信制御部58を介してゲーム装置2へ送信した後、ステップS8へ進む。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1のゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを認識する。
【0097】
一方、ステップS5の判断結果が「YES」の場合、すなわち、ゲーム操作面11が既に有効化されている場合には、プロセッサ53は、ステップS8へ進む。
【0098】
ステップS8では、プロセッサ53は、ゲーム操作面固定ボタン30が押下されたか否か判断する。ステップS8の判断結果が「YES」の場合には、プロセッサ53は、図13に示すステップS13へ進む。
【0099】
一方、ステップS8の判断結果が「NO」の場合、すなわち、ゲーム操作面固定ボタン30が押下されなかった場合には、プロセッサ53は、ステップS3へ戻り、前記したステップS3以降の処理を行う。
【0100】
また、ステップS4の判断結果が「NO」の場合、すなわち、対向状態フラグが「1」に設定され、ゲームコントローラ1の文字入力面12がほぼ鉛直上方に向けられている場合には、プロセッサ53は、ステップS9へ進む。
【0101】
ステップS9では、プロセッサ53は、文字入力面12が既に有効化されているか否かを判断する。プロセッサ53は、加速度センサ59の検出結果を定期又は不定期に取得するため、文字入力面12が既に有効化されている場合に重ねて後述する文字入力面有効化処理を実行しないためにこの処理を行う。
【0102】
ステップS9の判断結果が「NO」の場合には、プロセッサ53は、ステップS10へ進む。ステップS10では、プロセッサ53は、文字入力面12を有効化した後、ステップS11へ進む。
【0103】
文字入力面12の有効化として、プロセッサ53は、例えば、文字入力面12に設けられているタッチセンサ付きディスプレイ41の操作を受け付け可能とする。
また、プロセッサ53は、前記表2に基づいて面固定インジケータ37を青く点灯させるとともに、肩ボタン52に文字入力位置を示すカーソルを移動させる機能や入力された文字を1文字消去する機能などを割り当て、補助ボタン43に切替キーSKA~SKC(図6図9)と同様の機能、補助ボタン44にリターンキーと同様の機能を割り当てる。
【0104】
さらに、プロセッサ53は、ゲーム操作面11に設けられている左アナログスティック28、右アナログスティック29及びゲーム操作ボタン51の操作を受け付け不能とする。ただし、プロセッサ53は、ゲーム操作面固定ボタン30の操作は受け付け可能のままとする。また、プロセッサ53は、前記表2に基づいて面固定インジケータ31を消灯させる。
【0105】
これにより、例えば文字入力中に、プレイヤーがゲームコントローラ1を両手で把持した状態において、ゲームコントローラ1の正面側にある指(例えば、中指、薬指、小指)で左アナログスティック28、右アナログスティック29又はゲーム操作ボタン51を誤って触れた場合の誤動作を防止できる。
【0106】
ステップS11では、プロセッサ53は、ステップS3で設定した、文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す対向状態フラグ「1」を通信制御部58を介してゲーム装置2へ送信した後、ステップS12へ進む。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1の文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを認識する。
【0107】
一方、ステップS9の判断結果が「YES」の場合、すなわち、文字入力面12が既に有効化されている場合には、プロセッサ53は、ステップS12へ進む。
【0108】
ステップS12では、プロセッサ53は、文字入力面固定ボタン36が押下されたか否か判断する。ステップS12の判断結果が「YES」の場合には、プロセッサ53は、図13に示すステップS21へ進む。
【0109】
一方、ステップS12の判断結果が「NO」の場合、すなわち、文字入力面固定ボタン36が押下されなかった場合には、プロセッサ53は、ステップS3へ戻り、前記したステップS3以降の処理を行う。
【0110】
図13に示すステップS13では、プロセッサ53は、表3を参照してゲームコントローラ1をゲーム操作面固定状態に設定するとともに、設定状態フラグを、ゲームコントローラ1が面自動切替状態であることを示す「00」からゲーム操作面固定状態であることを示す「01」へ変更した後、ステップS14へ進む。前記ゲーム操作面固定状態は、前記したように、ゲームコントローラ1の角度に関わらず、ゲーム操作面11が操作可能に固定された状態である。
【0111】
したがって、プレイヤーがゲームコントローラ1をひっくり返したり、仰向けに寝転んでゲーム操作面11を操作したりしても、ゲーム操作面11を有効化した状態が継続される。
【0112】
ステップS14では、プロセッサ53は、ゲームコントローラ1がゲーム操作面固定状態に設定されていることを示す設定状態フラグ「01」を通信制御部58を介してゲーム装置2へ送信した後、ステップS15へ進む。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1がゲーム操作面固定状態に設定されていることを認識する。
【0113】
ステップS15では、プロセッサ53は、ゲーム操作面固定ボタン30が押下されたか否か判断する。ステップS15の判断結果が「YES」の場合には、プロセッサ53は、ステップS16へ進む。
【0114】
ステップS16では、プロセッサ53は、表3を参照してゲームコントローラ1を面自動切替状態に設定するとともに、設定状態フラグを、ゲーム操作面固定状態であることを示す「01」からゲームコントローラ1が面自動切替状態であることを示す「00」へ変更した後、ステップS17へ進む。
【0115】
ステップS17では、プロセッサ53は、ゲームコントローラ1が面自動切替状態に設定されていることを示す設定状態フラグ「00」を通信制御部58を介してゲーム装置2へ送信した後、図12に示すステップS3へ戻り、前記したステップS3以降の処理を行う。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1が面自動切替状態に設定されていることを認識する。
【0116】
一方、ステップS15の判断結果が「NO」の場合、すなわち、ゲーム操作面固定ボタン30が押下されなかった場合には、プロセッサ53は、ステップS18へ進む。
ステップS18では、プロセッサ53は、文字入力面固定ボタン36が押下されたか否か判断する。
【0117】
ステップS6の処理で説明したように、ゲーム操作面固定状態でも文字入力面固定ボタン36の操作は受け付け可能である。これは、例えば、プレイヤーがゲーム操作面固定状態に設定していることを忘れてゲーム中に文字入力をしたくなってゲームコントローラ1をひっくり返した場合に文字入力面固定ボタン36を押下するだけで文字入力可能とすることなどを想定している。
【0118】
ステップS18の判断結果が「YES」の場合には、プロセッサ53は、ステップS19へ進む。
【0119】
ステップS19では、プロセッサ53は、文字入力面12を有効化するとともに、対向状態フラグを文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「1」に設定した後、ステップS20へ進む。
【0120】
文字入力面12の有効化は、ステップS10の処理と同様、文字入力面12の操作受け付け可能化、面固定インジケータ37の青色点灯、肩ボタン52の機能割り当て、ゲーム操作面11の操作受け付け不能化、面固定インジケータ31の消灯などである。
また、対向状態フラグを「1」に設定するのは、文字入力面固定ボタン36を押下する直前まではゲーム操作面固定状態であったため、加速度センサ59の検出結果に関わらず、対向状態フラグを「0」に設定したままだからである。
【0121】
また、加速度センサ59の検出結果はゲームにも利用され、例えば、飛行機の操縦シミュレーションゲームにおいてアクロバット飛行を模してゲームコントローラ1を1回転させる場合がある。この場合、文字入力面12の操作を受け付け可能としてしまうと、ゲームが続行できなくなるので、そのためにも、対向状態フラグは「0」に設定したままの方が好ましい。なお、この時点で状態判定を実行し、その結果に基づいて対向状態フラグを「1」に設定しても良い。
【0122】
ステップS20では、プロセッサ53は、ステップS19で設定した、文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す対向状態フラグ「1」を通信制御部58を介してゲーム装置2へ送信した後、ステップS21へ進む。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1の文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを認識する。
【0123】
ステップS21では、プロセッサ53は、表3を参照してゲームコントローラ1を文字入力面固定状態に設定するとともに、設定状態フラグを、ゲーム操作面固定状態であることを示す「01」から文字入力面固定状態であることを示す「10」へ変更した後、ステップS22へ進む。
【0124】
前記文字入力面固定状態は、ゲームコントローラ1の角度に関わらず、文字入力面12が操作可能に固定された状態である。
したがって、プレイヤーがゲームコントローラ1をひっくり返したり、仰向けに寝転んで文字入力面12を操作したりしても、文字入力面12を有効化した状態が継続される。
【0125】
ステップS22では、プロセッサ53は、ゲームコントローラ1が文字入力面固定状態に設定されていることを示す設定状態フラグ「10」を通信制御部58を介してゲーム装置2へ送信した後、ステップS23へ進む。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1が文字入力面固定状態に設定されていることを認識する。
【0126】
ステップS23では、プロセッサ53は、文字入力面固定ボタン36が押下されたか否か判断する。ステップS23の判断結果が「YES」の場合には、プロセッサ53は、ステップS16へ進む。ステップS16以降の処理については、既に説明しているので、その説明を省略する。
【0127】
一方、ステップS23の判断結果が「NO」の場合、すなわち、文字入力面固定ボタン36が押下されなかった場合には、プロセッサ53は、ステップS24へ進む。
ステップS24では、プロセッサ53は、ゲーム操作面固定ボタン30が押下されたか否か判断する。
【0128】
ステップS10の処理で説明したように、文字入力面固定状態でもゲーム操作面固定ボタン30の操作は受け付け可能である。これは、例えば、プレイヤーが文字入力面固定状態に設定していることを忘れて文字入力中にゲームに復帰したくなってゲームコントローラ1をひっくり返した場合にゲーム操作面固定ボタン30を押下するだけでゲーム操作可能とすることなどを想定している。
【0129】
ステップS24の判断結果が「YES」の場合には、プロセッサ53は、ステップS25へ進む。
【0130】
ステップS25では、プロセッサ53は、ゲーム操作面11を有効化するとともに、対向状態フラグをゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「0」に設定した後、ステップS26へ進む。
【0131】
ゲーム操作面11の有効化は、ステップS1及びS6の処理と同様、ゲーム操作面11の操作受け付け可能化、面固定インジケータ31の青色点灯、肩ボタン52の機能割り当て、文字入力面12の操作受け付け不能化、面固定インジケータ37及びバックライトの消灯などである。
また、対向状態フラグを「0」に設定するのは、ゲーム操作面固定ボタン30を押下する直前までは文字入力面固定状態であったため、加速度センサ59の検出結果に関わらず、対向状態フラグを「1」に設定したままだからである。なお、この時点で状態判定を実行し、その結果に基づいて対向状態フラグを「0」に設定しても良い。
【0132】
ステップS26では、プロセッサ53は、ステップS25で設定した、ゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す対向状態フラグ「0」を通信制御部58を介してゲーム装置2へ送信した後、ステップS13へ戻り、ステップS13以降の処理を行う。これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1のゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを認識する。
【0133】
一方、ステップS24の判断結果が「NO」の場合、すなわち、ゲーム操作面固定ボタン30が押下されなかった場合には、プロセッサ53は、ステップS23へ戻り、ステップS23以降の処理を行う。
【0134】
[ゲームコントローラ1及びゲーム装置2の文字入力方法]
次に、ゲームコントローラ1及びゲーム装置2の文字入力方法の一例について説明する。
【0135】
ゲームアプリには、本発明に係るゲームコントローラ1に対応して開発されたもの(以下「対応ゲームアプリ」という。)と、本発明に係るゲームコントローラ1に対応しないで開発されたもの(以下「不対応ゲームアプリ」という。)とが存在し得る。
【0136】
不対応ゲームアプリに対して対応ゲームアプリと同様に操作された位置の座標を供給しても、不対応ゲームアプリは当該データを正しく認識できず、プレイヤーが意図した動作をしなかったり、誤動作したりしてしまう。何故なら、不対応ゲームアプリでは、ゲームの操作はゲームコントローラを用いて行い、文字入力はキーボードを用いて行うことを前提に作成されていることが多いからである。
【0137】
そこで、前記文字入力方法を実行するための文字入力プログラムについて、不対応ゲームアプリ用の文字入力処理部分を実行する互換モードと、対応ゲームアプリ用の文字入力処理部分を実行するアドバンスモードとを予め用意する。
【0138】
プロセッサ53は、ゲームコントローラ1に電源が投入された際やリセットされた際は前記互換モードで動作し、アドバンスモードへの切替を指示するモード切替コマンドを受信した場合に前記互換モードから前記アドバンスモードへ切り替える。
【0139】
互換モードでは、プロセッサ53は、文字入力プログラムのうち、不対応ゲームアプリ用の文字入力処理部分を実行することにより、第1キー配列画像表示部、送信部として機能する。
【0140】
第1キー配列画像表示部は、ROM54に予め記憶されているキー配列画像を読み出してタッチセンサ付きディスプレイ41に表示する。
送信部は、文字入力面12の操作が有効化されている場合、タッチセンサ付きディスプレイ41に表示されているキー配列画像のうち、タッチセンサ付きディスプレイ41が操作された位置の座標を当該位置に表示されたキーに対応したキーコードへ変換してゲーム装置2へ送信する。これにより、不対応ゲームアプリを実行するプロセッサ71は、当該キーコードがゲームコントローラ1とは別個の前記キーボードから送信されたものと認識する。
【0141】
一方、アドバンスモードでは、プロセッサ53は、文字入力プログラムのうち、対応ゲームアプリ用の文字入力処理部分を実行することにより、キー配列画像表示部、送信部として機能する。
【0142】
キー配列画像表示部は、ゲーム装置2から供給されるキー配列画像又は変更されたキー配列画像をタッチセンサ付きディスプレイ41に表示する。
送信部は、文字入力面12の操作が有効化されている場合、タッチセンサ付きディスプレイ41に表示されているキー配列画像のうち、タッチセンサ付きディスプレイ41が操作された位置の座標をゲーム装置2へ送信する。
【0143】
ゲーム装置2のプロセッサ71は、ROM72又は外部記憶媒体75に記憶されている対応ゲームアプリを読み出してRAM55に展開して、各種情報処理を実行することにより、キー配列画像送信部、操作キー分析部として機能する。
【0144】
キー配列画像送信部は、タッチセンサ付きディスプレイ41に表示すべき文字入力のための複数のキーが配列されたキー配列画像をゲームコントローラ1へ送信する。
操作キー分析部は、ゲームコントローラ1から供給される位置の座標に基づいていずれのキーが操作されたかを分析し、分析結果に基づいて変更したキー配列画像をゲームコントローラ1へ送信する。
【0145】
図14及び図15は、ゲームコントローラ1の文字入力処理を説明するためのフローチャートである。
まず、ゲームコントローラ1のプロセッサ53は、図14に示すステップS31へ進み、文字入力面12が有効化されているか否かを判断する。この処理は、対向状態フラグが、文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「1」に設定されているか否かを判断して行う。ステップS31の判断結果が「NO」の場合には、プロセッサ53は、前記判断を繰り返す。
【0146】
対向状態フラグが「1」に設定されている場合には、ステップS31の判断結果が「YES」となり、プロセッサ53は、ステップS32へ進む。
ステップS32では、プロセッサ53は、ゲーム装置2から通信制御部58を介して互換モードをアドバンスモードへ切り替えるためのモード切替コマンドを受信済であるか否かを判断する。前記モード切替コマンドは、任意のタイミング、例えば、対応ゲームアプリの起動直後にゲーム装置2から送信される。そこで、プロセッサ53は、前記モード切替コマンドを通信制御部58を介して受信した後、RAM55の所定の記憶領域に格納しておく。
ステップS32の判断結果が「NO」の場合には、プロセッサ53は、ステップS33へ進む。
【0147】
ステップS33では、プロセッサ53は、ROM54に予め記憶されている3個のキー配列画像のうち、アルファベットキー配列画像(図6参照)を読み出してタッチセンサ付きディスプレイ41に表示した後、ステップS34へ進む。
ステップS34では、プロセッサ53は、キー配列画像を切り替えるために、切替キーSKB又はSKCあるいは補助ボタン43が押下されたか否かを判断する。
【0148】
ステップS34の判断結果が「YES」の場合には、プロセッサ53は、ステップS33へ戻り、押下された切替キーSKB又はSKCあるいは補助ボタン43に対応したキー配列画像をROM54から読み出してタッチセンサ付きディスプレイ41に表示した後、ステップS34へ進む。
【0149】
一方、ステップS34の判断結果が「NO」の場合、すなわち、切替キーSKB又はSKCあるいは補助ボタン43が押下されなかった場合には、プロセッサ53は、ステップS35へ進む。
ステップS35では、プロセッサ53は、タッチセンサ付きディスプレイ41に表示されたキー配列画像において、いずれかのキーが押下されたか否かを判断する。ステップS35の判断結果が「NO」の場合には、プロセッサ53は、前記判断を繰り返す。そして、いずれかのキーが押下されると、ステップS35の判断結果が「YES」となり、プロセッサ53は、図15に示すステップ37へ進む。
【0150】
一方、ステップS32の判断結果が「YES」の場合、すなわち、ゲーム装置2から通信制御部58を介してモード切替コマンドを受信した場合には、プロセッサ53は、ステップS36へ進む。ステップS36では、プロセッサ53は、アドバンスモードにおける文字入力処理を実行した後、メインプログラムへ戻る。アドバンスモードにおける文字入力処理については、図18図22を参照して説明する。
【0151】
図15に示すステップS37では、プロセッサ53は、押下されたキーの位置の座標を検出した後、ステップS38へ進む。ステップS38では、プロセッサ53は、ステップS37の処理において検出されたキーの位置の座標を当該キーに割り当てられたキーコードへ変換した後、ステップS39へ進む。
【0152】
ステップS39では、プロセッサ53は、ステップS38の処理において変換されたキーコードを通信制御部58を介してゲーム装置2へ送信した後、ステップS40へ進む。ステップS40では、プロセッサ53は、補助ボタン44が押下されたか否かを判断する。補助ボタン44は、例えば、作成された文章の決定、各種データのゲーム装置2への送信、文章作成時での改行などを指示するために用いられる。
【0153】
ステップS40の判断結果が「YES」の場合には、プロセッサ53は、ステップS41へ進む。ステップS41では、プロセッサ53は、補助ボタン44が押下されたことを示す補助ボタン押下データを通信制御部58を介してゲーム装置2へ送信した後、ステップS42へ進む。
また、ステップS40の判断結果が「NO」の場合、すなわち、補助ボタン44が押下されなかった場合にも、プロセッサ53は、ステップS42へ進む。
【0154】
ステップS42では、プロセッサ53は、文字入力面12が無効化されているか否かを判断する。この処理は、対向状態フラグが、ゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「0」に設定されているか否かを判断して行う。ステップS42の判断結果が「YES」の場合には、プロセッサ53は、メインプログラムへ戻る。
【0155】
一方、ステップS42の判断結果が「NO」の場合、すなわち、文字入力面12が無効化されていない場合には、プロセッサ53は、図14に示すステップS34へ戻り、ステップS34以降の処理を繰り返す。
【0156】
以上説明した互換モードにおける文字入力処理について、図16及び図17を参照して具体的に説明する。図16及び図17は、ゲーム中にゲーム画面に文字入力することを説明するための表示装置3の表示の一例を示す図である。
【0157】
例えば、プレイヤーが椅子や床の上に座りゲームコントローラ1のゲーム操作面11をほぼ鉛直上方に向けてゲーム操作ボタン51を操作して、あるオンライン戦闘ゲームを複数のプレイヤーと楽しんでいたとする。この時点では、ゲームコントローラ1は、面自動切替状態であるとする。
【0158】
図16に示すゲーム画面が表示装置3に表示されているとき、味方にメッセージを送ろうとしてプレイヤーがゲームコントローラ1をひっくり返したとする。これにより、図12に示すステップS4の判断結果が「NO」、ステップS9の判断結果も「NO」となる。次に、プロセッサ53は、文字入力面12を有効化し(ステップS10)、対向状態フラグ「1」を通信制御部58を介してゲーム装置2へ送信した後(ステップS11)、文字入力処理を実行する。
これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1の文字入力面12がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを認識する。したがって、プロセッサ71は、表示装置3に表示されたゲーム画面に文字入力ウィンドウCIWを重畳表示する(図17参照)。
【0159】
プロセッサ53は、タッチセンサ付きディスプレイ41にデフォルトであるアルファベットキー配列画像を表示し、操作された位置の座標から変換したキーコードなどを通信制御部58を介してゲーム装置2へ送信する(図14のステップS33~図15のステップS39)。
【0160】
これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1から送信されたキーコードに基づいて、例えば、図17に示すように、表示装置3に表示されたゲーム画面に予め重畳表示された文字入力ウィンドウCIW内に、味方に送るためのメッセージ、図17の例では、「敵です!注意してく」を表示する。
【0161】
前記した文字入力の途中にオンライン戦闘ゲーム内で自身にピンチが訪れるなど、ゲーム操作ボタン51等を操作する必要があると判断した場合、プレイヤーは、ゲームコントローラ1を裏返す。
これにより、プロセッサ53は、加速度センサ59から取得した検出結果に基づいて状態判定する(ステップS3)。
【0162】
文字入力の途中にゲームコントローラ1がひっくり返されたので、ステップS4の判断結果が「YES」、ステップS5の判断結果が「NO」となる。次に、プロセッサ53は、ゲーム操作面11を有効化し(ステップS6)、対向状態フラグ「0」を通信制御部58を介してゲーム装置2へ送信した後(ステップS7)、ゲーム進行処理を実行する。
【0163】
これにより、ゲーム装置2のプロセッサ71は、ゲームコントローラ1のゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを認識する。したがって、プロセッサ71は、図16に示すように、ゲーム画面から重畳表示していた文字入力ウィンドウCIWを削除し、ゲームの続行を可能とする。
【0164】
[アドバンスモードにおける文字入力方法]
図18及び図19は、ゲームコントローラ1及びゲーム装置2のアドバンスモードにおける文字入力処理を説明するためのフローチャートである。
【0165】
対応ゲームアプリを実行するゲーム装置2のプロセッサ71は、例えば、起動時に、互換モードからアドバンスモードへの切替をゲームコントローラ1に指示するためのモード切替コマンドを通信制御部77を介してゲームコントローラ1へ送信する。これにより、ゲームコントローラ1のプロセッサ53は、通信制御部58を介して受信された前記モード切替コマンドをRAM55の所定の記憶領域に格納しておく。
【0166】
ゲームコントローラ1において、RAM55の所定の記憶領域に予め前記モード切替コマンドが格納されている場合には、図14に示すステップS32の判断結果が「YES」となり、プロセッサ53は、アドバンスモードにおける文字入力処理へ移行する(ステップS36)。
【0167】
まず、対応ゲームアプリを実行するゲーム装置2のプロセッサ71は、図18に示すステップS51へ進み、ゲームコントローラ1のタッチセンサ付きディスプレイ41に表示させたいキー配列画像を通信制御部77を介してゲームコントローラ1へ送信する。
【0168】
ゲームコントローラ1のプロセッサ53は、キー配列画像を通信制御部58を介して受信した後(ステップS52)、タッチセンサ付きディスプレイ41にキー配列画像を表示する(ステップS53)。
【0169】
図20は、ゲームコントローラ1のアドバンスモードにおけるタッチセンサ付きディスプレイ41に表示される画像の一例を示す図である。図20では、図6とは異なり、文字入力欄CIF、ローマ字入力のひらがなを漢字仮名交じり文に変換するための変換キーCVK、文字入力欄CIFに表示された変換候補の漢字仮名交じり文を確定するための確定キーCFKが設けられている。図20に示す文字入力欄CIFに表示されている「注意してください」では、「注意して」の部分は変換が確定した部分であり、「ください」とアンダーラインが付されている部分はひらがな入力の途中であることを示している。
【0170】
ゲームコントローラ1のプロセッサ53は、タッチセンサ付きディスプレイ41に表示されたキー配列画像において、いずれかのキーが押下されたか否かを判断する(ステップS54)。ステップS54の判断結果が「NO」の場合には、プロセッサ53は、前記判断を繰り返す。そして、いずれかのキーが押下されると、ステップS54の判断結果が「YES」となり、プロセッサ53は、ステップS55へ進む。
【0171】
ステップS55では、プロセッサ53は、押下されたキーの位置の座標を検出した後、ステップS56へ進む。ステップS56では、プロセッサ53は、ステップS55の処理において検出されたキーの位置の座標を通信制御部58を介してゲーム装置2へ送信した後、図19に示すステップS60へ進む。
【0172】
これにより、ゲーム装置2のプロセッサ71は、押下されたキーの位置の座標を通信制御部77を介して受信した後(ステップS57)、当該位置の座標に基づいていずれのキーが操作されたか分析する(図19のステップS58)。
次に、プロセッサ71は、ステップS58の分析結果に基づいて、現在タッチセンサ付きディスプレイ41に表示されるキー配列画像から変更すべきキー配列画像を作成し、当該キー配列画像を通信制御部77を介してゲームコントローラ1へ送信した後(ステップS59)、ステップS62へ進む。
【0173】
図19に示すステップS60では、ゲームコントローラ1のプロセッサ53は、補助ボタン44が押下されたか否かを判断する。補助ボタン44は、背面側(z軸正方向)がほぼ鉛直上方に向けられている場合、例えば、作成された文章の決定、各種データのゲーム装置2への送信、文章作成時での改行などを指示する機能が割り当てられる。
【0174】
ステップS60の判断結果が「YES」の場合には、プロセッサ53は、ステップS61へ進む。ステップS61では、プロセッサ53は、補助ボタン44が押下されたことを示す補助ボタン押下データを通信制御部58を介してゲーム装置2へ送信した後、ステップS64へ進む。
また、ステップS60の判断結果が「NO」の場合、すなわち、補助ボタン44が押下されなかった場合にも、プロセッサ53は、ステップS64へ進む。
【0175】
これにより、ゲーム装置2のプロセッサ71は、補助ボタン押下データを通信制御部77を介して受信する(ステップS62)。次に、プロセッサ71は、前記補助ボタン押下データに基づいて、現在タッチセンサ付きディスプレイ41に表示されるキー配列画像から変更すべきキー配列画像を作成し、当該キー配列画像を通信制御部77を介してゲームコントローラ1へ送信した後(ステップS63)、ステップS65へ進む。
【0176】
ステップS64では、ゲームコントローラ1のプロセッサ53は、文字入力面12が無効化されているか否かを判断する。この処理は、対向状態フラグが、ゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「0」に設定されているか否かを判断して行う。ステップS64の判断結果が「YES」の場合には、プロセッサ53は、メインプログラムへ戻る。
【0177】
一方、ステップS64の判断結果が「NO」の場合、すなわち、文字入力面12が無効化されていない場合には、プロセッサ53は、図18に示すステップS52へ戻り、ステップS52以降の処理を繰り返す。
【0178】
ステップS65では、ゲーム装置2のプロセッサ71は、文字入力面12が無効化されているか否かを判断する。この処理は、ゲームコントローラ1から送信された対向状態フラグが、ゲーム操作面11がほぼ鉛直上方に向けられプレイヤーに対向している状態であることを示す「0」に設定されているか否かを判断して行う。ステップS65の判断結果が「YES」の場合には、プロセッサ71は、メインプログラムへ戻る。
【0179】
一方、ステップS65の判断結果が「NO」の場合、すなわち、文字入力面12が無効化されていない場合には、プロセッサ71は、図18に示すステップS57へ戻り、ステップS57以降の処理を繰り返す。
【0180】
プロセッサ71は、前記キー配列画像を連続してゲームコントローラ1へ送信することにより、ゲームコントローラ1のタッチセンサ付きディスプレイ41に表示されているキー配列画像の一部を変化させたり、アニメーションのように動かしたりすることもできる。
【0181】
このような処理の例としては、1)ローマ字入力されたひらがなの表示、2)日本語入力時の変換候補の漢字表示がある。1)の場合、日本語をローマ字入力する際、1文字から数文字のアルファベットを組み合わせることにより、1文字のひらがなを表現するからである。2)の場合、ローマ字入力され、表示されたひらがなを漢字へ変換する場合の変換候補(予測を含む)の漢字を表示する必要があるからである。
【0182】
ゲームコントローラ1のタッチセンサ付きディスプレイ41に表示されるアルファベットキー配列画像は、図6に示すように、視覚的にはキー毎に区分けされているものの、パーソナルコンピュータのキーボードとは異なり、機械的にキー毎に区分けされていない。したがって、アルファベットキー配列画像を用いてブラインドタッチで文字入力することは難しく、アルファベットキー配列近傍に文字入力欄を設けることが好ましい。
【0183】
この点、互換モードでは、プロセッサ53は、タッチセンサ付きディスプレイ41の操作された位置の座標を当該位置に表示されたキーに対応したキーコードへ変換してゲーム装置2へ送信することにより、ゲーム装置2のプロセッサ71に、当該キーコードがゲームコントローラ1とは別個の前記キーボードから送信されたものと認識させており、アルファベットキー配列画像の近傍に文字入力欄を設けることができない。
【0184】
そこで、アドバンスモードでは、前記1)及び2)の場合、対応ゲームアプリを実行するプロセッサ71は、例えば、図20に示すようなアルファベットキー配列近傍に文字入力欄CIFを設けたキー配列画像をゲームコントローラ1へ送信する。図20図6と異なるのは、上部に、変換キーCVK、文字入力欄CIF及び確定キーCFKが設けられている点である。変換キーCVKは、文字入力欄CIFに表示されたひらがなを漢字へ変換するためのキー、確定キーCFKは、変換された漢字を確定するためのキーである。
【0185】
図20に示すキー配列画像の文字入力欄CIFにおいて、文字入力の操作が行われるごと、操作に応じて表示させるべき文字を変化させてゲーム装置2からコントローラ1へ送信する。ゲーム装置2からコントローラ1へ送信する画像は、キー配列画像全体でも、変化させる文字の画像部分だけでも良い。
【0186】
また、図21に示す暗証番号を入力するための画像を例に取ると、この画像を表示装置3に表示すると他人に暗証番号を知られる危険性がある。この点、図21に示す画像をゲームコントローラ1のタッチセンサ付きディスプレイ41に表示すれば、前記した危険性が低くなる。
【0187】
そこで、アドバンスモードにおいて、ゲーム装置2のプロセッサ71が図21に示す画像をゲームコントローラ1に送信するとともに、一桁入力するたびに操作された位置の座標をゲームコントローラ1からゲーム装置2へ送信し、追加された数字を含む画像全体又は追加された数字のみの画像(図21の例では「3」)をゲーム装置2からゲームコントローラ1へ送信する。この場合、ゲーム装置2のプロセッサ71は、数字キー「3」が操作されたことを前記ディスプレイに表示するために、数字キー「3」の領域を白黒反転表示させる画像をゲーム装置2からゲームコントローラ1へ送信しても良い。
【0188】
以上説明したように、本発明では、ゲームコントローラ1本体の正面にゲーム操作面11を設けるとともに、ゲームコントローラ1本体の背面に文字入力面12を設けたので、正面側にテキスト入力装置が取り付けられる特許文献1記載のゲームコントローラと比較して、ゲームコントローラ1の体積を小さくすることができる。したがって、手の小さいプレイヤーでも容易に文字を入力ができ、操作性が向上する。
【0189】
本発明では、各ゲーム操作ボタン51を小さくしなくても文字入力面12を設けることができるので、ゲーム操作時の操作性が低下することがないとともに、ゲームコントローラ1の大きさを文字入力面12を有さないゲームコントローラの大きさと同等にすることができる。
【0190】
本発明では、プレイヤーは、単にゲームコントローラ1を裏返すだけでゲーム操作と文字入力とを切り替えることができるので、面倒な操作が不要で分かり易いとともに、所望のタイミングでゲーム操作と文字入力とを切り替えることができる。
【0191】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても本発明に含まれる。
【0192】
本実施形態では、文字入力面12にタッチセンサ付きディスプレイ41を設ける例を示したが、これに限定されない。例えば、タッチセンサ付きディスプレイ41に代えて、物理的なキーボードを設けても良い。物理的なキーボードとは、複数のキートップと、各キートップの操作を検出する複数の検出手段と、各検出手段の検出結果に基づいて対応するキーのキーコードを出力する出力部とを有する。
【0193】
また、本実施形態では、プロセッサ53は、前記面自動切替状態において、加速度センサ59から供給される検出結果に基づいてゲームコントローラ1に作用している重力加速度の重力ベクトルを算出し、当該重力ベクトルに基づいてゲームコントローラ1の角度を算出し、その角度に基づいてゲーム操作面11又は文字入力画面12のいずれがほぼ鉛直上方に向けられているかを判定しているが、これに限定されない。
【0194】
例えば、ゲーム操作面11がほぼ鉛直上方に向けられていると判定されているゲームコントローラ1において、前記重力ベクトルのx軸方向成分及びz軸方向成分を抽出し、重力ベクトルのx軸方向成分の大きさ(絶対値)が第1しきい値未満から第1しきい値以上に変化した場合、文字入力画面12がほぼ鉛直上方に向けられていると判定しても良い。
【0195】
一方、文字入力画面12がほぼ鉛直上方に向けられていると判定されているゲームコントローラ1において、前記重力ベクトルのx軸方向成分の大きさ(絶対値)が第2しきい値より大きい状態から第2しきい値以下に変化した場合、ゲーム操作面11がほぼ鉛直上方に向けられていると判定する。
【0196】
なお、前記第1しきい値の大きさ(絶対値)は、前記第2しきい値の大きさ(絶対値)より大きく設定しても良い。前記第1しきい値の大きさ(絶対値)と前記第2しきい値の大きさ(絶対値)とを同じにして、1つのしきい値で判定する場合、重力ベクトルのx軸方向成分が当該しきい値付近を推移している状態では、ゲーム操作面11がほぼ鉛直上方に向けられている状態と文字入力画面12がほぼ鉛直上方に向けられている状態とが頻繁に切り替わることが考えられる。
【0197】
これに対し、前記第1しきい値の大きさ(絶対値)を前記第2しきい値の大きさ(絶対値)より大きく設定することによって、一旦、一方のしきい値に基づいて一方の状態であると判定された後は、他方のしきい値に基づいた判定に切り替わるため、ゲーム操作面11がほぼ鉛直上方に向けられている状態と文字入力画面12がほぼ鉛直上方に向けられている状態とが頻繁に切り替わるような判定になることを防止できる。
【0198】
また、前記ゲームコントローラ1のゲーム操作面11又は文字入力画面12のいずれがほぼ鉛直上方に向けられているかは、他の方法を用いて判定しても良い。例えば、鉛直方向に対するゲームコントローラ1の角度によるしきい値を設定し、角速度センサによって検出されたxyz軸回りの角速度に基づいて算出されるゲームコントローラ1の姿勢を当該しきい値によって判定することにより、ゲームコントローラ1の状態を判定することも考えられる。
【0199】
また、重力ベクトルの算出方法についても、任意の方法で算出すれば良い。一例として、加速度センサ59が検出したxyz軸方向に沿った加速度に基づいてゲームコントローラ1に作用する重力加速度が検出された後、角速度センサが検出したxyz軸回りの角速度を用いてゲームコントローラ1に対する当該重力加速度の向きを逐次算出しても良い。他の例として、例えば、ゲームコントローラ1に平均的に生じている加速度成分を加速度センサ59が検出したxyz軸方向に沿った加速度に用いて逐次算出し、当該加速度成分を重力加速度として抽出しても良い。
【0200】
また、ゲーム操作面11及び文字入力面12の一方又は両方に撮像素子を設け、撮像素子の撮影画像に基づいてプレイヤーの姿勢を判断しても良い。両方に撮像素子を設けた場合は撮影画像にプレイヤーの顔や親指などの体の一部が写っている側の面をプレイヤーに対向している面と判定し、一方に撮像素子を設けた場合は撮影画像にプレイヤーの体の一部が写っている側の面又は撮影画像にプレイヤー体の一部が写っていない側の面と反対側の面をプレイヤーに対向している面と判定とする。
【0201】
さらに、ゲームコントローラ1のグリップ部であって、プレイヤー親指の付け根が押し当てられる部分の正面側及び背面側の一方又は両方に圧力センサを設け、圧力センサの検出結果に基づいてプレイヤーの姿勢を判断しても良い。両方に圧力センサを設けた場合は圧力センサの検出結果が一定値以上である側の面をプレイヤーに対向している面と判定し、一方に圧力センサを設けた場合は圧力センサの検出結果が一定値以上である側の面又は圧力センサの検出結果が一定値未満である側の面と反対側の面をプレイヤーに対向している面と判定とする。
【0202】
以上説明した加速度センサ、角度センサ、撮像素子及び圧力センサは、ゲームコントローラ1本体の姿勢又はプレイヤーの体の一部を検出する検出手段であり、これらは単独で又はこれらを組み合わせて用いても良い。このように構成すれば、例えば、プロジェクタによって天井にゲーム画面を投影しつつ、プレイヤーが仰向けに寝転んでゲームを楽しむ場合でも、プレイヤーがゲームコントローラ1を裏返すだけで、誤動作することなく、ゲーム操作面11又は文字入力面12を有効化することができる。
【符号の説明】
【0203】
1…ゲームコントローラ、2…ゲーム装置、3…表示装置、4…ネットワーク、11…ゲーム操作面、12…文字入力面、21…Aボタン、22…Bボタン、23…Xボタン、24…Yボタン、25…スタートボタン、26…セレクトボタン、27…十字キー、27A…上ボタン、27B…下ボタン、27C…左ボタン、27D…右ボタン、28…左アナログスティック、28A,29A…スティック部、29…右アナログスティック、30…ゲーム操作面固定ボタン、31,37…面固定インジケータ、32,33…左肩ボタン、34,35…右肩ボタン、36…文字入力面固定ボタン、41…タッチセンサ付きディスプレイ、43,44…補助ボタン、51…ゲーム操作ボタン、52…肩ボタン、53,71…プロセッサ、54,72…ROM、55,73…RAM、56,74…メディアI/F、57,75…外部記憶媒体、58,77…通信制御部、59…加速度センサ、76…各種操作ボタン、100…ゲームシステム、CFK…確定キー、CIF…文字入力欄、CIW…文字入力ウィンドウ、CVK…変換キー、SKA~SKC…切替キー。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22