(57)【要約】【課題】コントローラの操作信号をゲームに提供する情報処理装置において、マウスなどの入力装置を利用可能とする技術を提供する。【解決手段】取得部１００は、マウス操作信号を取得する。不感帯調整部１２６は、アナログスティックに設定されている不感帯に相当する信号分を、マウス操作信号に加算する。アナログスティック操作信号生成部１２８は、不感帯を調整されたマウス操作信号から、アナログスティック操作信号を生成する。出力処理部１５０は、生成されたアナログスティック操作信号をゲームに提供する。不感帯調整部１２６は、マウスの操作角度を維持する方向に、不感帯に相当する信号分を加算する。【選択図】図４
2018175123.tif 000002
【特許請求の範囲】
【請求項１】
コントローラの操作信号をゲームに提供する情報処理装置であって、
マウス操作信号を取得する取得部と、
マウス操作信号を、コントローラのアナログスティック操作信号に変換する変換処理部と、
変換されたアナログスティック操作信号をゲームに提供する出力処理部と、を備え、
前記変換処理部は、
アナログスティックに設定されている不感帯に相当する信号分を、マウス操作信号に加算する不感帯調整部と、
不感帯を調整されたマウス操作信号から、アナログスティック操作信号を生成するアナログスティック操作信号生成部と、を有し、
前記不感帯調整部は、マウスの操作角度を維持する方向に、不感帯に相当する信号分を加算する、
ことを特徴とする情報処理装置。
【請求項２】
前記アナログスティック操作信号生成部は、マウス操作信号の丸め処理を実施するものであって、前回の丸め処理における丸め誤差を、今回のマウス操作信号に加算してから丸め処理を実施する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得部は、コントローラのアナログスティックの操作信号を取得し、
マウスとアナログスティックとが同時操作される場合に、前記出力処理部は、前記アナログスティック操作信号生成部で生成されたアナログスティック操作信号と、前記取得部で取得されたアナログスティック操作信号とを加算して、ゲームに出力する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記出力処理部は、前記取得部で取得されたアナログスティック操作信号が不感帯に含まれる場合に、当該アナログスティック操作信号を加算しない、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
マウスの感度調整値、マウスの移動量をアナログスティックの操作信号に変換するための変換カーブ、アナログスティック出力の不感帯に関するデータ、およびキーボードの入力をゲームコントローラの入力に変換するためのキー変換マップを含む設定ファイルを前記変換処理部に提供する設定部を、さらに備える、
ことを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
前記変換処理部の変換機能を検査するための変換検査部をさらに備え、
前記変換検査部は、
既知の軌道となるマウスの操作信号を生成するマウス操作信号生成部と、
前記マウス操作信号生成部により生成されたマウスの操作信号を前記変換処理部が変換したアナログスティック操作信号による軌道が、既知の軌道となっているか確認する確認部と、
を特徴とする請求項１から５のいずれかに記載の情報処理装置。
【請求項７】
アナログスティックの操作信号をゲームに提供する情報処理装置において、マウスの操作信号を、アナログスティックの操作信号に変換する方法であって、
マウス操作信号を取得するステップと、
アナログスティックに設定されている不感帯に相当する信号分を、マウス操作信号に加算するステップと、
不感帯を調整されたマウス操作信号から、アナログスティック操作信号を生成するステップと、を有し、
不感帯に相当する信号分を加算するステップは、マウスの操作角度を維持する方向に、不感帯に相当する信号分をマウス操作信号に加算する、
ことを特徴とする操作信号の変換方法。
【請求項８】
アナログスティックの操作信号をゲームに提供するコンピュータに、
マウス操作信号を取得する機能と、
アナログスティックに設定されている不感帯に相当する信号分を、マウス操作信号に加算する機能と、
不感帯を調整されたマウス操作信号から、アナログスティック操作信号を生成する機能と、を実現させるためのプログラムであって、
不感帯に相当する信号分を加算する機能は、マウスの操作角度を維持する方向に、不感帯に相当する信号分をマウス操作信号に加算する機能を含む、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置の操作信号をゲームに提供する技術に関する。
【背景技術】
【０００２】
特許文献１は、ゲームコントローラの機能を備えたキーボードを開示する。このキーボードは、ゲームコントローラの操作ボタンの機能を割り当てられた割当キーと、ポインティングスティックと、修飾キーとを備え、修飾キーが操作された状態でポインティングスティックが操作されると、ゲームコントローラのアナログスティックの操作信号を出力する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１２／０２８９３３６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ゲーム専用機は、ユーザが専用のコントローラを操作することを前提とし、専用のコントローラの操作信号を受け付けて、ゲームに提供する。
【０００５】
一方で、ユーザがマウスやキーボードを入力装置として利用して、汎用のパーソナルコンピュータ（ＰＣ）でゲームをプレイすることが一般的となっている。そのためゲームプレイに際して、専用のコントローラよりも、マウスやキーボードの方を好むユーザが増えている。そこでゲーム専用機のような情報処理装置においても、ユーザがマウスやキーボードを入力装置として利用できるようにすることが望まれている。
【０００６】
そこで本発明は、コントローラの操作信号をゲームに提供する情報処理装置において、マウスなどの入力装置を利用可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の情報処理装置は、コントローラの操作信号をゲームに提供する情報処理装置であって、マウス操作信号を取得する取得部と、マウス操作信号を、コントローラのアナログスティック操作信号に変換する変換処理部と、変換されたアナログスティック操作信号をゲームに提供する出力処理部と、を備える。変換処理部は、アナログスティックに設定されている不感帯に相当する信号分を、マウス操作信号に加算する不感帯調整部と、不感帯を調整されたマウス操作信号から、アナログスティック操作信号を生成するアナログスティック操作信号生成部と、を有する。不感帯調整部は、マウスの操作角度を維持する方向に、不感帯に相当する信号分を加算する。
【０００８】
本発明の別の態様は、操作信号の変換方法である。この方法は、アナログスティックの操作信号をゲームに提供する情報処理装置において、マウスの操作信号を、アナログスティックの操作信号に変換する方法であって、マウス操作信号を取得するステップと、アナログスティックに設定されている不感帯に相当する信号分を、マウス操作信号に加算するステップと、不感帯を調整されたマウス操作信号から、アナログスティック操作信号を生成するステップと、を有する。不感帯に相当する信号分を加算するステップは、マウスの操作角度を維持する方向に、不感帯に相当する信号分をマウス操作信号に加算する。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、コントローラの操作信号をゲームに提供する情報処理装置において、マウスなどの入力装置を利用可能とする技術を提供する。
【図面の簡単な説明】
【００１１】
【図１】実施例にかかる情報処理システムを示す図である。
【図２】ゲームコントローラの外観を示す図である。
【図３】情報処理装置の機能ブロックを示す図である。
【図４】情報処理装置の構成を示す図である。
【図５】右アナログスティックの出力範囲を示す図である。
【図６】変換カーブの一例を示す図である。
【図７】マウス操作信号の変換処理を説明するための図である。
【図８】不感帯の調整処理を説明するための図である。
【図９】丸め処理を説明するための図である。
【発明を実施するための形態】
【００１２】
図１は、実施例にかかる情報処理システム１を示す。情報処理システム１は、情報処理装置１０、テレビなどの表示機能を有する出力装置４、および入力装置であるゲームコントローラ６を備える。また情報処理システム１は、入力装置である汎用のマウス１２およびキーボード１４を備える。情報処理装置１０はゲームソフトウェアを実行するゲーム装置であって、専用のゲームコントローラ６と通信可能に接続する。図示の例では、情報処理装置１０とゲームコントローラ６とがケーブルにより有線接続しているが、無線接続してもよい。ゲームコントローラ６はユーザにより操作されて、操作内容を示すゲーム操作信号を情報処理装置１０に送信する。情報処理装置１０はゲームコントローラ６からゲーム操作信号を受け付けてゲームに提供し、ゲームはゲーム操作信号をゲーム空間内のゲームキャラクタの動きに反映する。
【００１３】
以下、ゲームコントローラ６に設けられた入力部について説明する。
［上面部の構成］
図２（ａ）は、ゲームコントローラ６の上面を示す。ユーザは左手で左側把持部７８ｂを把持し、右手で右側把持部７８ａを把持して、ゲームコントローラ６を操作する。ゲームコントローラ６の筐体上面には、方向ボタン７１、アナログスティック７７ａ、７７ｂと、操作ボタン７６が設けられる。方向ボタン７１は、上ボタン７１ａ、左ボタン７１ｂ、下ボタン７１ｃおよび右ボタン７１ｄを含む。４種の操作ボタン７６には、それぞれを区別するために、異なる色で異なる図形が記されており、○ボタン７２には赤色の丸、×ボタン７３には青色のバツ、□ボタン７４には紫色の四角形、△ボタン７５には緑色の三角形が記されている。
【００１４】
右アナログスティック７７ａおよび左アナログスティック７７ｂは、方向および傾動量を入力するための入力部である。右アナログスティック７７ａおよび左アナログスティック７７ｂは、ユーザが押すことで下方に沈み込み、またユーザが手を離すと元の位置に復帰する押下式ボタンとしても機能する。右アナログスティック７７ａを用いた押し込みによるボタン機能をＲ３ボタンと呼び、左アナログスティック７７ｂを用いた押し込みによるボタン機能をＬ３ボタンと呼ぶ。筐体上面において、方向ボタン７１と操作ボタン７６の間の平坦な領域には、タッチパッド７９が設けられる。タッチパッド７９は、ユーザが押すことで下方に沈み込み、またユーザが手を離すと元の位置に復帰する押下式ボタンとしても機能する。
【００１５】
右アナログスティック７７ａおよび左アナログスティック７７ｂの間にはホームボタン８０が設けられる。ホームボタン８０はゲームコントローラ６の電源をオンし、同時に情報処理装置１０と無線接続する通信機能をアクティブにするために使用される。ゲームコントローラ６が情報処理装置１０と接続した後は、ホームボタン８０は、情報処理装置１０にメニュー画面を表示させるためにも使用される。
【００１６】
ＳＨＡＲＥボタン８１は、タッチパッド７９の左側に設けられる。ＳＨＡＲＥボタン８１は、システムソフトウェアに対するユーザからの指示を入力するために利用される。ＯＰＴＩＯＮＳボタン８２は、タッチパッド７９の右側に設けられる。ＯＰＴＩＯＮＳボタン８２は、ゲームに対するユーザからの指示を入力するために利用される。ＳＨＡＲＥボタン８１およびＯＰＴＩＯＮＳボタン８２は、いずれもプッシュ式ボタンとして形成されてよい。
【００１７】
［奥側側面部の構成］
図２（ｂ）は、ゲームコントローラ６の奥側側面を示す。ゲームコントローラ６の筐体奥側側面の上側には、タッチパッド７９が筐体上面から折れ曲がって延設されており、筐体奥側側面の下側には、横長の発光部８５が設けられる。発光部８５は、赤（Ｒ）、緑（Ｇ）、青（Ｂ）のＬＥＤを有し、情報処理装置１０から送信される発光色情報にしたがって点灯する。筐体奥側側面において、Ｒ１ボタン８３ａ、Ｒ２ボタン８４ａと、Ｌ１ボタン８３ｂ、Ｌ２ボタン８４ｂとが長手方向の左右対称な位置に設けられる。Ｒ１ボタン８３ａ、Ｒ２ボタン８４ａは、それぞれユーザ右手の人差し指、中指により操作され、Ｌ１ボタン８３ｂ、Ｌ２ボタン８４ｂは、それぞれユーザ左手の人差し指、中指により操作される。上側のＲ１ボタン８３ａ、Ｌ１ボタン８３ｂはプッシュ式ボタンとして構成され、下側のＲ２ボタン８４ａ、Ｌ２ボタン８４ｂは回動支持されたトリガー式のボタンとして構成されてよい。
【００１８】
図３は、情報処理装置１０の機能ブロックを示す。情報処理装置１０は、メイン電源ボタン２０、電源ＯＮ用ＬＥＤ２１、スタンバイ用ＬＥＤ２２、システムコントローラ２４、クロック２６、デバイスコントローラ３０、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０を有して構成される。
【００１９】
メインシステム６０は、メインＣＰＵ（Central Processing Unit）、主記憶装置であるメモリおよびメモリコントローラ、ＧＰＵ（Graphics Processing Unit）などを備える。ＧＰＵはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、１つのチップ上に形成されてよい。メインＣＰＵはシステムソフトウェアを起動し、システムソフトウェアが提供する環境下においてゲームを実行する機能をもつ。
【００２０】
サブシステム５０は、サブＣＰＵ、主記憶装置であるメモリおよびメモリコントローラなどを備え、ＧＰＵを備えない。サブＣＰＵは、メインＣＰＵがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。
【００２１】
メイン電源ボタン２０は、情報処理装置１０の筐体の前面に設けられ、メインシステム６０への電源供給をオンまたはオフするために操作される。電源ＯＮ用ＬＥＤ２１は、メイン電源ボタン２０がオンされたときに点灯し、スタンバイ用ＬＥＤ２２は、メイン電源ボタン２０がオフされたときに点灯する。
【００２２】
システムコントローラ２４は、ユーザによるメイン電源ボタン２０の押下を検出する。クロック２６はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ２４やサブシステム５０およびメインシステム６０に供給する。
【００２３】
デバイスコントローラ３０は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するＬＳＩ（Large-Scale Integrated Circuit）として構成される。図示のように、デバイスコントローラ３０には、システムコントローラ２４、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０などのデバイスが接続される。デバイスコントローラ３０は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【００２４】
メディアドライブ３２は、ゲームなどのアプリケーションソフトウェアおよびライセンス情報を記録したＲＯＭ媒体４４を装着して駆動し、ＲＯＭ媒体４４からプログラムやデータなどを読み出すドライブ装置である。ＲＯＭ媒体４４は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【００２５】
ＵＳＢモジュール３４は、外部機器とＵＳＢケーブルで接続するモジュールである。フラッシュメモリ３６は、内部ストレージを構成する補助記憶装置である。無線通信モジュール３８は、Bluetooth（登録商標）プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、ゲームコントローラ６と無線通信する。有線通信モジュール４０は、外部機器と有線通信し、たとえばＡＰを介してネットワークに接続する。
【００２６】
実施例において、情報処理装置１０はゲーム専用機であり、ゲームコントローラ６は情報処理装置１０に専用の入力装置である。ゲーム専用機で実行されるゲームは、専用の入力装置からのゲーム操作信号にもとづいて動作するように構成されており、したがって従来のゲーム専用機は、専用の入力装置のみからゲーム操作信号を受け付ける。
【００２７】
一方で、近年のＰＣゲームの普及により、マウス１２やキーボード１４などの汎用入力装置を利用してゲームをプレイするユーザが増えている。そのようなユーザは、ゲーム専用機でゲームをプレイする際にも、使い慣れた汎用入力装置の利用を希望することが多い。そこで実施例の情報処理装置１０は、マウス１２やキーボード１４を、ゲーム操作信号を入力する入力装置として利用できるようにする。
【００２８】
上記したようにゲーム専用機で実行されるゲームは、専用の入力装置からの操作信号にもとづいて動作するが、汎用入力装置からの操作信号に応答するように作られていない。マウス１２やキーボード１４をゲームの入力装置として利用可能にするためには、マウス１２やキーボード１４から入力される操作信号が、ゲームに提供される前に、ゲームコントローラ６の操作信号に変換される必要がある。
【００２９】
一つの手法として、マウス１２およびキーボード１４の内部に変換モジュールを組み込み、変換モジュールが入力信号をゲームコントローラ６の操作信号に変換する方法が考えられる。しかしながら変換モジュールを組み込んだマウス１２やキーボード１４は、もはや汎用の入力装置ではなく、ユーザは、変換モジュールを組み込んだマウス１２やキーボード１４を新たに入手しなければならない。そこで実施例では、汎用のマウス１２やキーボード１４を、そのまま情報処理装置１０の入力装置として利用できる仕組みを提案する。
【００３０】
図４は、ゲームコントローラ６の操作信号をゲームに提供する情報処理装置１０の構成を示す。情報処理装置１０は、取得部１００、変換処理部１２０、設定部１４０、出力処理部１５０および変換検査部１６０を備える。取得部１００は、コントローラ操作信号取得部１０２、マウス操作信号取得部１０４およびキー操作信号取得部１０６を有する。変換処理部１２０は、感度調整部１２２、変換カーブ適用部１２４、不感帯調整部１２６、アナログスティック操作信号生成部１２８およびキー変換部１３０を有する。変換検査部１６０は、マウス操作信号生成部１６２および確認部１６４を有する。
【００３１】
図４において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたシステムソフトウェアなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３２】
コントローラ操作信号取得部１０２は、ゲームコントローラ６の操作信号を取得して出力処理部１５０に提供し、出力処理部１５０は、ゲームコントローラ６の操作信号を、ゲームに提供する。
図２に示すゲームコントローラ６において、右アナログスティック７７ａは、たとえばファーストパーソンシューター（ＦＰＳ）ゲームで、スコープの照準を合わせるために操作される。右アナログスティック７７ａは、ばね等によってセンター位置を維持するように付勢されており、ユーザによりセンター位置から傾動されると、傾動された２次元位置を示すアナログ値、すなわちセンター位置を原点として移動したＸ軸成分とＹ軸成分の移動量を示す操作信号を出力する。出力処理部１５０は、右アナログスティック７７ａの操作信号に丸め処理を施し、８ビットのデジタル値でそれぞれ表現するＸ軸成分とＹ軸成分の操作信号を生成して、ゲームに提供する。
【００３３】
図５（ａ）は、右アナログスティック７７ａの一軸成分の出力範囲を示す。出力処理部１５０は、右アナログスティック７７ａの操作信号の各軸成分に丸め処理を施し、Ｘ軸成分およびＹ軸成分を、それぞれ０〜２５５の間の整数値として出力する。
図５（ｂ）は、右アナログスティック７７ａのＸ軸成分およびＹ軸成分の出力範囲を示す。右アナログスティック７７ａがセンター位置にあるとき、出力処理部１５０は、Ｘ軸成分の信号値を１２８、Ｙ軸成分の信号値を１２８とする操作信号を、ゲームに提供する。
【００３４】
ゲームは、右アナログスティック７７ａの出力範囲の全てを有効な入力として受け付けるのではなく、センター位置近傍の操作に対して不感帯を設定して、不感帯の信号値を無視することが多い。この一つの理由は、右アナログスティック７７ａに設けられる位置センサの精度がそれほど高くないために、ユーザが右アナログスティック７７ａに触れていなくても、センター位置（１２８，１２８）からずれた位置にあることを示す操作信号を出力する可能性が否定できないことにある。また別の理由として、ユーザは右アナログスティック７７ａの頂部に右親指を載せるため、操作する意志がなくても親指の震えなどの動きにより右アナログスティック７７ａを動かしてしまうことがある。そのためＦＰＳゲームでスコープの照準合わせに右アナログスティック７７ａを利用する場合、センター位置近傍では操作信号が安定せず、正確に照準合わせすることが難しい。そこでゲームは、右アナログスティック７７ａのセンター位置近傍の操作に対して不感帯を設定し、不感帯を超えた操作を有効な入力として受け付けるようにしている。
【００３５】
図５（ｃ）は、右アナログスティック７７ａの出力範囲に対してゲームが設定する不感帯の例を示す。この例で、不感帯は、センター位置（１２８，１２８）を中心とした所定径の円内の範囲として設定されている。ゲームは、不感帯の範囲を自由に設定してよく、たとえばセンター位置を中心とした矩形範囲として設定してもよい。ゲームは、不感帯に含まれる操作信号を無視し、すなわちゲームの処理に反映しない。
【００３６】
実施例の情報処理装置１０は、右アナログスティック７７ａの代わりに、ユーザがマウス１２を利用可能とする機能を備える。これによりユーザは、マウス１２を操作して、スコープの照準合わせを行うことができる。また実施例の情報処理装置１０は、ゲームコントローラ６の右アナログスティック７７ａ以外の入力部の代わりに、ユーザがキーボード１４を利用可能とする機能を備える。これらの機能により、ユーザは、ゲームコントローラ６の代わりに、マウス１２およびキーボード１４を入力装置として利用できるようになる。なお後述するようにユーザは、マウス１２やキーボード１４を操作しつつ、同時にゲームコントローラ６を操作することも可能である。
【００３７】
マウス１２およびキーボード１４を入力装置として利用可能とするために、ゲームは、マウス１２の操作信号を右アナログスティック７７ａの操作信号に変換するためのデータ、およびキーボード１４の操作信号をゲームコントローラ６の操作信号に変換するためのデータを記述した設定ファイルを用意する。設定ファイルには、マウス１２の感度の調整値、マウス１２の移動量を右アナログスティック７７ａの操作信号に変換するための変換カーブを構成するデータ、右アナログスティック出力の不感帯に関するデータ、およびキーボード１４の入力をゲームコントローラ６の入力に変換するためのキー変換マップが記述される。
【００３８】
図６は、マウスの移動量を右アナログスティックの操作信号に変換するための変換カーブの一例を示す。この変換カーブの横軸はマウス１２の移動量を表現し、「１．０」のマウス移動量は、マウス１２が所定移動量以上移動したときの移動量を示す。ここでマウス１２の所定移動量は、右アナログスティック７７ａの最大傾動量に対応する。縦軸は右アナログスティック７７ａの操作信号を表現し、「１．０」の右アナログスティック操作信号は、傾動量の最大値を示す。
【００３９】
この変換カーブでは、たとえばマウス移動量が０．７５のとき、すなわちマウス１２が所定移動量の３／４だけ移動されたとき、右アナログスティック７７ａの操作信号が０．９に設定される。つまり、この変換カーブによれば、０．７５のマウス移動量が、０．９の右アナログスティック操作信号に変換される。（右アナログスティック操作信号）／（マウス移動量）を「増幅率」と定義すると、変換カーブは、正規化したマウス移動量に対する右アナログスティック操作信号の増幅率を定義したものとなる。マウス移動量と右アナログスティック操作信号の関係をリニアではなく、増幅率を変化させるように扱うことで、マウス１２の操作感を自在に設定できるようになる。なおマウス移動量と右アナログスティック操作信号の関係をリニアに扱う場合、マウス移動量に対する右アナログスティック操作信号の増幅率はつねに「１」となって、変換カーブは（０，０）と（１．０，１．０）を結ぶ直線となる。
【００４０】
キー変換マップは、キーボード１４のキーと、ゲームコントローラ６の入力部との対応関係を記述する。以下、左欄にキーボード１４のキーを、右欄にゲームコントローラ６の入力部を記述した変換マップの例を示す。
「Ｑ」  −  △ボタン
「Ｒ」  −  □ボタン
「Ｃ」  −  ○ボタン
「スペース」  −  ×ボタン
「矢印キー」  −  方向ボタン
「ＥＳＣキー」  −  ＯＰＴＩＯＮＳボタン
「ＥＮＴＥＲキー」  −  ＳＨＡＲＥボタン
以上は、ゲームコントローラ６の一部の入力部について示すが、他の入力部についても同様にキーボード１４のキーが割り当てられる。
【００４１】
設定部１４０は、ゲームに対応する設定ファイル２００を取得し、変換処理部１２０に提供する。設定ファイル２００は、ゲームソフトウェアに含まれており、ゲームソフトウェアが起動されると、設定部１４０は、自動的に設定ファイル２００を取得して、変換処理部１２０に提供することが好ましい。
【００４２】
ゲームソフトウェアは、複数種類の設定ファイル２００を有してよい。図６に示す変換カーブはマウス移動量と右アナログスティック操作信号の変換特性を定め、キー変換マップはキー割当を定める。これらはユーザによって好みが分かれるため、様々なタイプの変換カーブやキー変換マップを規定した複数の設定ファイル２００を用意しておき、ユーザが、ゲームタイトルや使用するマウス１２に応じて、いずれかの設定ファイル２００を選択できるようにしてもよい。この場合、設定部１４０は、ユーザにより選択された設定ファイル２００を取得して、変換処理部１２０に提供する。なおユーザは、設定部１４０により変換処理部１２０に提供される設定ファイルを、書き換えられるようにしてもよい。
【００４３】
なお複数種類の設定ファイル２００が情報処理装置１０の記憶装置に格納されていて、設定部１４０が、起動されたゲームタイトルに対応する設定ファイルを自動的に記憶装置から読み出して、変換処理部１２０に提供してもよい。記憶装置から読み出される設定ファイルは、ゲームタイトルにより指定されたものであってよく、またゲームタイトルと設定ファイルとを対応付けた対応表により特定されたものであってよい。
【００４４】
キーボード１４は、ユーザにより操作されたキーデータを、キー操作信号として出力する。キー操作信号取得部１０６は、キー操作信号を取得して、キー変換部１３０に提供する。キー変換部１３０はキー変換マップにしたがって、キー操作信号を、ゲームコントローラ６の入力部の操作信号に変換し、出力処理部１５０は、変換された操作信号をゲームに提供する。
【００４５】
マウス１２は、所定の周期でｘ軸成分およびｙ軸成分の移動量を示す操作信号を出力する。マウス１２の出力周期は、ゲームがゲーム画面を生成する周期（たとえば６０ｆｐｓ）よりも短く設定される。マウス操作信号取得部１０４は、所定の周期で出力されるマウス操作信号のｘ軸成分およびｙ軸成分を取得し、変換処理部１２０に供給する。変換処理部１２０は、マウス操作信号を、ゲームコントローラ６のアナログスティック操作信号に変換し、出力処理部１５０は、変換されたアナログスティック操作信号をゲームに提供する。
【００４６】
図７は、変換処理部１２０におけるマウス操作信号の変換処理を説明するための図である。
図７（ａ）は、マウス１２の操作信号の各軸成分の出力範囲を示す。マウス操作信号取得部１０４は、マウス操作信号のｘ軸成分およびｙ軸成分を取得する。図７（ａ）において、マウス１２の出力範囲の区切りとして示す値「２００」は、ユーザがゲームプレイ中に操作するマウス１２から出力される現実的に想定される仮の最大値を示したものであり、マウス１２の出力の最大値が２００に制限されることを意味したものではない。つまりユーザがスコープの照準を合わせるためにマウス１２を操作する際、マウス操作信号取得部１０４が取得する各軸成分の信号値が、大体−２００から２００の範囲の値をとるという仮定の下で、図７（ａ）では、理解を容易にするために仮の出力範囲として−２００から２００の範囲を示している。なお各軸成分の信号値が２００を超えても問題はない。以下、変換処理部１２０において、マウス１２の信号値Ａ（＝１５０）が右アナログスティック７７ａの信号値Ｅに変換される流れを説明する。
【００４７】
マウス操作信号取得部１０４は、取得したマウス操作信号を感度調整部１２２に供給する。感度調整部１２２は、マウス操作信号の感度を調整する。
図７（ｂ）は、感度調整された各軸成分の出力範囲を示す。感度調整部１２２は、マウス操作信号の信号値に、感度調整値を乗算することで、感度調整を実施する。感度調整値は設定ファイル２００に含まれており、この例で感度調整値は０．５である。感度調整部１２２は、信号値Ａに０．５を乗算して、信号値Ｂ（＝７５）に変換する。
【００４８】
変換カーブ適用部１２４は、感度調整されたマウス操作信号に変換カーブを適用する。
図７（ｃ）は、変換カーブを適用した状態を示す。変換カーブ適用部１２４は、感度調整されたマウス操作信号に、図６に示す変換カーブで定められる増幅率を乗算する。図６に示す変換カーブにおいて、感度調整された７５の信号値に対応する増幅率が１．２であるとすると、変換カーブ適用部１２４は、信号値Ｂに１．２を乗算して、信号値Ｃ（＝９０）に変換する。
【００４９】
不感帯調整部１２６は、右アナログスティック７７ａに設定されている不感帯に相当する信号分を、変換カーブを適用したマウス操作信号に加算する。不感帯調整部１２６は、不感帯に相当する信号分をマウス操作信号に加算することで、マウス操作信号が不感帯の信号値を示さないようにする。
図７（ｄ）は、不感帯を調整された各軸成分の出力範囲を示す。ここでは、−３０から３０までの範囲が不感帯に相当し、不感帯調整部１２６は、信号値Ｃに３０を加算して、信号値Ｄ（＝１２０）に変換する。なお不感帯調整部１２６は、信号値Ｃが負であれば、信号値Ｃに−３０を加算して、信号値Ｄに変換する。このように不感帯調整部１２６は、信号値Ｃの正負に応じて、加算する不感帯信号分の正負を定める。信号値Ｃが０の場合、不感帯調整部１２６は、不感帯信号分の加算処理を実施しない。
【００５０】
なお図５（ｃ）に示すように右アナログスティック７７ａのセンター位置に対して不感帯を円形に設定している場合には、マウス１２の操作角度によって、不感帯としてマウス操作信号に加算する値は変化する。
【００５１】
図８は、不感帯調整部１２６による調整処理を説明するための図である。不感帯調整部１２６は、変換カーブを適用したマウス操作信号（ｘ０，ｙ０）に、マウス１２の操作角度（Ａｒｃｔａｎ（ｙ０／ｘ０））を維持する方向に、不感帯に相当する信号分を加算する。
【００５２】
不感帯が円形に設定されている場合、不感帯調整部１２６は、原点から（ｘ０，ｙ０）を通る直線と不感帯の境界部分との交点（ａ，ｂ）を求める。ここでａは、ｘ軸成分の不感帯に相当する信号分であり、ｂはｙ軸成分の不感帯に相当する信号分である。これにより不感帯調整部１２６は、マウス操作信号（ｘ０，ｙ０）に、不感帯に相当する信号分（ａ，ｂ）を加えて、不感帯の信号値を調整したマウス操作信号（ｘ１，ｙ１）を生成する。ここでｘ１＝ｘ０＋ａ、ｙ１＝ｙ０＋ｂである。不感帯調整部１２６が、マウス１２の操作角度を維持して不感帯の信号分を加算したマウス操作信号を生成することで、マウス１２の僅かな動きがスコープの照準合わせに反映されるようになる。
【００５３】
不感帯を調整されたマウス操作信号は、アナログスティック操作信号生成部１２８に供給される。アナログスティック操作信号生成部１２８は、マウス操作信号から、右アナログスティック７７ａの操作信号を生成する。
【００５４】
図７（ｅ）は、マウス操作信号から、アナログスティック操作信号を生成する様子を示す。アナログスティック操作信号は、０〜２５５までの信号値をとるため、アナログスティック操作信号生成部１２８は、図７（ｄ）に示す出力範囲をアナログスティック操作信号の出力範囲に合わせる処理を実施する。
【００５５】
右アナログスティック７７ａのセンター位置は１２８であり、アナログスティック操作信号生成部１２８は、図７（ｄ）に示す信号値に１２８を加算することで、アナログスティック操作信号を生成する。アナログスティック操作信号生成部１２８は、信号値Ｄに１２８を加算して、右アナログスティック７７ａの操作信号の信号値Ｅ（＝２４８）を生成する。
【００５６】
なおアナログスティック操作信号生成部１２８は、信号値に１２８を加算した結果、０より小さい信号値は信号値０に、２５５より大きい信号値は信号値２５５に設定する。つまり０〜２５５の範囲外にある信号値については、０ないし２５５の信号値を設定する。
【００５７】
またアナログスティック操作信号は、０〜２５５までの整数値をとるため、アナログスティック操作信号生成部１２８は、マウス操作信号値に１２８を加算した信号値に対して、マウス操作信号の丸め処理を実施し、整数値に変換する。
【００５８】
図９は、丸め処理を説明するための図である。ゲームが６０ｆｐｓでゲーム画面を生成している場合、アナログスティック操作信号生成部１２８は、丸め処理を、フレームの生成周期つまり（１／６０）秒ごとに実施する。
【００５９】
「信号値」は、マウス操作信号に１２８を加算した今回の信号値である。「前回の丸め誤差を加算した信号値」は、「信号値」に、前回の丸め処理における丸め誤差を加算した信号値である。「丸め処理後の信号値」は、「前回の丸め誤差を加算した信号値」の小数点を四捨五入して今回の丸め処理を実施した信号値である。「丸め誤差」は、「前回の丸め誤差を加算した信号値」と「丸め処理後の信号値」の差分であり、今回の丸め処理における丸め誤差である。
【００６０】
Ｎ回目の丸め処理における丸め誤差が０．４であったとき、アナログスティック操作信号生成部１２８は、（Ｎ＋１）回目の丸め処理において、今回の信号値（１２５．３）に前回の丸め誤差（０．４）を加算し、丸め処理を実施して右アナログスティック７７ａの操作信号値（１２６）を生成する。これにより（Ｎ＋１）回目の丸め処理における丸め誤差は−０．３となる。
【００６１】
（Ｎ＋２）回目の丸め処理において、アナログスティック操作信号生成部１２８は、今回の信号値（１３２．６）に前回の丸め誤差（−０．３）を加算し、丸め処理を実施して右アナログスティック７７ａの操作信号値（１３２）を生成する。これにより（Ｎ＋２）回目の丸め処理における丸め誤差は０．３となる。
【００６２】
このようにアナログスティック操作信号生成部１２８は、前回のマウス操作信号の丸め処理における丸め誤差を、今回のマウス操作信号に加算してから丸め処理を実施する。このように丸め処理を実施することで、アナログスティック操作信号生成部１２８は、前回の丸め誤差を今回の右アナログスティック７７ａの操作信号に含ませることができ、これによりユーザによるマウス１２の移動量を高精度に反映した右アナログスティック７７ａの操作信号を生成できる。アナログスティック操作信号生成部１２８は、生成した右アナログスティック７７ａの操作信号を、出力処理部１５０に供給する。出力処理部１５０は、右アナログスティック７７ａの操作信号を、ゲームに提供する。
【００６３】
実施例では、変換処理部１２０が、マウス操作信号をアナログスティック操作信号に変換するため、変換タイミングを自在に制御できる。たとえばゲームが６０ｆｐｓで画面を作成している場合、変換処理部１２０は、変換タイミングの周期を（１／６０）秒に設定してよい。また変換処理部１２０は、ゲームが操作信号を要求するタイミングに合わせて、マウス操作信号をアナログスティック操作信号に変換してもよい。
【００６４】
また変換処理部１２０は、ゲームがゲーム画面を生成する周期（たとえば６０ｆｐｓ）よりも短い出力周期で送信されるマウス操作信号のうち、任意のマウス操作信号を変換対象とできる。たとえば変換処理部１２０は、所定周期で送信されるマウス操作信号のうち変換周期内の最新のマウス操作信号をアナログスティック操作信号に変換してもよい。また変換処理部１２０は、変換周期内の複数のマウス操作信号を加算して、アナログスティック操作信号に変換してもよい。
【００６５】
なお実施例の情報処理装置１０は、マウス１２と右アナログスティック７７ａの同時操作を許可する仕様としている。マウス１２と右アナログスティック７７ａとが同時操作される場合、出力処理部１５０は、アナログスティック操作信号生成部１２８で生成されたアナログスティック操作信号と、コントローラ操作信号取得部１０２で取得されたアナログスティック操作信号とを加算して、ゲームに出力する。なおアナログスティック操作信号のセンター位置が１２８であるため、出力処理部１５０は、加算値から１２８を減算した信号値を、ゲームに出力する必要がある。
【００６６】
なお右アナログスティック７７ａのセンター位置近傍の操作については、ゲームにより不感帯が設定されている。マウス１２を使用せず、右アナログスティック７７ａのみを使用する場合には、ゲームが不感帯に含まれる操作信号を無視すればよかったが、マウス１２を使用する場合には、不感帯調整部１２６により、マウス操作信号が不感帯の信号値を示さないように調整されている。そこで同時使用する場合には、出力処理部１５０が、右アナログスティック７７ａのアナログスティック操作信号が不感帯に含まれる場合に、当該アナログスティック操作信号を加算せずに破棄することが好ましい。また右アナログスティック７７ａの操作信号が不感帯から外れている場合には、出力処理部１５０は、当該アナログスティック操作信号に変換カーブを適用してから、アナログスティック操作信号生成部１２８で生成されたアナログスティック操作信号に加算することが好ましい。
【００６７】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６８】
実施例では感度調整部１２２によるｘ軸成分とｙ軸成分の感度調整値について特に区別しなかったが、感度調整部１２２は、ｘ軸成分とｙ軸成分の感度調整値を別個に設定してもよく、たとえばｘ軸成分の感度調整値＞ｙ軸成分の感度調整値としてもよい。また実施例では、アナログスティック操作信号生成部１２８が丸め処理をすべて実施したが、変形例ではアナログスティック操作信号生成部１２８が前回の丸め誤差を加算した信号値を算出し、出力処理部１５０が前回の丸め誤差を加算された信号値を丸め処理してもよい。出力処理部１５０は、丸め処理の実施後、丸め処理により生じた丸め誤差をアナログスティック操作信号生成部１２８に渡す。
【００６９】
変換検査部１６０は、変換処理部１２０の変換機能を検査するために設けられる。設定部１４０が設定ファイル２００を変換処理部１２０に供給した後、変換検査部１６０は、変換処理部１２０が適切にマウス操作信号をアナログスティック操作信号に変換できるか検査する。
【００７０】
マウス操作信号生成部１６２は、既知の軌道となるマウスの操作信号を生成して、変換処理部１２０に渡す。マウス操作信号生成部１６２は、たとえば真円の軌道を描くマウスの操作信号を生成する。変換処理部１２０が、マウス操作信号をアナログスティック操作信号に変換して、出力処理部１５０がゲームに渡すと、ゲームは、仮想的なゲーム画面中に、アナログスティック操作信号にもとづく軌道を描く。確認部１６４は、このアナログスティック操作信号による軌道が、本来の既知の軌道、ここでは真円となっているか確認する。ここで真円になっていれば、変換処理部１２０による変換処理に問題がないことを判定するが、真円でなければ、変換処理が正常でないことを判定する。このとき確認部１６４は、設定ファイル２００のパラメータを調整して、真円が描けるようになるまで検査を繰り返してよい。
【符号の説明】
【００７１】
１・・・情報処理システム、６・・・ゲームコントローラ、１０・・・情報処理装置、１２・・・マウス、１４・・・キーボード、７７ａ・・・右アナログスティック、１００・・・取得部、１０２・・・コントローラ操作信号取得部、１０４・・・マウス操作信号取得部、１０６・・・キー操作信号取得部、１２０・・・変換処理部、１２２・・・感度調整部、１２４・・・変換カーブ適用部、１２６・・・不感帯調整部、１２８・・・アナログスティック操作信号生成部、１３０・・・キー変換部、１４０・・・設定部、１５０・・・出力処理部、１６０・・・変換検査部、１６２・・・マウス操作信号生成部、１６４・・・確認部、２００・・・設定ファイル。
【図１】
2018175123.tif 000003
【図２】
2018175123.tif 000004
【図３】
2018175123.tif 000005
【図４】
2018175123.tif 000006
【図５】
2018175123.tif 000007
【図６】
2018175123.tif 000008
【図７】
2018175123.tif 000009
【図８】
2018175123.tif 000010
【図９】
2018175123.tif 000011