以下、本発明の一実施形態について図面に基づき詳細に説明する。
図1は、本発明の一実施形態に係る情報処理システム10の全体構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム10は、情報処理装置12とディスプレイ14とコントローラ16(16a−1、16a−2、16a−3、及び、16b)とを含んでいる。なお情報処理システム10がカメラやマイクを含んでいてもよい。
本実施形態に係る情報処理装置12は、例えばゲームコンソールなどといったエンタテインメント装置等のコンピュータであり、例えば図2に示すように、制御部20、記憶部22、通信部24、入出力部26、サブシステム部28を含んでいる。制御部20は、例えば情報処理装置12にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。本実施形態に係る制御部20には、CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。記憶部22は、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部22には、制御部20によって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部22には、GPUにより画像が描画されるフレームバッファの領域が確保されている。通信部24は、例えばイーサネット(登録商標)モジュールや無線LANモジュールなどの通信インタフェースである。入出力部26は、例えばHDMI(登録商標)(High-Definition Multimedia Interface)ポートやUSBポートなどの入出力ポートである。サブシステム部28は、制御部20とは別に設けられたCPU等のプログラム制御デバイスや記憶部22とは別に設けられた記憶素子を含んでいる。サブシステム部28は、情報処理装置12が、制御部20や記憶部22が動作しないスタンバイ状態でもネットワーク処理が低消費電力で継続できるようにするために本実施形態に係る情報処理装置12に設けられている。また、図1に示すように、本実施形態に係る情報処理装置12の正面には、情報処理装置12への電源の投入や切断を行うための電源ボタンPが設けられている。本実施形態では、ユーザが電源ボタンPを押下すると、情報処理装置12が起動する。
本実施形態に係るディスプレイ14は、液晶ディスプレイ等であり、情報処理装置12が生成する画面などを表示させる。また、本実施形態に係るディスプレイ14は、情報処理装置12が生成する音声データが表す音声を出力するスピーカも備えている。情報処理装置12とディスプレイ14とは、例えば、AVケーブルや、HDMIケーブル等を介して接続されている。
本実施形態に係るコントローラ16は、情報処理装置12に対する操作入力を行うための操作入力装置である。本実施形態に係る情報処理システム10には例えば第1種のコントローラ16aが3つ含まれている。また、本実施形態に係る情報処理システム10には例えば第2種のコントローラ16bが1つ含まれている。本実施形態では第1種のコントローラ16aと第2種のコントローラ16bとは例えば製造者や販売者が異なる。例えば第1種のコントローラ16aは純正のコントローラ16であり、コントローラ16bはサードパーティが製造するコントローラ16である。
図3Aは、本実施形態に係るコントローラ16aの一例の平面図である。図3Bは、当該コントローラ16aの背面図である。コントローラ16aの上面中央には、ボタンB1やスピーカSが配置されている。またコントローラ16aの上面右側にはボタンB2が配置されている。また、コントローラ16aの背面中央下側には、予め定められた所定数の色のうちのいずれかが発光可能なLEDであるライトバーLが設けられている。
また、本実施形態に係るコントローラ16aには、その他のボタン、方向キー、ボタン、タッチセンサ、操作スティックも設けられている。また、本実施形態に係るコントローラ16aは、角速度を検出するジャイロセンサ、加速度を検出する加速度センサ等のセンサを備えている。
またユーザは、方向キーやボタンを押下したり、操作スティックを傾けたりすることで、コントローラ16aを用いて各種の操作入力を行うことができる。そして本実施形態では、コントローラ16aは、操作入力に対応付けられる入力データを情報処理装置12に出力する。
また、本実施形態に係るコントローラ16aは、USBポートを備えている。コントローラ16aは、USBケーブルで情報処理装置12と接続することで、入出力部26を介して有線で入力データを情報処理装置12に出力することができる。また、本実施形態に係るコントローラ16aは、無線通信モジュール等を備えており、通信部24を介して無線で入力データを情報処理装置12に出力することができるようにもなっている。
また本実施形態に係るコントローラ16aには、充電可能な充電池が設けられている。そして当該充電池は、例えばUSBケーブルで接続された情報処理装置12からの給電による充電が可能になっている。
本実施形態に係るコントローラ16bは、スピーカS、ライトバーL、充電池を備えていないこととする。
また本実施形態に係るコントローラ16a及びコントローラ16bは、バイブレータを備えていることとする。
またコントローラ16aであるかコントローラ16bであるかに関わらず、本実施形態に係るコントローラ16には、当該コントローラ16を一意に識別する識別情報であるコントローラIDが付与されている。そして当該コントローラIDが当該コントローラ16に記憶されている。本実施形態では例えば、コントローラ16a−1、コントローラ16a−2、コントローラ16a−3、コントローラ16bのコントローラIDは、それぞれ、0001、0002、0003、0100であることとする(図4参照)。
本実施形態では例えば、ユーザがコントローラ16をはじめて使用するときに、USBケーブルで当該コントローラ16と情報処理装置12とを接続すると、当該コントローラ16及び情報処理装置12がペアリング処理を実行する。すると本実施形態では、当該コントローラ16が情報処理装置12に登録されることとなる。本実施形態では、コントローラ16a−1、コントローラ16a−2、コントローラ16a−3、及び、コントローラ16bが、情報処理装置12に登録されていることとする。
また本実施形態では、ユーザがコントローラ16aのボタンB1を押下すると、当該コントローラ16aは、当該コントローラ16aを使用することを示す信号を情報処理装置12に送信する。すると、当該コントローラ16aは情報処理装置12と接続されている状態となり、当該コントローラ16aによる情報処理装置12への操作入力が可能となる。また本実施形態ではコントローラ16aを使用することを示す信号が当該コントローラ16aから情報処理装置12に送信されると、情報処理装置12は、ライトバーLを発光させる色を示す信号を当該コントローラ16aに返信する。するとコントローラ16aは、当該信号が示す色でライトバーLを発光させる。本実施形態では例えば、上述した信号を最初に送信したコントローラ16aのライトバーLは青色で発光する。そしてその次に上述した信号を送信したコントローラ16aのライトバーLは赤色で発光する。そしてさらにその次に上述した信号を送信したコントローラ16aのライトバーLは緑色で発光する。このようにして本実施形態では、ユーザは、コントローラ16aが情報処理装置12に接続された順序を識別できるようになっている。また本実施形態では、ユーザは、ライトバーLが発光しているコントローラ16aを、情報処理装置12への操作入力が可能であるコントローラ16aとして認識できることとなる。
また本実施形態では、ユーザがコントローラ16bに対して所定の操作を行うことで、当該コントローラ16bが情報処理装置12と接続されている状態となり、当該コントローラ16bによる情報処理装置12への操作入力が可能となる。
そして本実施形態では、図4に例示するコントローラ管理データによって、情報処理装置12に登録されたコントローラ16の属性の値が管理される。本実施形態では、コントローラ16が情報処理装置12に登録された際に、当該コントローラ16のコントローラIDを含むコントローラ管理データが生成されて、情報処理装置12に記憶される。
本実施形態に係るコントローラ管理データには、上述のコントローラID、コントローラ種別値、ペアリング順序値、接続フラグ、異常動作検知フラグ、バッテリ残量値、振動有効化フラグ、音量値、輝度値、が含まれている。そして図4には、上から順に、コントローラ16a−1、コントローラ16b、コントローラ16a−2、コントローラ16a−3のコントローラ管理データが示されている。このように本実施形態では、情報処理装置12に登録されたコントローラ16とコントローラ管理データとは1対1で対応付けられる。
コントローラ種別値は、コントローラ16の種別に対応付けられる値である。コントローラ種別値は、本実施形態におけるコントローラ16の属性の値の一種である。本実施形態では例えば、コントローラ16aに対応付けられるコントローラ管理データについてはコントローラ種別値として1が設定され、コントローラ16bに対応付けられるコントローラ管理データについてはコントローラ種別値として2が設定される。
ペアリング順序値は、コントローラ16aについて、情報処理装置12とのペアリング処理が行われた順序、すなわち情報処理装置12に登録された順序を示す値である。ペアリング順序値は、本実施形態におけるコントローラ16aの属性の値の一種である。ここでは例えば、コントローラ16aについては、コントローラ16a−1、コントローラ16a−2、コントローラ16a−3の順に情報処理装置12に登録されたこととする。この場合は図4に示すように、コントローラ16a−1、コントローラ16a−2、コントローラ16a−3に対応付けられるコントローラ管理データについては、ペアリング順序値として、それぞれ、1、2、3が設定される。
接続フラグは、コントローラ16が情報処理装置12と接続されている状態であるか否かを示すフラグである。接続フラグは、本実施形態におけるコントローラ16aの属性の値の一種である。ここでは例えば、図1に示すように、コントローラ16a−1とコントローラ16bとは、情報処理装置12と接続されており、コントローラ16a−2とコントローラ16a−3とは、情報処理装置12と接続されていないこととする。この場合は図4に示すように、コントローラ16a−1とコントローラ16bに対応付けられるコントローラ管理データについては、接続フラグの値として1が設定される。また図4に示すように、コントローラ16a−2とコントローラ16a−3に対応付けられるコントローラ管理データについては、接続フラグの値として0が設定される。
異常動作検知フラグは、コントローラ16が過去に異常動作を検知したか否かを示すフラグである。異常動作検知フラグは、本実施形態におけるコントローラ16aの属性の値の一種である。ここでは例えば、コントローラ16a−3は、過去に異常動作を検知したことがあることとする。この場合図4に示すように、コントローラ16a−3に対応付けられるコントローラ管理データについては異常動作検知フラグの値として1が設定される。またこの場合は図4に示すように、その他のコントローラ16に対応付けられるコントローラ管理データについては異常動作検知フラグの値として0が設定される。
バッテリ残量値は、コントローラ16のバッテリの残量を示す値である。バッテリ残量値は、本実施形態におけるコントローラ16aの属性の値の一種である。本実施形態では、上述の通りコントローラ16bは充電池を備えていないのでコントローラ16bに対応付けられるコントローラ管理データにはバッテリ残量値は設定されない。本実施形態では、バッテリ残量値は0以上4以下の整数のいずれかの値をとることとする。本実施形態では例えば、バッテリの残量がフル充電された際のバッテリの残量の75%以上である場合には、バッテリ残量値として4が設定される。また本実施形態では例えば、バッテリの残量がフル充電された際のバッテリの残量の50%以上75%未満である場合にはバッテリ残量値として3が設定される。また本実施形態では例えば、バッテリの残量がフル充電された際のバッテリの残量の25%以上50%未満である場合にはバッテリ残量値として2が設定される。また本実施形態では例えば、バッテリの残量がフル充電された際のバッテリの残量の25%未満である場合にはバッテリ残量値として1が設定される。また本実施形態では例えば、バッテリの残量がない場合にはバッテリ残量値として0が設定されることとする。
なお本実施形態に係るコントローラ管理データに、当該コントローラ16が最初に接続された日時を示す値が含まれていてもよい。
本実施形態では、コントローラ16が備えるバッテリの残量の確認は間欠的に行われることとする。なお本実施形態では情報処理装置12がスタンバイ状態であっても、コントローラ16が備えるバッテリの残量の確認はサブシステム部28によって行われることとする。ここで例えば情報処理装置12は、コントローラ16との通信によって、当該コントローラ16のバッテリの残量を示す情報を当該コントローラ16から受信してもよい。例えばこの場合には、コントローラ管理データに含まれるバッテリ残量値は、当該コントローラ管理データに対応付けられるコントローラ16から受信した最新の情報が示す値に更新される。また例えば、情報処理装置12が、所定のタイミングで、例えば所定の時間間隔で、最後にバッテリの残量を示す情報を最後に受信してからの経過時間に基づいて、バッテリの残量を推定してもよい。例えばこの場合には、コントローラ管理データに含まれるバッテリ残量値は、当該コントローラ管理データに対応付けられるコントローラ16について推定された最新の値に更新される。なお上述したように、コントローラ管理データに当該コントローラ16が最初に接続された日時を示す値が含まれている場合は、当該日時からの経過時間に基づいてバッテリの残量が推定されるようにしてもよい。
振動有効化フラグは、コントローラ16が備えるバイブレータによる振動の有効化の有無を示す値である。振動有効化フラグは、本実施形態における、ユーザにより変更可能なコントローラ16の属性の値の一種である。本実施形態では例えば、バイブレータによる振動が有効化されている場合には、振動有効化フラグの値として1が設定され、有効化されていない場合には、振動有効化フラグの値として0が設定される。振動有効化フラグの値が1であるコントローラ16は、振動の強さを表す信号を情報処理装置12から受信した際に、当該信号が表す振動の強さで当該コントローラ16が備えるバイブレータを振動させる。
音量値は、スピーカSから出力される音声の音量を示す値である。音量値は、本実施形態における、ユーザにより変更可能なコントローラ16aの属性の値の一種である。本実施形態では、上述の通りコントローラ16bはスピーカSを備えていないのでコントローラ16bのコントローラ管理データには音量値は設定されない。本実施形態では、音量値は、実際にスピーカSから出力されることとなる音量の、出力される最大音量に対する割合を示すこととする。
輝度値は、発光するライトバーLの明るさ、本実施形態では輝度を示す値である。輝度値は、本実施形態における、ユーザにより変更可能なコントローラ16aの属性の値の一種である。本実施形態では、上述の通りコントローラ16bはライトバーLを備えていないのでコントローラ16bのコントローラ管理データには輝度値は設定されない。本実施形態では、輝度値は、実際にライトバーLが発光することとなる輝度の、ライトバーLの最大輝度に対する割合を示す。なお本実施形態では、ライトバーLの明るさを示す値として輝度値が用いられているが、輝度値の代わりに、光束値、光度値、照度値などが、発光するライトバーLの明るさを示す値として用いられてもよい。
そして本実施形態では、図4に例示するコントローラ管理データに基づいて、図5に例示するコントローラ管理画面30が生成される。そして当該コントローラ管理画面30は、ディスプレイ14に表示される。
図5に示すように本実施形態に係るコントローラ管理画面30には、コントローラ16の属性の値が示された属性領域32が設けられている。本実施形態に係る属性領域32は、コントローラ16に対応付けられる領域であり、図5に例示するコントローラ管理画面30には4つの属性領域32が設けられている。本実施形態では、図5に示すコントローラ管理画面30に配置されている最も左の属性領域32が、図4において最も上に示されているコントローラ管理データに対応付けられる、コントローラ16a−1の属性の値が示された属性領域32a−1であることとする。そして当該コントローラ管理画面30に配置されている左から2番目の属性領域32が、図4において上から2番目に示されているコントローラ管理データに対応付けられる、コントローラ16bの属性の値が示された属性領域32bであることとする。そして当該コントローラ管理画面30に配置されている右から2番目の属性領域32が、図4において下から2番目に示されているコントローラ管理データに対応付けられる、コントローラ16a−2の属性の値が示された属性領域32a−2であることとする。そして当該コントローラ管理画面30に配置されている最も右の属性領域32が、図4において最も下に示されているコントローラ管理データに対応付けられる、コントローラ16a−3の属性の値が示された属性領域32a−3であることとする。
属性領域32には、コントローラアイコン34、バッテリ残量アイコン36、属性情報38、設定ボタン40が配置されている。
本実施形態では、コントローラ管理データに含まれるコントローラ種別値に応じた態様のコントローラアイコン34が、当該コントローラ管理データに対応付けられる属性領域32に配置される。図5の例では、コントローラ種別値が1であるコントローラ管理データに対応付けられる属性領域32にはコントローラ16aの形状を模したコントローラアイコン34aが配置される。また図5の例では、コントローラ種別値が2であるコントローラ管理データに対応付けられる属性領域32にはコントローラ16bの形状を模したコントローラアイコン34bが配置される。このように図5の例では、コントローラアイコン34の形状によって、当該コントローラアイコン34が配置されている属性領域32に対応付けられるコントローラ16の種別をユーザは識別できることとなる。
また本実施形態では、コントローラ管理データに含まれるペアリング順序値に応じた番号が、当該コントローラ管理データに対応付けられる属性領域32内のコントローラアイコン34の右上に配置される。
また本実施形態では、コントローラ管理データに含まれる接続フラグの値に基づいてコントローラアイコン34の表示態様が決定される。図5の例では、接続フラグの値が1であるコントローラ管理データに対応付けられるコントローラアイコン34にはハッチングが付されない。ここでは例えば、属性領域32a−1に配置されたコントローラアイコン34a及び属性領域32bに配置されたコントローラアイコン34bには、ハッチングが付されない。一方図5の例では、接続フラグの値が0であるコントローラ管理データに対応付けられるコントローラアイコン34にはハッチングが付されている。ここでは例えば、属性領域32a−2に配置されたコントローラアイコン34a及び属性領域32a−3に配置されたコントローラアイコン34aには、ハッチングが付されている。
また本実施形態では、コントローラ管理データに含まれる異常動作検知フラグの値に基づいてコントローラアイコン34の表示態様が決定される。図5の例では、異常動作検知フラグの値が1であるコントローラ管理データに対応付けられるコントローラアイコン34の周りには枠線が付されている。ここでは例えば、属性領域32a−3に配置されたコントローラアイコン34aの周りには枠線が付されている。一方図5の例では、異常動作検知フラグの値が0であるコントローラ管理データに対応付けられるコントローラアイコン34の周りには枠線が付されない。ここでは例えば、属性領域32a−1に配置されたコントローラアイコン34a、属性領域32bに配置されたコントローラアイコン34b、属性領域32a−2に配置されたコントローラアイコン34a、の周りには枠線が付されない。
また本実施形態では、コントローラ管理データに含まれるバッテリ残量値に応じた態様のバッテリ残量アイコン36が、当該コントローラ管理データに対応付けられる属性領域32に配置される。図5の例では、バッテリ残量アイコン36に設けられた4つの領域のうち、右側の領域から順に、バッテリ残量値が表す数だけハッチングが付されている。また図5の例ではバッテリ残量値が設定されていないコントローラ管理データに対応付けられる属性領域32bには、1本の斜線が付されたバッテリ残量アイコン36が配置される。なお、属性領域32に、バッテリ残量値に応じた色や大きさのバッテリ残量アイコン36が配置されてもよい。
また本実施形態では、コントローラ管理データに含まれるユーザが変更可能なコントローラ16の属性のそれぞれについて、当該属性の名称と当該属性の値とが対応付けられた属性情報38が、当該コントローラ管理データに対応付けられる属性領域32に配置される。図5の例では、振動有効化フラグの値が1である場合には「振動 ON」との文字列が、0である場合には「振動 OFF」との文字列が配置される。また図5の例では、音量値及び輝度値も属性情報38として配置される。なお、音量値及び輝度値が設定されていないコントローラ管理データに対応付けられる属性領域32bには、音量値及び輝度値が属性情報38として配置されない。
そして本実施形態では、属性領域32に配置された設定ボタン40を選択する操作をユーザが行うと、当該属性領域32に示されている、当該属性領域32に対応付けられるコントローラ16の属性の値を設定するための設定画面42がディスプレイ14に表示される。
図6Aは、属性領域32a−2に配置されている設定ボタン40を選択する操作が行われた際にディスプレイ14に表示される設定画面42である設定画面42aの一例を示す図である。
図6Aに例示する、属性領域32a−2に対応付けられる設定画面42aは、コントローラ16a−2の属性の値の設定を行うための画面である。図6Aに例示する設定画面42aには、コントローラ16a−2に対応付けられるコントローラ管理データに含まれる振動有効化フラグの値を設定するためのチェックボックスCが配置されている。また当該設定画面42aには、当該コントローラ管理データに含まれる音量値を設定するためのフォームF1が配置されている。また、当該設定画面42aには、当該コントローラ管理データに含まれる輝度値を設定するためのフォームF2が配置されている。また当該設定画面42aには、保存ボタンSB、キャンセルボタンCBが配置されている。
ここでユーザが、振動有効化フラグ、音量値、及び、輝度値の設定を行った上で、保存ボタンSBを選択する操作を行ったとする。すると、コントローラ16a−2に対応付けられるコントローラ管理データに含まれる、振動有効化フラグの値、音量値、及び、輝度値が、それぞれ、設定画面42aにおいて設定された値に設定される。ここでコントローラ16a−2に対応付けられるコントローラ管理データに含まれる値と設定画面42aにおいて設定された値とが異なる場合は、コントローラ16a−2に対応付けられるコントローラ管理データに含まれる値は変更されることとなる。本実施形態では例えば、チェックボックスCがチェックされている場合は、コントローラ16a−2に対応付けられるコントローラ管理データに含まれる振動有効化フラグの値として1が設定される。またチェックボックスCがチェックされていない場合は、コントローラ16a−2に対応付けられるコントローラ管理データに含まれる振動有効化フラグの値として0が設定される。またフォームF1、フォームF2に設定された値に応じた音量値、輝度値が、それぞれ、コントローラ16a−2に対応付けられるコントローラ管理データに含まれる音量値、輝度値として設定される。
またユーザがキャンセルボタンCBを選択する操作を行うとコントローラ管理データは変更されることなく、図5に示すコントローラ管理画面30がディスプレイ14に表示される。
また図6Aに例示する設定画面42aには、3つのテストボタンTB(TB−1〜TB−3)も配置されている。ここで例えばユーザが「スピーカを鳴らす」と記載された第1のテストボタンTB−1を選択する操作を行ったとする。この場合は、情報処理装置12は、フォームF1の設定に応じた音量の音声がコントローラ16a−2から出力されるようコントローラ16a−2を制御する。また例えばユーザが「ライトバーを点滅」と記載された第2のテストボタンTB−2を選択する操作を行ったとする。この場合は、情報処理装置12は、フォームF2の設定に応じた輝度でコントローラ16a−2が備えるライトバーLが発光するよう、コントローラ16a−2を制御する。また例えばユーザが「振動のテスト」と記載された第3のテストボタンTB−3を選択する操作を行ったとする。この場合は、情報処理装置12は、チェックボックスCがチェックされている場合は、コントローラ16a−2が備えるバイブレータを振動させるよう、コントローラ16a−2を制御する。ここでは例えば情報処理装置12が上述の制御を行うための制御信号をコントローラ16a−2に送信し、当該制御信号を受信したコントローラ16a−2は受信した制御信号に応じた上述の制御を行う。
なお本実施形態では、設定画面42aに対応付けられるコントローラ16a−2が情報処理装置12と接続されていない場合でも、サブシステム部28が当該コントローラ16a−2と通信可能である場合には、上述の制御が行われる。
また本実施形態では例えば、情報処理装置12は、設定画面42aにおいてチェックボックスCがチェックされた際に、コントローラ16a−2が備えるバイブレータを振動させるよう当該コントローラ16a−2を制御してもよい。また例えば、情報処理装置12は、設定画面42aにおいてフォームF1に対する値の設定が行われた際に、コントローラ16a−2が備えるスピーカSから設定後の音量の音声が出力されるよう当該コントローラ16a−2を制御してもよい。また例えば、情報処理装置12は、設定画面42aにおいてフォームF2に対する値の設定が行われた際に、コントローラ16a−2が備えるライトバーLが設定後の明るさ(ここでは例えば輝度)で発光するよう当該コントローラ16a−2を制御してもよい。なおこれらの制御は、情報処理装置12と当該コントローラ16a−2とが接続されている場合にのみ行われるようにしてもよい。
図6Bは、属性領域32bに配置されている設定ボタン40を選択する操作が行われた際にディスプレイ14に表示される設定画面42である設定画面42bの一例を示す図である。ユーザは、図6Bに示す設定画面42bを介して、上述のようにして、コントローラ16bに対応付けられるコントローラ管理データに含まれる振動有効化フラグの値を設定することができる。またユーザは、設定画面42bに配置されているキーアサインの変更ボタンKを選択する操作を行うことで、コントローラ16bの設定ソフトウェアによる、コントローラ16bのキーアサインの変更を行うことができる。
なお本実施形態において、バイブレータを備えていないコントローラ16についても同様に管理できても構わない。このようなコントローラ16については例えば、コントローラ管理データに含まれる振動有効化フラグの値は設定されない。また図5に例示するコントローラ管理画面には振動有効化フラグの値に応じた情報が配置されない。なおこのようなコントローラ16について、コントローラ管理画面に、当該コントローラ16がバイブレータを備えていないことを表す文字列、例えば「振動 −」との文字列が、属性情報38として配置されてもよい。
またコントローラ管理データによってバイブレータの振動態様を管理することができても構わない。例えばコントローラ管理データが、振動するモータ数や振動させるモータの位置などといったバイブレータの振動態様についての属性の値を含んでいてもよい。そしてこのような属性の値は、図6Aや図6Bに例示するものと同様の設定画面42によってユーザが設定可能であっても構わない。そしてこのようにして設定された振動するモータ数や振動させるモータの位置などといったバイブレータの振動態様についての属性の値は属性情報38としてコントローラ管理画面に配置されても構わない。
また本実施形態では、ユーザが情報処理装置12の電源ボタンPを押下すると、情報処理装置12に電源が投入されて、情報処理装置12は起動する。そして本実施形態では、情報処理装置12が、コントローラ管理データに基づいて、バッテリ残量値が最も大きなコントローラ16を特定する。そして情報処理装置12は、特定されたコントローラ16に所定の通知制御を行うことで、特定されたコントローラ16をユーザに通知する。ここで以下、所定の通知制御とは、本実施形態では例えばコントローラ16が備えるスピーカSからの音声の出力、コントローラ16が備えるライトバーLの発光や点滅、コントローラ16が備えるバイブレータの振動、のうちの少なくとも1つを指すこととする。本実施形態では例えば、所定の通知制御を行う情報処理装置12は、所定の通知制御を行うための制御信号をコントローラ16に送信する。すると当該制御信号を受信したコントローラ16が、例えばスピーカSからの音声の出力、ライトバーLの発光や点滅、バイブレータの振動などといった、当該制御信号に応じた動作を行う。ここで例えばバッテリ残量値に応じた音量の音声がスピーカSから出力されるようにしてもよい。また例えばバッテリ残量値に応じた輝度や色でライトバーLが発光するようにしてもよい。
また、情報処理装置12は、情報処理装置12に関連付けられているアカウント経由で、ユーザが使用するスマートフォンや携帯ゲーム装置に特定されたコントローラ16の通知を行ってもよい。例えば、特定されたコントローラ16のコントローラIDなどといった、当該コントローラ16を識別する情報が含まれる電子メールが、ユーザのメールアドレス宛に送信されるようにすることで、上述の通知が行われるようにしてもよい。また例えば、ユーザが所有するスマートフォンに上述の通知を受信可能なアプリケーションがインストールされていてもよい。そして、当該アプリケーションの接続先であるネットワークサービス経由で、特定されたコントローラ16のコントローラIDなどといった、当該コントローラ16を識別する情報がユーザに通知されるようにすることで、上述の通知が行われるようにしてもよい。
以上のようにして、本実施形態によれば、ユーザはバッテリの残量が多いコントローラ16を認識することができることとなる。
なお、以上のようにして特定されたコントローラ16又は当該コントローラ16以外のコントローラ16に対する、ボタンB2の押下等の操作入力が発生した際に、上述の通知が停止するようにしてもよい。
また本実施形態では、ユーザが情報処理装置12の電源ボタンPに対して、例えば、短い間隔で3回押下する操作や、電源起動後に3秒程度長押しするなどといった所定の操作を行った場合は、図7に例示する捜索画面44がディスプレイ14に表示される。図7に例示する捜索画面44には、コントローラ16a−1、コントローラ16a−2、コントローラ16a−3のそれぞれに対応付けられるコントローラアイコン34aが配置されている。そして、情報処理装置12は、コントローラ16a−1、コントローラ16a−2、コントローラ16a−3の順に、例えば、5〜10秒おきに、上述の所定の通知制御を繰り返し行う。ここで例えばコントローラ16a−2が備えるライトバーLの点滅が行われる場合には、図7に示すように、ライトバーLが点滅しているコントローラ16a−2に対応付けられるコントローラアイコン34の右側に、「点滅中」との文字列が配置される。そしてユーザによる、コントローラ16に対するボタンB2の押下等の操作入力が行われると、コントローラ16に対応付けられるコントローラアイコン34の右側に、「発見済み」との文字列が配置される。そしてこの場合は当該コントローラ16については当該所定の制御の対象から除外される。なおボタンB2の押下等の操作入力が行われていないコントローラ16に対応付けられるコントローラアイコン34の右側には、「未発見」との文字列が配置される。そして所定の回数ずつ当該通知制御が行われたら、情報処理装置12は、当該通知制御を終了する。
以上のようにして本実施形態によれば、ユーザは、コントローラ16の所在がわからなくなった場合に当該コントローラ16を発見できる。また本実施形態によれば、ユーザが、操作しようとしているコントローラ16のコントローラIDや設定されている属性の値がわからなくなった場合に、当該コントローラ16のコントローラIDや設定されている属性の値を知ることができる。
図8は、ログアウト、ログインユーザの切替、スタンバイ状態への移行、電源の切断などを行うための電源管理画面46の一例を示す図である。そして本実施形態では、図8に示すように、電源管理画面46に、対応するコントローラ管理データに含まれるバッテリ残量値が所定値以下、ここでは例えば1以下であるコントローラ16a−3の充電を促す情報が配置される。図8に示すように、当該情報には、コントローラ16a−3のコントローラアイコン34a及びバッテリ残量アイコン36が含まれている。ここで情報処理装置12は、情報処理装置12が備えるUSBポートに空きがあるか否かを確認し、空きがある場合に、図8に示すように充電のためにUSBポートが使用可能である旨を電源管理画面46に配置してもよい。またここでコントローラ16a−3と情報処理装置12とがUSBケーブルにより接続された場合に、当該接続に応じて情報処理装置12がスタンバイ状態に移行するようにしてもよい。そしてコントローラ16a−3の充電が開始されてもよい。なおコントローラ16a−3以外のコントローラ16と情報処理装置12とがUSBケーブルにより接続された場合でも、当該接続に応じて情報処理装置12がスタンバイ状態に移行するようにしてもよい。また、電源管理画面46が表示されている際にユーザが所定の操作を行った際に、情報処理装置12が、バッテリ残量値が所定値以下、例えば1以下であるコントローラ16に、上述の所定の通知制御を行ってもよい。このようにすれば、複数のコントローラ16のうちからバッテリの残量が少ないコントローラ16として特定されるコントローラ16の充電をユーザに促すことができる。
また本実施形態では、上述のようにコントローラ16が備えるバッテリの残量の確認、及び、バッテリ残量値の更新は、情報処理装置12がスタンバイ状態であっても間欠的に行われる。例えば、コントローラ16が備えるバッテリの残量の確認が所定時間間隔で定期的に行われてもよい。そして本実施形態では、バッテリ残量値が所定値以下、例えば1以下になったことが確認された場合に、情報処理装置12は、その旨をユーザに通知する。ここで例えば、情報処理装置12は、コントローラ管理データに含まれるバッテリ残量値が所定値以下、例えば1以下になった場合に、当該コントローラ管理データに対応付けられるコントローラ16に上述の所定の通知制御を行ってもよい。あるいはこの場合に、情報処理装置12が、例えば、その旨の通知を、上述したようにして情報処理装置12に関連付けられているアカウント経由で、ユーザが使用するスマートフォンや携帯型ゲーム装置に行ってもよい。
以上のようにすれば、コントローラ16のバッテリの残量が少なくなった際に、そのことがユーザに通知されることとなる。
以上のようにして、本実施形態では、コントローラ管理データによって、複数のコントローラ16のそれぞれについて、当該コントローラに関連付けられている属性の値が個別に管理されることとなる。そして本実施形態によれば、コントローラ管理データに設定されている属性の値に基づいて、当該属性の値に関連付けられているコントローラ16に関する処理が実行される。
なお、図5に例示するコントローラ管理画面30や図6A及び図6Bに例示する設定画面が表示されている際に、ユーザが所定の操作を行うことで、ユーザにより指定されたコントローラ16が管理の対象から外れるようにしてもよい。ここで例えば情報処理装置12に記憶されている当該コントローラ16に対応するコントローラ管理データが削除されてもよい。そして管理の対象から外れたコントローラ16の属性の値がコントローラ管理画面30に表示されないようにしてもよい。こうすれば、例えば故障したコントローラ16や使用されなくなったコントローラ16を管理の対象から外せることとなる。
また図8に示す電源管理画面46が表示されている際に、ユーザが所定のボタンの押下などといった所定の操作を行うことで、充電を促す情報が配置されているコントローラ16の捜索、すなわち充電が必要なコントローラ16の捜索が可能であっても構わない。そして当該操作によって、例えば対応するコントローラ管理データに含まれるバッテリ残量値が所定値以下であるコントローラ16が特定されても構わない。そして情報処理装置12が、特定されたコントローラ16に対して上述の所定の通知制御を行うようにしてもよい。
また本実施形態の適用範囲はコントローラ16に限定されない。例えば本実施形態は、ヘッドセットやキーボードなどといった一般的な周辺機器に応用されてもよい。
以下、本実施形態に係る情報処理装置12で実装される機能についてさらに説明する。
図9は、本実施形態に係る情報処理装置12で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係る情報処理装置12で、図9に示す機能のすべてが実装される必要はなく、また、図9に示す機能以外の機能が実装されていても構わない。
図9に示すように、本実施形態に係る情報処理装置12は、機能的には例えば、周辺機器管理データ記憶部50、周辺機器管理データ設定部52、周辺機器管理データ取得部54、処理実行部56、を含んでいる。周辺機器管理データ記憶部50は、記憶部22を主として実装される。周辺機器管理データ設定部52、周辺機器管理データ取得部54は、制御部20及びサブシステム部28を主として実装される。処理実行部56は、制御部20、通信部24、入出力部26、サブシステム部28を主として実装される。
以上の機能は、コンピュータである情報処理装置12にインストールされた、以上の機能に対応する指令を含むプログラムを制御部20で実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置12に供給される。
周辺機器管理データ記憶部50は、本実施形態では、情報処理装置12に登録された周辺機器の属性の値を管理するための周辺機器管理データを記憶する。周辺機器管理データ記憶部50は、例えば図4に例示するコントローラ管理データを記憶する。コントローラ管理データは、周辺機器管理データの一例である。
周辺機器管理データ設定部52は、本実施形態では、周辺機器管理データ記憶部50に記憶されている周辺機器管理データに含まれる属性の値を設定する。周辺機器管理データ設定部52は、例えば図4に例示するコントローラ管理データに含まれる属性の値を設定する。周辺機器管理データ設定部52は、本実施形態では例えば、設定画面42に対するユーザの操作入力に応じて、コントローラ管理データに含まれる、ユーザが変更可能な属性の値である、属性振動有効化フラグ、音量値、輝度値の設定を行う。また周辺機器管理データ設定部52は、例えば、コントローラ16が備えるバッテリの残量の確認を間欠的に実行し、当該確認結果に応じたバッテリ残量値の設定を行う。
周辺機器管理データ取得部54は、本実施形態では、複数の周辺機器のそれぞれについて個別に管理される、当該周辺機器に関連付けられている属性の値を取得する。周辺機器管理データ取得部54は、例えば、複数のコントローラ16のそれぞれについて個別に管理される、当該コントローラ16に関連付けられている属性の値を取得する。周辺機器管理データ取得部54は、本実施形態では例えば、図4に例示するコントローラ管理データを取得する。
処理実行部56は、本実施形態では、周辺機器管理データ取得部54が取得する属性の値に基づいて、当該属性の値に関連付けられているコントローラ16等の周辺機器に関する処理を実行する。処理実行部56は、本実施形態では例えば、上述のように、周辺機器管理データ取得部54が取得する属性の値に基づいて、当該属性の値に関連付けられているコントローラ16を制御する。処理実行部56は、具体的には例えば、上述の所定の通知制御を行う。また処理実行部56は、上述のように、情報処理装置12に関連付けられているアカウント経由で、ユーザが使用するスマートフォンや携帯型ゲーム装置に、周辺機器管理データ取得部54が取得する属性の値に基づく通知を行ってもよい。また本実施形態では、処理実行部56は、上述のように、コントローラ16のバッテリの残量を示す値に基づいて当該コントローラのバッテリの残量が所定の残量よりも少ないことが特定される場合にその旨を通知する。
また処理実行部56は、本実施形態では、周辺機器管理データ取得部54が取得するコントローラ管理データ等の周辺機器管理データに基づいて、各種画面を表す情報を生成する。処理実行部56は、例えば複数の周辺機器について取得する属性の値に応じた情報を表示させる。ここで処理実行部56は、情報処理装置12に接続されている周辺機器及び情報処理装置12に接続されていない周辺機器の両方について、取得する属性の値に応じた情報を表示させてもよい。ここでは例えば図5に示すコントローラ管理画面30、図6Aに示す設定画面42a、図6Bに示す設定画面42b、図7に示す捜索画面44、図8に示す電源管理画面46などを表す情報が生成される。そして処理実行部56は、生成された情報をディスプレイ14に送信する。当該情報を受信したディスプレイ14は、当該情報が表す画面を表示させる。
なお、本発明は上述の実施形態に限定されるものではない。
例えば、周辺機器に限らず、情報処理装置12で、携帯型ゲーム装置、スマートフォン、などの装置のバッテリの残量が管理されてもよい。そして、当該装置のバッテリの残量が少なくなったことが確認された場合に、情報処理装置12が、上述のようにして、当該装置の充電を促すようにしてもよい。例えば、当該装置のバッテリの残量が少なくなったことがディスプレイ14に表示されるようにしてもよい。また例えば、情報処理装置12が、情報処理装置12に関連付けられているアカウント経由で、ユーザが使用するスマートフォンや携帯型ゲーム装置に当該装置の充電を促す通知を行ってもよい。
また情報処理装置12が複数の筐体から構成されていてもよい。
また、上記の具体的な文字列や図面中の具体的な文字列は例示であり、これらの文字列には限定されない。