以下、本発明の一実施形態について図面に基づき詳細に説明する。
図1Aは、本発明の一実施形態に係る情報処理装置10の外観を示す正面図である。図1Bは、本発明の一実施形態に係る情報処理装置10の外観を示す背面図である。図2は、図1A及び図1Bに示す情報処理装置10のハードウェア構成の一例を示す構成図である。本実施形態に係る情報処理装置10は、例えば携帯型ゲーム機等の可搬型のデバイスであるものとする。
本実施形態に係る情報処理装置10の筐体12は、全体として平板状の形状をしている。以下では、筐体12の横方向(幅方向)をX軸方向、縦方向(高さ方向)をY軸方向とし、厚さ方向(奥行き方向)をZ軸方向とする。また、本実施形態では、筐体12の前面から見て左から右へ向かう方向がX軸正方向、筐体12の前面から見て下から上へ向かう方向がY軸正方向、筐体12の背面から前面へ向かう方向がZ軸正方向となっている。図1A、図1B及び図2に示すように、本実施形態に係る情報処理装置10は、制御部20、記憶部22、通信部24、画像処理部26、表示部28、タッチセンサ30(本実施形態では、前面タッチセンサ30a、及び、背面タッチセンサ30b)、操作キー32、などを含んで構成される。これらの要素は、バスを介して接続される。
制御部20は、例えばCPU等であって、記憶部22に格納されているプログラムに従って、各種の情報処理を実行する。記憶部22は、例えばRAMやROM等のメモリ素子などであって、制御部20によって実行されるプログラムや各種のデータを格納する。また、記憶部22は、制御部20のワークメモリとしても機能する。通信部24は、例えば、ネットワークインタフェースなど(具体的には、例えば、無線LANモジュール)であり、制御部20から入力される指示に従って、他の情報処理装置10や、インターネット上のサーバ(図示せず)などへ情報を送信する。また、通信部24は、受信される情報を制御部20に出力する。
画像処理部26は、例えばGPUとフレームバッファメモリとを含んで構成され、制御部20が出力する指示に従って、表示部28に表示する画像を描画する。具体例として、画像処理部26は表示部28の表示領域に対応したフレームバッファメモリを備え、GPUは、制御部20からの指示に従って、所定時間おきにこのフレームバッファメモリに対して画像を書き込む。そして、このフレームバッファメモリに書き込まれた画像が、所定のタイミングでビデオ信号に変換されて、表示部28に表示される。
本実施形態に係る表示部28は、例えば、液晶表示パネルや有機EL表示パネル等、各種の画像表示デバイスである。本実施形態に係るタッチセンサ30は、所定の時間間隔で、検出面上における物体(例えば、指等)の接触を順次検出するセンサである。本実施形態に係る情報処理装置10は、2つのタッチセンサ30(前面タッチセンサ30a、及び、背面タッチセンサ30b)を備えている。
本実施形態に係る情報処理装置10の筐体12の前面には、表示部28と前面タッチセンサ30aとが一体となったタッチパネル34が設けられている。また、本実施形態に係るタッチパネル34は、略矩形の形状をしている。前面タッチセンサ30aは、表示部28に重ねて配置されており、表示部28の表示面に対応する形状及び大きさの略矩形の検出面を備えている。そして、本実施形態では、前面タッチセンサ30aは、物体の接触を検出した場合は、その物体の接触位置を検出位置として検出する。なお、前面タッチセンサ30aは、必ずしも物体が検出面に接触した場合だけ物体の位置を検出するのではなく、検出面上の検出可能範囲内まで物体が近接した場合に、当該物体の検出面に対する位置を検出してもよい。また、本実施形態に係る前面タッチセンサ30aは、物体の検出面に接触している部分の面積(接触面積)を検出可能なセンサである。
背面タッチセンサ30bは、筐体12の背面側に、前面タッチセンサ30aと対向するように配置されている。また、本実施形態では、背面タッチセンサ30bは、筐体12の正面から見て、背面タッチセンサ30bの左半分が前面タッチセンサ30aの左半分に対向し、背面タッチセンサ30bの右半分が前面タッチセンサ30aの右半分に対向するように配置されている。本実施形態に係る背面タッチセンサ30bは、X軸方向の長さが前面タッチセンサ30aと略同じであり、Y軸方向の長さが前面タッチセンサ30aよりも短い、略矩形の検出面を備えており、前面タッチセンサ30aと同様に、所定の時間間隔で、検出面上における物体の位置を検出する。すなわち、表示部28の表示面、前面タッチセンサ30aの検出面、及び、背面タッチセンサ30bの検出面は、それぞれ筐体12のXY平面と平行な向きに配置され、筐体12の厚さ方向(Z軸方向)に沿って直線状に並んでいる。また、本実施形態に係る背面タッチセンサ30bは、前面タッチセンサ30aと同様、物体の検出面に接触している部分の面積(接触面積)を検出可能なセンサである。
本実施形態に係る前面タッチセンサ30aや背面タッチセンサ30bは、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。なお、本実施形態では、前面タッチセンサ30aも背面タッチセンサ30bも、複数箇所(例えば、最大8箇所)での物体の接触を検知可能な多点検知型タッチセンサであることとする。また、本実施形態に係る前面タッチセンサ30aや背面タッチセンサ30bは、物体が検出面を押圧する強さ(圧力)を検出可能なセンサであってもよい。
本実施形態では、表示部28内における情報の表示位置、前面タッチセンサ30a内における物体の検出位置、背面タッチセンサ30b内における物体の検出位置を、同一の座標系におけるX座標値とY座標値との組合せで表現することとする。すなわち、前面タッチセンサ30a内の位置と、当該位置に重なる表示部28内の位置とは、X座標値とY座標値の組合せが同一となる。また、背面タッチセンサ30b内の位置と、当該位置をZ軸方向に沿って表示部28の表示面に投影した位置とは、X座標値とY座標値の組合せが同一となる。このように、本実施形態では、前面タッチセンサ30aでの位置、背面タッチセンサ30bでの位置、表示部28での位置、が対応付けられている。
なお、以下の説明では、ユーザは自分の指等を前面タッチセンサ30aや背面タッチセンサ30bに接触させて操作入力を行うこととするが、これに限らず、ユーザはスタイラスなど手で持った物体を検出面に触れさせることで操作入力を行うようにしてもよい。
操作キー32は、例えば、タッチセンサ30とは異なる、ユーザが情報処理装置10に対して行う操作入力に用いる操作部の一種である。図1A及び図1Bには、操作キー32を構成する操作部材の一例として、方向キー36(本実施形態では、例えば、上方向キー36U、下方向キー36D、左方向キー36L、右方向キー36R、)、前面ボタン38(本実施形態では、例えば、上ボタン38U、下ボタン38D、左ボタン38L、右ボタン38R、コマンドボタン38C、スタートボタン38ST、セレクトボタン38SE)、上側面ボタン40(Lボタン40L、並びに、Rボタン40R)、及び、アナログスティック42(本実施形態では、例えば、左アナログスティック42L、並びに、右アナログスティック42R)が図示されている。
アナログスティック42は、例えば、所定の基準位置からの傾倒操作が可能である。そして、本実施形態に係る情報処理装置10では、左アナログスティック42L及び右アナログスティック42Rの現在の傾き状態(姿勢)を把握できるようになっている。
本実施形態に係る情報処理装置10の筐体12の前面に配置されているタッチパネル34の左上には、上方向キー36U、下方向キー36D、右方向キー36R、及び、左方向キー36Lが配置されている。そして、これら4つの方向キー36の右下には、左アナログスティック42Lが配置されている。そして、左アナログスティック42Lの左下には、コマンドボタン38Cが配置されている。タッチパネル34の右上側には、上ボタン38U、下ボタン38D、左ボタン38L、及び、右ボタン38Rが配置されている。これら4つの前面ボタン38の左下には、右アナログスティック42Rが配置されている。そして、右アナログスティック42Rの右下には、セレクトボタン38SE及びスタートボタン38STが左から並んで配置されている。
そして、本実施形態に係る情報処理装置10の筐体12の上側面には、左側にLボタン40Lが配置されており、右側にRボタン40Rが配置されている。また、本実施形態に係る情報処理装置10の筐体12の背面に配置されている背面タッチセンサ30bの左右には、ユーザがしっかりと情報処理装置10を手で握ることができるようにするためのグリップ44が形成されている。
なお、本実施形態に係る情報処理装置10が、上述の部材の他に、例えば、各種のメモリカード等の情報記憶媒体を挿抜可能なスロット、スピーカ、出力される音量を調整するための音量調整ボタン、情報処理装置10への電源の投入の開始又は終了を指示するための電源ボタン、USBポート、加速度センサ、などを備えていてもよい。また、上述のスロットが、制御部20からの指示に従って、スロットに挿入されるメモリカード等の情報記憶媒体に記録されたプログラムやデータなどの読み取りや、挿入されるメモリカード等の情報記憶媒体へのデータの書き込みを行ってもよい。また、スロット、音量調整ボタン、電源ボタンは、例えば、情報処理装置10の筐体12の上側面に配置されていてもよい。
図3は、本実施形態に係る情報処理装置10で実現される機能の一例を示す機能ブロック図である。図3に示すように、本実施形態に係る情報処理装置10は、機能的には、例えば、検出結果受付部50、操作入力受付部52、処理実行部54、優先制御部56、などを含んでいる。これら各部は、コンピュータである情報処理装置10で、本実施形態に係るプログラムが実行されることにより実現される。このプログラムには、例えば、図3に示されている各部となるようコンピュータを制御する命令が含まれている。また、このプログラムは、コンピュータ通信ネットワーク経由で通信インタフェースを介して他のコンピュータからダウンロードされて、情報処理装置10に提供されてもよいし、光ディスク(例えば、CD−ROM、DVD−ROM、Blu−rayディスクなど)、USBメモリ、メモリカード等のコンピュータ読み取り可能な情報記憶媒体に格納され、そこから情報処理装置10に提供されるようにしてもよい。
本実施形態では、前面タッチセンサ30a及び背面タッチセンサ30bが、所定の時間間隔で、検出面上における物体の接触を順次検出するとともに、物体の接触位置に対応する検出結果(検出位置)を検出結果受付部50に出力する。本実施形態では、例えば、前面タッチセンサ30a及び背面タッチセンサ30bのそれぞれが、X座標値とY座標値との組合せで表現される、前面タッチセンサ30a又は背面タッチセンサ30bでの検出位置の座標(以下、検出位置座標と呼ぶ。)、及び、前面タッチセンサ30aがタッチされたか背面タッチセンサ30bがタッチされたかを示すタッチフラグが含まれる検出位置データを、検出結果受付部50に出力する。そして、検出結果受付部50は、当該検出位置データを受け付ける。このようにして、本実施形態では、検出結果受付部50は、タッチセンサ30に対する操作入力を受け付けることとなる。なお、本実施形態では、検出面上における物体の接触を検出するタイミングに、前面タッチセンサ30aにおいて、検出面上における物体の接触が検出されなかった場合は、前面タッチセンサ30aは、検出位置座標の値がNullである検出位置データを検出結果受付部50に出力する。また、背面タッチセンサ30bにおいて、検出面上における物体の接触が検出されなかった場合は、背面タッチセンサ30bは、検出位置座標の値がNullである検出位置データを検出結果受付部50に出力する。
検出結果受付部50は、検出位置データを受け付けると、情報処理装置10が備える記憶部22に、検出位置データを、受付日時に関連付けた上で、検出履歴データとして記憶させる。
本実施形態では、アナログスティック42以外の操作キー32は、それぞれ、自らの識別情報に関連付けられた、押下されているか否かを示すディジタル値(本実施形態では、例えば、押下されている場合は1、押下されていない場合は0)を示す押下データを、所定時間間隔で、操作入力受付部52に出力する。
また、左アナログスティック42L及び右アナログスティック42Rは、自らの識別情報に関連付けられた、基準位置からの、X軸方向及びY軸方向の傾きを示す姿勢データ(X,Y)(ここで、X及びYのそれぞれは、0以上255以下のいずれかの整数)を、所定時間間隔で、操作入力受付部52に出力する。具体的には、例えば、X=127やX=128付近は、アナログスティック42がX軸方向に傾いていないことを示す。また、X=255は、アナログスティック42がX軸の正方向に限界まで倒れていることを示す。さらに、X=0は、アナログスティック42がX軸の負方向に限界まで倒れていることを示す。また、例えば、Y=127やY=128付近は、アナログスティック42がY軸方向に傾いていないことを示す。また、Y=255は、アナログスティック42がY軸の正方向に最大限倒れていることを示す。さらに、Y=0は、アナログスティック42がY軸の負方向に最大限倒れていることを示す。
そして、操作入力受付部52は、本実施形態では、例えば、所定時間間隔で、アナログスティック42以外の操作キー32のそれぞれについての、当該操作キー32の識別情報に関連付けられた押下データ、及び、左アナログスティック42L及び右アナログスティック42Rについての、アナログスティック42の識別情報に関連付けられた姿勢データを受け付ける。
操作入力受付部52は、押下データ、又は、姿勢データを受け付けると、情報処理装置10が備える記憶部22に、当該データを、受付日時に関連付けた上で、入力履歴データとして記憶させる。
処理実行部54は、例えば、スロットに挿入された情報記憶媒体に記憶されているプログラムや、情報処理装置10に予めインストールされているプログラムを実行して、例えば、受け付けた操作信号に応じた画像を生成して、タッチパネル34に表示させる処理、などを実行する。また、本実施形態では、処理実行部54は、検出結果受付部50が受け付けた検出位置データに応じた処理や、操作入力受付部52が受け付けた操作信号に応じた処理を実行する。
図4は、本実施形態に係る情報処理装置10のタッチパネル34に表示される、情報処理装置10に関する設定を行うためのシステム設定メニュー画像60の一例を示す図である。システム設定メニュー画像60の中央には、それぞれが対応する設定項目を表す複数の設定項目画像62が縦一列に並んで配置されている。本実施形態では、複数の設定項目画像62の全体が占める領域は、所定のスクロール方向(本実施形態では、例えば、Y軸方向)に沿って延びる矩形の領域であって、Y軸方向に延びる辺は、表示部28の画面の縦方向の長さよりも長いものとする。そして、本実施形態に係る情報処理装置10は、複数の設定項目画像62の全体を一度に表示部28に表示させることはできず、当該複数の設定項目画像62の全体が占める領域の一部だけを表示部28に表示させることとなる。本実施形態では、複数の設定項目画像62の一部又は全部がタッチパネル34に表示される。また、システム設定メニュー画像60の左下端には、別の画像(例えば、システム設定メニュー画像60が表示される前にタッチパネル34に表示されていた画像)への遷移を指示するためのバックアイコン64が配置されている。
処理実行部54は、例えば、システム設定メニュー画像60等の各種の画像をタッチパネル34に表示させる処理を実行する。図4に例示するシステム設定メニュー画像60に配置されている、「キー操作補助を有効にする」との文字列が記載された設定項目画像62の右端には、チェックボックス66が配置されている。この設定項目画像62は、予め定められた1又は複数の操作(以下、特定操作と呼ぶ。)を、操作キー32で操作することができるようにするか否か設定を行うための設定項目画像62である。本実施形態に係る情報処理装置10では、操作入力をタッチパネル34によって行うことが前提となっており、図4に示されているチェックボックス66がチェックされた状態にならないと、特定操作を操作キー32で操作することができないようになっている。
チェックボックス66に対してユーザがタップ操作(指等で叩く操作)を行う度に、処理実行部54は、本実施形態に係る情報処理装置10の記憶部に予め記憶されている、操作キー32で特定操作を行えるようにするか否かを示す操作可否データの値を1から0、又は、0から1に変更する。なお、本実施形態では、操作可否データのデフォルト値は0である。そのため、本実施形態に係る情報処理装置10では、初期状態では、特定操作を操作キー32で操作することができない。そして、処理実行部54は、タッチパネル34に表示されているシステム設定メニュー画像60を更新する。
処理実行部54は、本実施形態では、例えば、操作可否データの値が1である場合に、チェックボックス66がチェックされている状態となっているシステム設定メニュー画像60をタッチパネル34に表示させ、操作可否データの値が0である場合に、チェックボックス66がチェックされていない状態となっているシステム設定メニュー画像60をタッチパネル34に表示させる。そのため、操作可否データの値の変更に応じて、システム設定メニュー画像60に配置されているチェックボックス66は、チェックされている状態と、チェックされていない状態と、が切り替わることとなる。
なお、本実施形態では、タッチセンサ30が物体の接触を検出して(すなわち、検出結果受付部50が、指等によりタップされた位置(以下、タップ位置と呼ぶ。)を示す検出位置データを受け付けて)、その後、タッチセンサ30が物体の接触を検出しなくなった(すなわち、検出結果受付部50が、前面タッチセンサ30aからも背面タッチセンサ30bからも検出位置座標の値がNullである検出位置データを受け付けた)際に、処理実行部54は、上述のタップ位置を示す検出位置データに応じた処理(例えば、操作可否データの値を1から0に更新して、チェックボックス66がチェックされている状態からチェックされていない状態に変更されるようタッチパネル34に表示されているシステム設定メニュー画像60を更新する処理や、操作可否データの値を0から1に更新して、チェックボックス66がチェックされていない状態からチェックされている状態に変更されるようタッチパネル34に表示されているシステム設定メニュー画像60を更新する処理、など)を実行することとする。
本実施形態では、例えば、操作可否データに設定されている値が1である場合は、処理実行部54は、操作キー32による特定操作の操作入力の受付に応じて、当該操作入力に応じた処理を実行する。また、本実施形態では、例えば、操作可否データに設定されている値が0である場合は、処理実行部54は、操作キー32による特定操作の操作入力を受け付けても、当該操作入力に応じた処理を実行しない。
本実施形態では、例えば、予め、タッチセンサ30の操作入力を優先させるか、操作キー32の操作入力を優先させるか、についての設定を示す優先設定データが、情報処理装置10の記憶部に記憶されている。そして、本実施形態では、例えば、処理実行部54は、優先設定データの値が1である場合は、タッチセンサ30の操作入力を優先させ、優先設定データの値が0である場合は、操作キー32の操作入力を優先させる。そして、優先制御部56は、タッチセンサ30の操作入力を優先させるか、操作キー32の操作入力を優先させるか、についての制御を行う。
ここで、上述の操作可否データの値が1である場合における、本実施形態に係る情報処理装置10で行われる処理の一例について、図5に示す状態遷移図を参照しながら説明する。なお、以下に説明する処理の実行開始時における優先設定データの値は、1であっても0であっても構わない。
例えば、優先設定データの値が1である場合は、情報処理装置10は、検出結果受付部50による検出位置データの受付、及び、処理実行部54による当該検出位置データに応じた処理の実行、の順に、これら2つの処理を、所定時間間隔で繰り返し実行する(図5における状態S1)。
そして、これら2つの処理の繰り返し実行と並行して、優先制御部56は、例えば、所定時間間隔で、操作入力受付部52が受け付けた最新の操作信号(本実施形態では、例えば、アナログスティック42以外の操作キー32それぞれについて受け付ける押下データと、アナログスティック42それぞれから受け付ける姿勢データ)に基づいて、いずれかの操作キー32において有効な操作が行われたか否かを判定する。
ここで、優先制御部56は、具体的には、例えば、操作入力受付部52が受け付けた押下データの値が1であるアナログスティック42以外の操作キー32、又は、操作入力受付部52が受け付けた姿勢データ(X,Y)が表す座標値と、基準となる座標値(例えば、(127,127)や(128,128))との間の距離が所定の閾値を超えているアナログスティック42が存在する場合は、いずれかの操作キー32に有効な操作が行われたと判定する。
そして、いずれかの操作キー32に有効な操作が行われたと判定された場合に、優先制御部56は、処理実行部54に、操作キー32の操作入力を優先させる旨の通知を出力する。そして、処理実行部54が当該通知を優先制御部56から受け付けると、優先設定データの値を1から0に変更する。そして、処理実行部54は、検出結果受付部50が受け付けた検出位置データに応じた処理を中止する。そして、処理実行部54は、操作入力受付部52が受け付けた操作信号(例えば、押下データや姿勢データ)に応じた処理の実行を開始する(図5における矢印A1)。
例えば、優先設定データの値が0である場合は、情報処理装置10は、操作入力受付部52による操作信号の受付、及び、処理実行部54による当該操作信号に応じた処理の実行、の順に、これら2つの処理を所定時間間隔で繰り返し実行する(図5における状態S2)。
そして、これら2つの処理の繰り返し実行と並行して、優先制御部56は、例えば、所定時間間隔で、検出結果受付部50が受け付けた最新の検出位置データに基づいて、いずれかのタッチセンサ30において有効な接触操作が行われた否かを判定する。
ここで、優先制御部56は、具体的には、例えば、検出結果受付部50が、値が「Null」でない検出位置データを受け付けた場合は、いずれかのタッチセンサ30において有効な接触操作が行われたと判定する。
そして、いずれかのいずれかのタッチセンサ30において有効な接触操作が行われたと判定された際に、優先制御部56は、処理実行部54に、タッチセンサ30の操作入力を優先させる旨の通知を出力する。そして、処理実行部54が当該通知を優先制御部56から受け付けると、優先設定データの値を1に変更する。そして、処理実行部54は、操作入力受付部52が受け付けた操作信号に応じた処理を中止する。そして、処理実行部54は、検出結果受付部50が受け付けた検出位置データに応じた処理の実行を開始する(図5における矢印A2)。
このようにして、本実施形態では、操作可否データの値が1である場合は、処理実行部54が、優先設定データの値に応じて、検出結果受付部50が受け付けた検出結果に応じた処理、又は、操作入力受付部52が受け付けた操作信号に応じた処理、のいずれかを選択的に実行する。このように、本実施形態では、処理実行部54が、タッチセンサ30又は操作キー32の一方の操作入力に応じた処理の一方を実行している間は、他方の操作入力に応じた処理の実行を制限する。
本実施形態では、操作可否データの値が0である場合は、情報処理装置10は、操作入力受付部52が受け付ける操作信号を無視し、検出結果受付部50による検出位置データの受付、及び、処理実行部54による当該検出位置データに応じた処理の実行、の順に、これら2つの処理を、所定時間間隔で繰り返し実行する。
ここで、本実施形態に係る情報処理装置10において実行される処理の一具体例について説明する。なお、ここでは、操作可否データの値は1に設定されていることとする。
例えば、図4に例示するシステム設定メニュー画像60がタッチパネル34に表示されている際に、いずれかの方向キー36が押下されると、図6に例示するように、処理実行部54は、いずれかの設定項目画像62を囲む強調画像68が表示されるようシステム設定メニュー画像60を更新する。そして、その後、下方向キー36Dが押下されている状態が継続する(すなわち、下方向キー36Dが長押しされる)、又は、下方向キー36Dが連続した複数回押下されると、処理実行部54は、強調画像68により囲まれる設定項目画像62が、時間の経過とともに、下方向に配置されている次の設定項目画像62に順次変更されるよう、タッチパネル34に表示されているシステム設定メニュー画像60を逐次更新していく。なお、本実施形態では、強調画像68を表示させることによって、いずれかの設定項目画像62を強調しているが、他の方法によって、設定項目画像62を強調表示させるようにしてもよい。例えば、強調表示の対象となる設定項目画像62を他の設定項目画像62よりも大きく表示させるようにしたり、強調表示の対象となる設定項目画像62を指す矢印画像を表示させるようにしたり、強調表示の対象となる設定項目画像62を他の設定項目画像とは異なる色や明度で表示させるようにしたりしてもよい。
なお、このとき、処理実行部54が、例えば、強調画像68で囲まれる設定項目画像62がタッチパネル34に表示されていない際には、複数の設定項目画像62の全体が占める領域を上方向に移動(スクロール)させるようにしてもよい。ここで、タッチパネル34に対してタップ操作が行われると、処理実行部54は、強調画像68により囲まれる設定項目画像62の変更、及び、複数の設定項目画像62の全体が占める領域のスクロールを中止して、タップされている位置に配置されている設定項目画像62に応じた処理を実行する。例えば、「エラー履歴」との文字列が記載されている設定項目画像62に対してタップ操作が行われた場合には、処理実行部54は、情報処理装置10で発生したエラーの一覧が表示されるよう、タッチパネル34に表示される画像を更新する。
このようにして、本実施形態では、操作キー32に対する操作に応じた処理よりも、タッチパネル34に対する操作に応じた処理を優先させることで、操作キー32に対する操作に応じた処理を、タッチパネル34に対する操作によって中止させることができる。
また、図4に例示するシステム設定メニュー画像60において、タッチパネル34のタップ位置に指等が接触しているが、当該指等がタッチパネル34からまだ離れていない状態で(すなわち、処理実行部54は、タッチ操作に応じた処理を実行していない状態で)、例えば、方向キー36等の操作キー32の操作信号を情報処理装置10が受け付けると、その後、指等がタッチパネル34から離れても、処理実行部54は、タップ位置に配置されている設定項目画像62に応じた処理を実行しない。
このようにして、本実施形態では、タッチパネル34に対する操作に応じた処理を、操作キー32に対する操作によって中止させることができる。
また、本実施形態に係る情報処理装置10では、予め、操作キー32から受け付ける操作信号の少なくとも一部と、タッチセンサ30に対する操作内容と、が対応付けて管理されている。そして、処理実行部54は、操作キー32から受け付けた操作信号に応じた処理を実行するにあたって、当該操作キー32に対応付けられているタッチセンサ30に対する操作内容を実行する。
具体的には、例えば、処理実行部54は、右ボタン38Rが押下されたことを示す押下データを受け付けた際に、強調画像68により囲まれている設定項目画像62内の位置に対するタップ操作を受け付けた際(すなわち、強調画像68により囲まれている設定項目画像62内の位置を示す検出位置データを受け付けて、その後、検出位置座標の値がNullである検出位置データを受け付けた際)に実行される処理を実行する。また、例えば、処理実行部54は、下ボタン38Dが押下されたことを示す押下データを受け付けた際に、システム設定メニュー画像60に配置されている、下ボタン38Dに対応付けられている画像(例えば、バックアイコン64)内の位置に対するタップ操作を受け付けた際に実行される処理(例えば、システム設定メニュー画像60が表示される前にタッチパネル34に表示されていた画像を、タッチパネル34に表示させる処理)を実行する。
次に、本実施形態に係る情報処理装置10において実行される処理の別の一具体例について説明する。なお、ここでは、操作可否データの値は1に設定されていることとする。
図7は、本実施形態に係る情報処理装置10に表示される、再生の対象となるコンテンツ(映画や音楽など)を選択するためのコンテンツ選択画像70の一例を示す図である。図7に示すように、コンテンツ選択画像70の中央には、それぞれがコンテンツに対応する複数のコンテンツ対応画像72が縦一列に並んで配置されている。コンテンツ対応画像72には、例えば、コンテンツを代表するアイコンやコンテンツのタイトルなどが含まれている。以下、当該複数のコンテンツ対応画像72をアイテムリスト74と呼ぶこととする。本実施形態では、アイテムリスト74の全体が占める領域は、所定のスクロール方向(本実施形態では、例えば、Y軸方向)に沿って延びる矩形の領域であって、Y軸方向に延びる辺は、表示部28の画面の縦方向の長さよりも長いものとする。そして、本実施形態に係る情報処理装置10は、アイテムリスト74の全体を一度に表示部28に表示させることはできず、当該アイテムリスト74の全体が占める領域の一部だけを表示部28に表示させることとなる。本実施形態では、アイテムリスト74の一部又は全部がタッチパネル34に表示される。
例えば、図7に例示するコンテンツ選択画像70がタッチパネル34に表示されている際に、いずれかの方向キー36が押下されると、図8に例示するように、処理実行部54は、いずれかのコンテンツ対応画像72を囲む強調画像68が表示されるようシステム設定メニュー画像60を更新する。そして、その後、下方向キー36Dが押下されている状態が継続する(すなわち、下方向キー36Dが長押しされる)、又は、下方向キー36Dが連続して複数回押下されると、処理実行部54は、強調画像68により囲まれるコンテンツ対応画像72が、時間の経過とともに、下方向に配置されている次のコンテンツ対応画像72に順次変更されるよう、タッチパネル34に表示されているコンテンツ選択画像70を逐次更新していく。
なお、このとき、処理実行部54が、例えば、強調画像68で囲まれるコンテンツ対応画像72がタッチパネル34に表示されていない際には、アイテムリスト74の全体が占める領域を上方向に移動(スクロール)させるようにしてもよい。ここで、タッチパネル34に対してタップ操作が行われると、処理実行部54は、強調画像68により囲まれるコンテンツ対応画像72の変更、及び、アイテムリスト74の全体が占める領域のスクロールを中止して、タップされている位置に配置されているコンテンツ対応画像72に応じた処理を実行する。例えば、コンテンツ対応画像72に対してタップ操作が行われた場合には、処理実行部54は、タップ操作が行われたコンテンツ対応画像72に対応するコンテンツの再生を開始する。
また、図7に例示するコンテンツ選択画像70において、タッチパネル34のタップ位置に指等が接触しているが、当該指等がタッチパネル34からまだ離れていない状態で(すなわち、処理実行部54は、タッチ操作に応じた処理を実行していない状態で)、例えば、方向キー36等の操作キー32の操作信号を情報処理装置10が受け付けると、その後、指等がタッチパネル34から離れても、処理実行部54は、タップ位置に配置されているコンテンツ対応画像72に応じた処理を実行しない。
なお、以上説明したような、タッチセンサ30又は操作キー32のいずれか一方の操作入力に応じた処理を実行する制御の対象は、上述のシステム設定メニュー画像60やコンテンツ選択画像70に限定されないことは言うまでもない。例えば、情報処理装置10が実行するゲームプログラムにおける各種の処理をタッチセンサ30又は操作キー32のいずれか一方の操作入力に応じた処理を実行する制御の対象としても構わない。
なお、本発明は上述の実施形態に限定されるものではない。
例えば、処理実行部54が、検出結果受付部50が受け付けた検出位置データに応じた処理を中止して、検出結果受付部50が受け付けた検出位置データに応じた処理を実行する状況から操作入力受付部52が受け付けた操作信号に応じた処理を実行する状況に変化した際に、優先制御部56が、所定時間間隔で、変化した際に有効な接触操作が行われていたタッチセンサ30における接触が終了したか否か(当該タッチセンサ30から検出位置座標の値がNullである検出位置データを受け付けたか否か)を判定するようにしてもよい。そして、変化した際に有効な接触操作が行われていたタッチセンサ30における接触が終了したことが判定された後に、上述のように、いずれかのタッチセンサ30において有効な接触操作が行われた否かの判定を開始するようにしてもよい。
また、あるいは、例えば、処理実行部54が、検出結果受付部50が受け付けた検出位置データに応じた処理を中止して、検出結果受付部50が受け付けた検出位置データに応じた処理を実行する状況から操作入力受付部52が受け付けた操作信号に応じた処理を実行する状況に変化した際に、優先制御部56が、所定時間間隔で、変化した際以降に、いずれのタッチセンサ30においても有効な接触操作が行われていない状況が発生したか否かを判定するようにしてもよい。そして、いずれのタッチセンサ30においても有効な接触操作が行われていない状況が発生した後に、上述のように、いずれかのタッチセンサ30において有効な接触操作が行われた否かの判定を開始するようにしてもよい。
このようにすれば、例えば、タッチパネル34に指等が接触しているが、当該指等がタッチパネル34から離れておらず、処理実行部54が、タップ操作に応じた処理を実行していない状態で、方向キー36等の操作キー32の操作信号を情報処理装置10が受け付けて、強調画像68により囲まれる設定項目画像62が、時間の経過とともに、下方向に配置されている次の設定項目画像62に順次変更されるよう、タッチパネル34に表示されているシステム設定メニュー画像60を逐次更新していく処理が実行されるようになった際に、当該指等がタッチパネル34から離れていない状態のまま、他の指等によりタッチパネル34へのタップ操作が行われても、強調画像68により囲まれる設定項目画像62を、下の設定項目画像62に順次変更させる処理は継続される。このように、操作入力受付部52が受け付けた操作信号に応じた処理の実行中に、操作入力受付部52が受け付けた操作信号に応じた処理の実行の開始時点よりも前から行われている、タッチセンサ30に対する操作入力が継続されている際には、タッチセンサ30に対する他の操作入力を受け付けた場合でも、処理実行部54は、操作入力受付部52が受け付けた操作信号に応じた処理を継続するようにしてもよい。
また、例えば、処理実行部54が、操作入力受付部52が受け付けた操作信号に応じた処理を中止して、操作入力受付部52が受け付けた操作信号に応じた処理を実行する状況から検出結果受付部50が受け付けた検出位置データに応じた処理を実行する状況に変化した際に、優先制御部56が、所定時間間隔で、変化した際に有効な操作が行われていた操作キー32における有効な操作が終了したか否かを判定するようにしてもよい。そして、変化した際に有効な操作が行われていた操作キー32における有効な操作が終了したと判定された後に、上述のように、いずれかの操作キー32において有効な操作が行われたか否かの判定を開始するようにしてもよい。
また、あるいは、例えば、処理実行部54が、操作入力受付部52が受け付けた操作信号に応じた処理を中止して、操作入力受付部52が受け付けた操作信号に応じた処理を実行する状況から検出結果受付部50が受け付けた検出位置データに応じた処理を実行する状況に変化した際に、優先制御部56が、所定時間間隔で、変化した際以降に、いずれの操作キー32においても有効な操作が行われていない状況が発生したか否かを判定するようにしてもよい。そして、いずれの操作キー32においても有効な操作が行われていない状況が発生した後に、上述のように、いずれかのタッチセンサ30において有効な接触操作が行われた否かの判定を開始するようにしてもよい。
このようにすれば、例えば、下方向キー36Dが押下されている状態が継続している際に、設定項目画像62への指等の接触が検出され、その後、下方向キー36Dが押下されている状態が維持されたまま、下方向キー36D以外の操作キー32における有効な操作を受け付けた場合は、その後、タッチパネル34から指等が離れた際には、指等が接触していた設定項目画像62に応じた処理が実行されることとなる。このように、検出結果受付部50が受け付けた検出位置データに応じた処理の実行中に、検出結果受付部50が受け付けた検出位置データに応じた処理の実行の開始時点よりも前から行われている、操作キー32に対する操作入力が継続されている際には、他の操作キー32に対する操作入力を受け付けた場合でも、処理実行部54は、検出結果受付部50が受け付けた検出位置データに応じた処理を継続するようにしてもよい。
また、例えば、方向キー36や、前面ボタン38や、上側面ボタン40が、感圧ボタンとして構成されており、押圧力に応じたディジタル値(例えば、0以上255以下のいずれかの整数)を情報処理装置10に出力するようにしてもよい。例えば、まったく押下されていない際には、値0が出力され、最大限押下されている際には、値255が出力されるようにしてもよい。そして、情報処理装置10が、押圧力に応じたディジタル値を押下データの値として取り扱うようにしてもよい。例えば、優先制御部56が、操作入力受付部52が受け付けた押下データの値が所定値以上(例えば、128以上)である操作キー32を、有効な操作が行われた操作キー32として判定するようにしてもよい。
また、本実施形態に係る情報処理装置10において、前面タッチセンサ30aの操作入力を受け付けた場合の動作と、背面タッチセンサ30bの操作入力を受け付けた場合の動作と、が異なっていてもよい。例えば、操作キー32の操作入力に応じた処理の実行中に、前面タッチセンサ30aの操作入力を受け付けた場合は、処理実行部54が、操作キー32の操作入力に応じた処理を中止し、前面タッチセンサ30aの操作入力に応じた処理の実行を開始するようにし、背面タッチセンサ30bの操作入力を受け付けた場合は、処理実行部54が、操作キー32の操作入力に応じた処理を中止せずに継続するようにしても構わない。
また、本実施形態を、図9に示すような、本体部80とコントローラ82とを備えた据置型ゲーム装置に適用しても構わない。図9に示す本体部80は、例えば、制御部20、記憶部22、通信部24、画像処理部26を含んでいる。図9に示す本体部80が生成する画像は、本体部80に接続されたディスプレイ等の表示部28に表示される。また、図9に示す本体部80は、コントローラ82と通信可能である。図9に示すコントローラ82は、例えば、通信部24、タッチセンサ30、操作キー32を含んでいる。図9に示す本体部80は、コントローラ82から受信する、タッチセンサ30又は操作キー32に対する操作に応じた操作信号に応じた処理を実行する。また、コントローラ82に含まれるタッチセンサ30での位置と、本体部80に接続されたディスプレイ等の表示部28での位置と、は対応付けられている。図9に例示する本体部80は、上述した情報処理装置10と同様、コントローラ82が備えるタッチセンサ30又は操作キー32のいずれか一方の操作入力に応じた処理を実行する。
また、上述の具体的な文字列や数値、並びに、図面中の具体的な文字列は例示であり、これらの文字列や数値には限定されない。