(57)【特許請求の範囲】
【請求項１】
ユーザにより操作されると、操作内容を示す操作情報と、自己の第１基準軸の鉛直方向に対する傾きを示す傾き情報と、を送出する操作部と、
前記操作部から取得した操作情報と傾き情報と前記操作部の操作モード設定状態を特定するための状態特定情報との組み合わせまたは前記操作情報の履歴と前記傾き情報と前記状態特定情報との組み合わせに基づいて、情報処理装置で実行されるコマンドを特定する特定部と、を備え、
前記操作モード設定状態が、前記操作部の前記第１基準軸の鉛直方向に対する傾きに応じて前記操作部の操作モードが変化する可変状態に設定されている場合、
前記操作部の前記第１基準軸の鉛直方向に対する傾斜角度が予め設定された角度閾値以下である第１操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記操作部の前記第１基準軸が鉛直方向に直交する第２基準軸周りに第１方向へ回転されて前記第１基準軸の鉛直方向に対する傾斜角度が前記角度閾値よりも大きくなった第２操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記操作部の前記第１基準軸が前記第２基準軸周りに前記第１方向とは異なる第２方向へ回転されて前記第１基準軸の鉛直方向に対する傾斜角度が前記角度閾値よりも大きくなった第３操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、は、互いに異なり、
前記操作モード設定状態が、前記操作部の前記第１基準軸の鉛直方向に対する傾きに関わらず前記操作部の前記操作モードが固定されている固定状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記第２操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記第３操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、は、同一であり、
前記操作モード設定状態は、前記ユーザにより前記操作部に対して予め設定された第１操作がなされた場合、前記可変状態から前記固定状態または前記固定状態から前記可変状態へ遷移し、
前記操作部は、
前記ユーザの身体の少なくとも一部の移動速度および移動方向を検出する移動検出部と、
前記ユーザにより押下される押下部と、
前記第１基準軸の前記第２基準軸周りの前記第１方向への第１傾斜角度または前記第１基準軸の前記第２基準軸周りの前記第２方向への第２傾斜角度を検出する傾斜角度検出部と、を有し、
前記操作情報は、前記移動速度を示す移動速度情報と、前記移動方向を示す移動方向情報と、前記押下部が押下されているか否かを示す押下フラグと、を含み、
前記傾き情報は、前記操作部の前記第１傾斜角度または前記第２傾斜角度が予め設定された前記角度閾値以上か、前記角度閾値未満であるかを示す傾きフラグを含み、
前記傾きフラグおよび前記状態特定情報と、前記操作部の操作モードとを対応づける操作モードテーブルと、前記操作部の前記押下フラグの遷移履歴と、前記移動速度に基づいて判別される前記ユーザの動作の有無と、前記移動速度情報および前記移動方向情報を使用するコマンドを含む複数のコマンドとを対応づけるコマンドテーブルと、を更に備える、
ユーザインタフェース装置。
【請求項２】
前記可変状態は、前記第１操作部姿勢で前記操作部が操作されたときに特定されるコマンドが互いに異なる、第１可変状態、第２可変状態および第３可変状態のいずれかから構成され、
前記操作モード設定状態が、前記第１可変状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに第１コマンドが特定され、前記第２操作部姿勢で前記操作部が操作されたときに第２コマンドが特定され、前記第３操作部姿勢で前記操作部が操作されたときに第３コマンドが特定され、
前記操作モード設定状態が、前記第２可変状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに前記第２コマンドが特定され、前記第２操作部姿勢で前記操作部が操作されたときに前記第３コマンドが特定され、前記第３操作部姿勢で前記操作部が操作されたときに前記第１コマンドが特定され、
前記操作モード設定状態が、前記第３可変状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに前記第３コマンドが特定され、前記第２操作部姿勢で前記操作部が操作されたときに前記第１コマンドが特定され、前記第３操作部姿勢で前記操作部が操作されたときに前記第２コマンドが特定され、
前記操作モード設定状態は、前記ユーザにより前記操作部に対して予め設定された第２操作がなされた場合、前記第１可変状態から前記第２可変状態、前記第２可変状態から前記第３可変状態または前記第３可変状態から前記第１可変状態へ遷移する、
請求項１に記載のユーザインタフェース装置。
【請求項３】
前記固定状態は、前記操作部が操作されたときに特定されるコマンドが互いに異なる、第１固定状態、第２固定状態および第３固定状態のいずれかを含み、
前記操作モード設定状態が、前記第１固定状態に設定されている場合、前記操作部が操作されたときに第１コマンドが特定され、
前記操作モード設定状態が、前記第２固定状態に設定されている場合、前記操作部が操作されたときに第２コマンドが特定され、
前記操作モード設定状態が、前記第３固定状態に設定されている場合、前記操作部が操作されたときに第３コマンドが特定され、
前記操作モード設定状態は、前記ユーザにより前記操作部に対して予め設定された第２操作がなされた場合、前記第１固定状態から前記第２固定状態、前記第２固定状態から前記第３固定状態または前記第３固定状態から前記第１固定状態へ遷移する、
請求項１に記載のユーザインタフェース装置。
【請求項４】
前記押下フラグと、前記傾きフラグと、前記操作モード設定状態が前記可変状態と前記固定状態とのいずれであるかを示す第１操作モード設定フラグと、前記第１操作モード設定フラグを更新するか否かを定める更新可否フラグと、を記憶するフラグ記憶部と、
前記傾斜角度検出部により検出される前記第１傾斜角度が前記角度閾値以下の場合、前記傾きフラグを第１値に設定し、前記第１傾斜角度が前記角度閾値よりも大きい場合、前記傾きフラグを第２値に設定し、前記第２傾斜角度が前記角度閾値よりも大きい場合、前記傾きフラグを第３値に設定し、前記傾きフラグが前記第１値に設定されている場合、前記押下フラグの内容に応じて前記更新可否フラグを第４値または第５値に設定し、前記傾きフラグが前記第２値または前記第３値のいずれか一方に設定され且つ前記更新可否フラグが前記第５値に設定されている場合、前記押下フラグの内容に応じて前記第１操作モード設定フラグを更新するフラグ管理部と、を更に備える、
請求項１に記載のユーザインタフェース装置。
【請求項５】
前記フラグ記憶部は、更に、前記操作部が前記第１操作部姿勢、前記第２操作部姿勢および前記第３操作部姿勢それぞれであるのときの前記操作部の操作モードを定める第２操作モード設定フラグを記憶し、
前記更新可否フラグは、更に、前記第２操作モード設定フラグを更新するか否かを定め、
前記フラグ管理部は、更に、前記傾きフラグが前記第３値に設定され且つ前記更新可否フラグが前記第５値に設定されている場合、前記押下フラグの内容に応じて前記第２操作モード設定フラグを更新する、
請求項４に記載のユーザインタフェース装置。
【請求項６】
前記傾斜角度検出部は、加速度センサを含む、
請求項１から５のいずれか１項に記載のユーザインタフェース装置。
【請求項７】
前記操作部は、
前記移動検出部、前記押下部および前記傾斜角度検出部を収納する本体部と、
環状の外形を有し前記本体部に固定されるとともに、前記ユーザの指に装着されるリング部とを更に有し、
前記移動検出部は、トラックボールを有し、前記トラックボールの一部が前記本体部の一部から突出するように配置され、
前記押下部は、前記本体部の内部における、前記ユーザが前記トラックボールに対して前記本体部側に押し付ける方向への押圧力を作用させたときに押下される位置に配置されている、
請求項１から６のいずれか１項に記載のユーザインタフェース装置。
【請求項８】
前記操作部は、
前記移動検出部、前記押下部および前記傾斜角度検出部を収納する本体部を更に有し、
前記移動検出部は、前記本体部の長手方向における一端部に設けられ前記本体部の外側面に露出するように配置されたトラッキングセンサを有し、
前記押下部は、前記本体部の長手方向における一端部から前記本体部の長手方向に沿って突出し前記本体部の長手方向に沿って前記本体部側に押し付ける方向へ押圧力を作用させたとき押下されるノックボタンを含む、
請求項１から６のいずれか１項に記載のユーザインタフェース装置。
【請求項９】
前記操作部は、
前記移動検出部と前記押下部とを複数有する、
請求項１から６のいずれか１項に記載のユーザインタフェース装置。
【請求項１０】
前記操作部が着脱自在に装着される装着部と、前記操作部へ電力を供給するための第１電源コネクタと、を有する入力装置を更に備え、
前記操作部は、
蓄電部と、
前記装着部に装着された状態で前記第１電源コネクタに接続される第２電源コネクタと、
前記第２電源コネクタに供給される電力により前記蓄電部を充電する電源回路と、を有し、
前記入力装置は、
前記装着部に前記操作部が装着されている状態で、前記電源回路へ前記第１電源コネクタおよび前記第２電源コネクタを介して電力を供給することにより前記電源回路に前記蓄電部を充電させる、
請求項１に記載のユーザインタフェース装置。
【請求項１１】
前記操作部は、複数存在し、
前記特定部は、複数の前記操作部それぞれから取得した操作情報と傾き情報と状態特定情報との組み合わせまたは前記操作情報の履歴と前記傾き情報と前記状態特定情報との組み合わせに基づいて、前記情報処理装置で実行されるコマンドを特定する、
請求項１から１０のいずれか１項に記載のユーザインタフェース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタフェース装置に関する。
【背景技術】
【０００２】
小型のタッチパッドを備えたリング型（指輪型）のポインティングデバイスを用いたユーザインタフェース装置が提案されている（例えば特許文献１参照）。ユーザは、このポインティングデバイスを片手の人差し指に装着した状態で、親指の先端をタッチパッド上で摺動させることによりパソコンの表示装置の表示画面上でカーソルを移動させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３０２２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、この種のユーザインタフェース装置には、カーソル移動操作のみならず、スクロール操作やドラッグ操作も行えるようにすることが要請されつつある。これに対して、特許文献１に記載された構成では、ポインティングデバイスに対する操作に割り当てるコマンドを切り替えるためのスイッチを操作して、ポインティングデバイスに対する操作に割り当てるコマンドをカーソル移動操作からスクロール操作またはドラック操作に切り替える。そうすると、ユーザは、カーソル移動操作からスクロール操作またはドラッグ操作に変更しようとする度にスイッチを操作して割り当てるコマンドを切り替える必要があり操作が煩雑となる虞がある。【０００５】
本発明は、上記事由に鑑みてなされたものであり、操作部に対する操作に割り当てるコマンドを切り替えるための操作が簡素化されたユーザインタフェース装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係るユーザインタフェース装置は、
ユーザにより操作されると、操作内容を示す操作情報と、自己の第１基準軸の鉛直方向に対する傾きを示す傾き情報と、を送出する操作部と、
前記操作部から取得した操作情報と傾き情報と前記操作部の操作モード設定状態を特定するための状態特定情報との組み合わせまたは前記操作情報の履歴と前記傾き情報と前記状態特定情報との組み合わせに基づいて、情報処理装置で実行されるコマンドを特定する特定部と、を備え、
前記操作モード設定状態が、前記操作部の前記第１基準軸の鉛直方向に対する傾きに応じて前記操作部の操作モードが変化する可変状態に設定されている場合、
前記操作部の前記第１基準軸の鉛直方向に対する傾斜角度が予め設定された角度閾値以下である第１操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記操作部の前記第１基準軸が鉛直方向に直交する第２基準軸周りに第１方向へ回転されて前記第１基準軸の鉛直方向に対する傾斜角度が前記角度閾値よりも大きくなった第２操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記操作部の前記第１基準軸が前記第２基準軸周りに前記第１方向とは異なる第２方向へ回転されて前記第１基準軸の鉛直方向に対する傾斜角度が前記角度閾値よりも大きくなった第３操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、は、互いに異なり、
前記操作モード設定状態が、前記操作部の前記第１基準軸の鉛直方向に対する傾きに関わらず前記操作部の前記操作モードが固定されている固定状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記第２操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、前記第３操作部姿勢で前記操作部が操作されたときに特定されるコマンドと、は、同一であり、
前記操作モード設定状態は、前記ユーザにより前記操作部に対して予め設定された第１操作がなされた場合、前記可変状態から前記固定状態または前記固定状態から前記可変状態へ遷移し、
前記操作部は、
前記ユーザの身体の少なくとも一部の移動速度および移動方向を検出する移動検出部と、
前記ユーザにより押下される押下部と、
前記第１基準軸の前記第２基準軸周りの前記第１方向への第１傾斜角度または前記第１基準軸の前記第２基準軸周りの前記第２方向への第２傾斜角度を検出する傾斜角度検出部と、を有し、
前記操作情報は、前記移動速度を示す移動速度情報と、前記移動方向を示す移動方向情報と、前記押下部が押下されているか否かを示す押下フラグと、を含み、
前記傾き情報は、前記操作部の前記第１傾斜角度または前記第２傾斜角度が予め設定された前記角度閾値以上か、前記角度閾値未満であるかを示す傾きフラグを含み、
前記傾きフラグおよび前記状態特定情報と、前記操作部の操作モードとを対応づける操作モードテーブルと、前記操作部の前記押下フラグの遷移履歴と、前記移動速度に基づいて判別される前記ユーザの動作の有無と、前記移動速度情報および前記移動方向情報を使用するコマンドを含む複数のコマンドとを対応づけるコマンドテーブルと、を更に備える。
【０００８】
また、本発明に係るユーザインタフェース装置は、
前記可変状態が、前記第１操作部姿勢で前記操作部が操作されたときに特定されるコマンドが互いに異なる、第１可変状態、第２可変状態および第３可変状態のいずれかを含み、
前記操作モード設定状態が、前記第１可変状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに第１コマンドが特定され、前記第２操作部姿勢で前記操作部が操作されたときに第２コマンドが特定され、前記第３操作部姿勢で前記操作部が操作されたときに第３コマンドが特定され、
前記操作モード設定状態が、前記第２可変状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに前記第２コマンドが特定され、前記第２操作部姿勢で前記操作部が操作されたときに前記第３コマンドが特定され、前記第３操作部姿勢で前記操作部が操作されたときに前記第１コマンドが特定され、
前記操作モード設定状態が、前記第３可変状態に設定されている場合、
前記第１操作部姿勢で前記操作部が操作されたときに前記第３コマンドが特定され、前記第２操作部姿勢で前記操作部が操作されたときに前記第１コマンドが特定され、前記第３操作部姿勢で前記操作部が操作されたときに前記第２コマンドが特定され、
前記操作モード設定状態は、ユーザにより前記操作部に対して予め設定された第２操作がなされた場合、前記第１可変状態から前記第２可変状態、前記第２可変状態から前記第３可変状態または前記第３可変状態から前記第１可変状態へ遷移する、ものであってもよい。
ここで、「第２操作」の一例として、例えば操作部が押下部を備える場合、前記第１操作部姿勢において押下部を押下し、そのまま前記操作部の姿勢を前記第１操作部姿勢から前記第３操作部姿勢に変化させる操作が挙げられる。【０００９】
また、本発明に係るユーザインタフェース装置は、
前記固定状態が、前記操作部が操作されたときに特定されるコマンドが互いに異なる、第１固定状態、第２固定状態および第３固定状態のいずれかを含み、
前記操作モード設定状態が、前記第１固定状態に設定されている場合、前記操作部が操作されたときに第１コマンドが特定され、
前記操作モード設定状態が、前記第２固定状態に設定されている場合、前記操作部が操作されたときに第２コマンドが特定され、
前記操作モード設定状態が、前記第３固定状態に設定されている場合、前記操作部が操作されたときに第３コマンドが特定され、
前記操作モード設定状態は、ユーザにより前記操作部に対して予め設定された第２操作がなされた場合、前記第１固定状態から前記第２固定状態、前記第２固定状態から前記第３固定状態または前記第３固定状態から前記第１固定状態へ遷移する、ものであってもよい。【００１１】
また、本発明に係るユーザインタフェース装置は、
前記押下フラグと、前記傾きフラグと、前記操作モード設定状態が前記可変状態と前記固定状態とのいずれであるかを示す第１操作モード設定フラグと、前記第１操作モード設定フラグを更新するか否かを定める更新可否フラグと、を記憶するフラグ記憶部と、
前記傾斜角度検出部により検出される前記第１傾斜角度が前記角度閾値以下の場合、前記傾きフラグを第１値に設定し、前記第１傾斜角度が前記角度閾値よりも大きい場合、前記傾きフラグを第２値に設定し、前記第２傾斜角度が前記角度閾値よりも大きい場合、前記傾きフラグを第３値に設定し、前記傾きフラグが前記第１値に設定されている場合、前記押下フラグの内容に応じて前記更新可否フラグを第４値または第５値に設定し、前記傾きフラグが前記第２値または前記第３値のいずれか一方に設定され且つ前記更新可否フラグが前記第５値に設定されている場合、前記押下フラグの内容に応じて前記第１操作モード設定フラグを更新するフラグ管理部と、を更に備える、ものであってもよい。【００１２】
また、本発明に係るユーザインタフェース装置は、
前記フラグ記憶部は、更に、前記操作部が前記第１操作部姿勢、前記第２操作部姿勢および前記第３操作部姿勢それぞれであるのときの前記操作部の操作モードを定める第２操作モード設定フラグを記憶し、
前記更新可否フラグは、更に、前記第２操作モード設定フラグを更新するか否かを定め、
前記フラグ管理部は、更に、前記傾きフラグが前記第３値に設定され且つ前記更新可否フラグが前記第５値に設定されている場合、前記押下フラグの内容に応じて前記第２操作モード設定フラグを更新する、ものであってもよい。【００１３】
また、本発明に係るユーザインタフェース装置は、
前記傾斜角度検出部が、加速度センサを含む、ものであってもよい。【００１４】
また、本発明に係るユーザインタフェース装置は、
前記操作部が、
前記移動検出部、前記押下部および前記傾斜角度検出部を収納する本体部と、
環状の外形を有し前記本体部に固定されるとともに、ユーザの指に装着されるリング部とを更に有し、
前記移動検出部が、トラックボールを有し、前記トラックボールの一部が前記本体部の一部から突出するように配置され、
前記押下部が、前記本体部の内部における、ユーザが前記トラックボールに対して前記本体部側に押し付ける方向への押圧力を作用させたときに押下される位置に配置されている、ものであってもよい。【００１５】
また、本発明に係るユーザインタフェース装置は、
前記操作部が、
前記移動検出部、前記押下部および前記傾斜角度検出部を収納する本体部を更に有し、
前記移動検出部が、前記本体部の長手方向における一端部に設けられ前記本体部の外側面に露出するように配置されたトラッキングセンサを有し、
前記押下部が、前記本体部の長手方向における一端部から前記本体部の長手方向に沿って突出し前記本体部の長手方向に沿って前記本体部側に押し付ける方向へ押圧力を作用させたとき押下されるノックボタンを含む、ものであってもよい。【００１６】
また、本発明に係るユーザインタフェース装置は、
前記操作部が、
前記移動検出部と前記押下部とを複数有する、ものであってもよい。【００１７】
また、本発明に係るユーザインタフェース装置は、
前記操作部が着脱自在に装着される装着部と、前記操作部へ電力を供給するための第１電源コネクタと、を有する入力装置を更に備え、
前記操作部が、
蓄電部と、
前記装着部に装着された状態で前記第１電源コネクタに接続される第２電源コネクタと、
前記第２電源コネクタに供給される電力により前記蓄電部を充電する電源回路と、を有し、
前記入力装置が、
前記装着部に前記操作部が装着されている状態で、前記電源回路へ前記第１電源コネクタおよび前記第２電源コネクタを介して電力を供給することにより前記電源回路に前記蓄電部を充電させる、ものであってもよい。【００１８】
また、本発明に係るユーザインタフェース装置は、
前記操作部が、複数存在し、
前記特定部が、複数の前記操作部それぞれから取得した操作情報と傾き情報と状態特定情報との組み合わせまたは前記操作情報の履歴と前記傾き情報と前記状態特定情報との組み合わせに基づいて、前記情報処理装置で実行されるコマンドを特定する、ものであってもよい。
【発明の効果】
【００２３】
本発明に係るユーザインタフェース装置では、特定部が、操作部から取得した操作情報と傾き情報と状態特定情報との組み合わせまたは操作情報の履歴と傾き情報と状態特定情報との組み合わせに基づいて、情報処理装置で実行されるコマンドを特定する。これにより、特定部は、１つの操作情報について複数の傾き情報それぞれに対応する複数種類のコマンドを特定できる。即ち、特定部は、操作情報のみで特定できるコマンドの数に比べて多くのコマンドを特定することができるので、ユーザは操作部に対する各操作に割り当てるコマンドを別のコマンドに切り替えるための操作を行う頻度が低減される。このように、本発明に係るユーザインタフェース装置は、操作部の操作情報のみに基づいてコマンドを特定するユーザインタフェース装置に比べて、操作部に対する操作に割り当てるコマンドを切り替えるための操作が簡素化されている。
【図面の簡単な説明】
【００２４】
【図１Ａ】本発明の実施の形態１に係るユーザインタフェース装置を備える情報処理システムの概略構成図である。
【図１Ｂ】実施の形態１に係るユーザインタフェース装置を備える情報処理システムの一部を構成するリング装置の斜視図である。
【図２】実施の形態１に係る情報処理システムのブロック図である。
【図３Ａ】実施の形態１に係る操作モードテーブルの内容を示す図である。
【図３Ｂ】実施の形態１に係るコマンドテーブルの内容を示す図である。
【図４】実施の形態１に係る操作部の制御部が実行するフラグ設定処理の流れを示すフローチャートである。
【図５Ａ】実施の形態１に係る操作部の水平姿勢を示す図である。
【図５Ｂ】実施の形態１に係る操作部の左傾斜姿勢を示す図である。
【図５Ｃ】実施の形態１に係る操作部の右傾斜姿勢を示す図である。
【図６】実施の形態１に係る操作部の制御部が実行するフラグ設定処理の流れを示すフローチャートである。
【図７】実施の形態１に係る接続装置の制御部が実行するコマンド送信処理の流れを示すフローチャートである。
【図８Ａ】実施の形態１に係るユーザインタフェース装置の状態ＳＴ１を示す図である。
【図８Ｂ】実施の形態１に係るユーザインタフェース装置の状態ＳＴ２を示す図である。
【図８Ｃ】実施の形態１に係るユーザインタフェース装置の状態ＳＴ３を示す図である。
【図９Ａ】実施の形態１に係るユーザインタフェース装置の状態ＳＴ４を示す図である。
【図９Ｂ】実施の形態１に係るユーザインタフェース装置の状態ＳＴ５を示す図である。
【図９Ｃ】実施の形態１に係るユーザインタフェース装置の状態ＳＴ６を示す図である。
【図１０】実施の形態１に係る遷移履歴の例を示すタイムチャートである。
【図１１】実施の形態１に係るユーザインタフェース装置の状態遷移図である。
【図１２】本発明の実施の形態２に係るユーザインタフェース装置を備えるＰＣの概略構成図である。
【図１３】実施の形態２に係る情報処理システムのブロック図である。
【図１４】実施の形態２に係るコマンドテーブルの内容を示す図である。
【図１５】実施の形態２に係るキーボードの制御部が実行するコマンド送信処理の流れを示すフローチャートである。
【図１６】変形例に係る操作部の概略構成図である。
【図１７】変形例に係るユーザインタフェース装置を備える情報処理システムの概略構成図である。
【図１８】変形例に係るユーザインタフェース装置を備える情報処理システムの概略構成図である。
【図１９】変形例に係るコマンドテーブルの内容を示す図である。
【図２０】変形例に係るユーザインタフェース装置を備える情報処理システムの概略構成図である。
【図２１】変形例に係るユーザインタフェース装置を備える情報処理システムのブロック図である。
【図２２】変形例に係るコマンドテーブルの内容を示す図である。
【図２３Ａ】変形例に係る操作部の動作説明図である。
【図２３Ｂ】変形例に係る操作部の動作説明図である。
【図２４】変形例に係るユーザインタフェース装置を備える情報処理システムのブロック図である。
【図２５】変形例に係る操作部の制御部が実行するコマンド送信処理の流れを示すフローチャートである。
【図２６Ａ】変形例に係るユーザインタフェース装置の状態ＳＴ２１を示す図である。
【図２６Ｂ】変形例に係るユーザインタフェース装置の状態ＳＴ２２を示す図である。
【図２６Ｃ】変形例に係るユーザインタフェース装置の状態ＳＴ２３を示す図である。
【図２７Ａ】変形例に係るユーザインタフェース装置の状態ＳＴ２４を示す図である。
【図２７Ｂ】変形例に係るユーザインタフェース装置の状態ＳＴ２５を示す図である。
【図２８Ａ】変形例に係るユーザインタフェース装置の状態ＳＴ２６を示す図である。
【図２８Ｂ】変形例に係るユーザインタフェース装置の状態ＳＴ２７を示す図である。
【図２８Ｃ】変形例に係るユーザインタフェース装置の状態ＳＴ２８を示す図である。
【図２９Ａ】変形例に係るユーザインタフェース装置の状態ＳＴ２９を示す図である。
【図２９Ｂ】変形例に係るユーザインタフェース装置の状態ＳＴ３０を示す図である。
【図３０】変形例に係るユーザインタフェース装置の状態遷移図である。
【図３１Ａ】変形例に係る操作部の左少し傾斜姿勢を示す図である。
【図３１Ｂ】変形例に係る操作部の右少し傾斜姿勢を示す図である。
【図３２】変形例に係る操作モードテーブルの内容を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明の各実施の形態について図面を参照して詳細に説明する。
【００２６】
（実施の形態１）
本実施の形態に係るユーザインタフェース装置は、ユーザが指に嵌めて使用するリング型（指輪型）の操作部と、操作部から受信した情報に基づいてパーソナルコンピュータ（ＰＣ）で実行されるコマンドを特定してＰＣへ送信する接続装置と、を備える。このユーザインタフェース装置によれば、ユーザは、指に嵌めた操作部を操作することによりＰＣを遠隔操作できる。
【００２７】
図１Ａに示すように、ユーザインタフェース装置は、操作部１１と接続装置１２とを備える。そして、ユーザインタフェース装置１は、ＰＣ１６とともに情報処理システムを構成する。操作部１１は、例えばユーザの右手ＲＨの人差し指に嵌められた状態で使用される。ユーザは、操作部１１を操作して表示装置１５の画面１５ａ上に映し出されるカーソル画像を移動させる操作やスクロール操作を行うことができる。また、ユーザは、キーボード１７を用いてＰＣ１６へ文字情報を入力することもできる。操作部１１は、接続装置１２と無線通信し、ユーザにより操作されると操作内容を示す操作情報を接続装置１２へ送る。これにより、ユーザは、操作部１１を用いてＰＣ１６へ情報を入力することができる。
【００２８】
操作部１１は、ユーザにより操作されると、その操作内容を示す操作情報と、操作部１１の基準軸（第１基準軸）の鉛直方向に対する傾きを示す傾きフラグ（傾き情報）と、操作部１１の操作モード設定状態を特定するための状態特定情報と、を送出する。ここで、「操作モード設定状態」とは、操作部１１に設定されうる複数種類（本実施の形態では３種類）の操作モードと、操作部１１の基準軸の鉛直方向に対する傾斜角度と、の組み合わせの状態を示す。操作部１１は、図１Ｂに示すように、本体部１１１とトラッキングセンサ（移動検出部）１１２とプッシュスイッチ１１３と加速度センサ（傾斜角度検出部）１１６とリング部１１４とを備える。本体部１１１は、扁平な略直方体状の形状を有する。リング部１１４は、ユーザの人差し指の挿入が可能な大きさである。リング部１１４の一部は、本体部１１１に固定されている。トラッキングセンサ１１２は、トラックボール１１２９を用いた機械式トラッキングセンサから構成され、トラックボール１１２９の一部が本体部１１１から突出するように配置されている。トラッキングセンサ１１２は、ユーザが指でトラックボール１１２９を回転させたときの回転速度からトラックボール１１２９の表面に接触したユーザの指の先端部（ユーザの身体の一部）の移動速度を検出し回転方向からユーザの指の先端部の移動方向を検出する。
【００２９】
操作情報は、プッシュスイッチ１１３が押下されているか否かを示す押下フラグと、ユーザの指の移動速度を示す移動速度情報およびユーザの指の移動方向を示す移動方向情報から構成される移動情報と、から構成される。傾きフラグは、操作部の鉛直方向に対する傾斜角度が予め設定された角度閾値よりも大きいか否かを示す。
【００３０】
状態特定情報は、ロックフラグ（第１操作モード設定フラグ）とローテーションフラグ（第２操作モード設定フラグ）とから構成される。ロックフラグは、操作モード設定状態が、操作部１１の基準軸（第１基準軸）Ｊ１の鉛直方向に対する傾きに応じて操作部１１の操作モードが変化する可変状態と、操作部１１の第１基準軸Ｊ１の鉛直方向に対する傾きに関わらず操作部１１の操作モードが固定されている固定状態と、のいずれであるかを示す。ローテーションフラグは、操作部１１が水平姿勢（第１操作部姿勢）であるのときの操作部１１の操作モードと、操作部１１が左傾斜姿勢（第２操作部姿勢）であるときの操作部１１の操作モードと、操作部１１が右傾斜姿勢（第３操作部姿勢）のときの操作部１１の操作モードと、を定める。ここで、ユーザは、操作部１１のリング部１１４に対して、人差し指を、図１Ｂに示すリング部１１４の中心軸（第２基準軸）Ｊ２に沿った方向ＡＲ０に挿入して装着するとする。この場合、操作部１１を方向ＡＲ０から見たときに、操作部１１が第２基準軸Ｊ２周りに左方向へ傾斜した姿勢を「左傾斜姿勢」、操作部１１が第２基準軸Ｊ２周りに右方向へ傾斜した姿勢を「右傾斜姿勢」とする。
【００３１】
プッシュスイッチ１１３は、例えば対向する板ばねと金属板とを含んで構成されている。プッシュスイッチ１１３は、本体部１１１の内部における、ユーザがトラックボール１１２９に対して本体部１１１側に押し付ける方向への押圧力を作用させたときに押下される位置に配置されている。
【００３２】
加速度センサ１１６は、３軸加速度センサから構成されている。加速度センサ１１６は、例えば操作部１１の第１基準軸Ｊ１を本体部１１１の厚さ方向に沿った方向、即ち、プッシュスイッチ１１３の押圧方向に沿った方向に延在するように配置し、この第１基準軸Ｊ１の鉛直方向に対する傾斜角度を検出する。特に、加速度センサ１１６として、薄膜微細加工技術（ＭＥＭＳ）を応用した汎用の加速度センサを採用すれば、操作部１１の製造コストおよび消費電力を低減することができる。
【００３３】
操作部１１は、図２に示すように、制御部１１０と無線通信部１１５と蓄電部１１７とを更に備える。無線通信部１１５は、モデム機能と無線通信機能とを備え、制御部１１０から入力される操作情報を無線信号として接続装置１２へ送信するとともに、接続装置１２から無線信号として受信した情報を制御部１１０へ出力する。無線通信部１１５は、Bluetooth（登録商標）やZigBee（登録商標）のような無線通信規格に準拠した通信方式により接続装置１２との間で通信する。
【００３４】
制御部１１０は、ＣＰＵ（Central Processing Unit）１１８とＲＡＭ(Random Access Memory)１１９とＲＯＭ(Read Only Memory)１１１０とを備える。ＲＡＭ１１９は、フラグ記憶部１１９１と移動情報記憶部１１９２とを有する。
【００３５】
フラグ記憶部１１９１は、押下フラグと傾きフラグとロックフラグとローテーションフラグとを記憶する。フラグ記憶部１１９１は、更に、ロックフラグまたはローテーションフラグを更新するか否かを定めるチェックフラグ（更新可否フラグ）を記憶する。
【００３６】
移動情報記憶部１１９２は、トラックボール１１２９の回転速度から定まる移動速度を示す移動速度情報とトラックボール１１２９の回転方向から定まる移動方向情報とから構成される移動情報を記憶する。更に、ＲＡＭ１１９は、ＣＰＵ１１８の作業領域としても使用される。ＲＯＭ１１１０には、ＣＰＵ１１８が実行するプログラムが格納されている。
【００３７】
ＣＰＵ１１８は、ＲＯＭ１１１０からプログラムをＲＡＭ１１９に読み込んで実行することにより、操作読取部１１８１、傾き読取部１１８２、フラグ管理部１１８３および通信制御部１１８４として機能する。操作読取部１１８１は、トラッキングセンサ１１２から入力される信号を移動速度情報と移動方向情報とに変換して移動情報記憶部１１９２に記憶させる。また、操作読取部１１８１は、プッシュスイッチ１１３から入力される信号に応じて押下フラグの内容を設定してフラグ記憶部１１９１に記憶させる。傾き読取部１１８２は、加速度センサ１１６から入力される計測情報に基づいて、操作部１１の基準軸Ｊ１の鉛直方向に対する傾きを読み取る。傾き読取部１１８２は、読み取った操作部１１の基準軸Ｊ１の鉛直方向に対する傾きをフラグ管理部１１８３に通知する。フラグ管理部１１８３は、後述のフラグ設定処理を実行することにより、傾きフラグ、ロックフラグ、ローテーションフラグおよびチェックフラグの内容を設定する。通信制御部１１８４は、各種フラグおよび移動情報に送信元と送信先の情報を付加して無線通信部１１５へ出力する。
【００３８】
ＰＣ１６は、処理部１６１と記憶部１６２と表示インタフェース１６３と２つのＵＳＢ（Universal Serial Interface）インタフェース１６４、１６５とを備える。表示インタフェース１６３は、映像信号を伝送するためのインタフェースであり、表示装置１５に接続されている。表示装置１５は、液晶ディスプレイや有機ＥＬディスプレイ等から構成される。ＵＳＢインタフェース１６４は、キーボード１７に接続されている。ＵＳＢインタフェース１６５は、接続装置１２に接続されている。
【００３９】
接続装置１２は、制御部１２０とＵＳＢインタフェース１２４と無線通信部１２５とを備える。制御部１２０は、ＣＰＵ１２１とＲＡＭ１２２とＲＯＭ１２３とを備える。ＵＳＢインタフェース１２４は、ＰＣ１６のＵＳＢインタフェース１６５に接続されている。無線通信部１２５は、モデム機能と無線通信機能とを備え、制御部１２０から入力される情報を無線信号として操作部１１へ送信するとともに、操作部１１から無線信号として受信した情報を制御部１２０へ出力する。無線通信部１２５は、Bluetooth（登録商標）やZigBee（登録商標）のような無線通信規格に準拠した通信方式により操作部１１との間で無線通信する。
【００４０】
ＲＡＭ１２２は、フラグ履歴記憶部１２２１と移動情報記憶部１２２２と遷移履歴記憶部１２２３とコマンド記憶部１２２４とを有する。フラグ履歴記憶部１２２１は、操作部１１から受信した、ロックフラグ、ローテーションフラグ、押下フラグ、及び傾きフラグを記憶する。移動情報記憶部１２２２は、接続装置１２が操作部１１から受信した、移動速度情報および移動方向情報から構成される移動情報を記憶する。
【００４１】
遷移履歴記憶部１２２３は、接続装置１２が操作部１１から受信した押下フラグの状態遷移の履歴を記憶している。遷移履歴記憶部１２２３は、押下フラグが「０（オフ）」から「１（オン）」へ遷移したことを示す遷移情報「Ｄ」と、押下フラグが「１（オン）」で維持されていることを示す遷移情報「Ｐ」と、押下フラグが「１（オン）」から「０（オフ）」へ遷移したことを示す遷移情報「Ｕ」と、押下フラグが「０（オフ）」で維持されていることを示す遷移情報「Ｎ」とを記憶している。遷移履歴記憶部１２２３は、押下フラグの状態遷移の履歴に応じて、遷移情報「Ｄ」、遷移情報「Ｐ」、遷移情報「Ｕ」、遷移情報「Ｎ」を時系列で記憶している。コマンド記憶部１２２４は、後述の特定部１２１３が特定したコマンドを記憶する。
【００４２】
ＲＯＭ１２３は、操作モードテーブルとコマンドテーブルとを記憶するテーブル記憶部１２３１を有する。例えば図３Ａに示すように、操作モードテーブルＴＡ１は、各種操作モードを、傾きフラグ、ロックフラグおよびローテーションフラグと対応づけている。また、図３Ｂに示すように、コマンドテーブルＴＡ２は、ＰＣ１６で実行される各種コマンドを、操作モード、操作部１１のクリック操作の有無およびトラッキングセンサ１１２でのトラックボール１１２９を回転させる操作（以下、「スライド操作」と称する。）の有無と対応づけている。「スライド操作の有無」は、操作部１１から受信した移動情報に含まれる、トラックボール１１２９の表面に接触するユーザの指の先端部の移動速度情報に基づいて判別される。また、「クリック操作有り」は、押下フラグがオンの状態で予め設定された時間経過後にオフされたことに相当する。また、ＲＯＭ１２３は、ＣＰＵ１２１が実行するプログラムを格納する。なお、このテーブル記憶部１２３１は、ＣＰＵ１２１がＲＯＭ１２３からプログラムをＲＡＭ１２２に読み出して実行する際に、ＲＡＭ１２２に設けられるものであってもよい。
【００４３】
図２に戻って、ＣＰＵ１２１は、ＲＯＭ１２３からプログラムをＲＡＭ１２２に読み込んで実行することにより、取得部１２１１、遷移情報生成部１２１２、特定部１２１３およびコマンド送信部１２１４として機能する。ここで、制御部１２０は、操作部１１から各種フラグおよび回転情報を取得する入力インタフェースを構成する。そして、この制御部１２０と無線通信部１２５とを備える接続装置１２と操作部１１とからユーザインタフェース装置１が構成されている。
【００４４】
取得部１２１１は、接続装置１２が操作部１１から受信した操作情報からフラグおよび移動情報を抽出する。そして、取得部１２１１は、抽出したフラグを、ＲＡＭ１２２のフラグ履歴記憶部１２２１に時系列に記憶させる。また、取得部１２１１は、抽出した移動情報を、ＲＡＭ１２２の移動情報記憶部１２２２に記憶させる。
【００４５】
遷移情報生成部１２１２は、接続装置１２が操作部１１から取得したフラグに含まれる押下フラグの内容と直前の押下フラグの内容とを比較して、押下フラグの遷移を示す遷移情報を生成する。遷移情報生成部１２１２は、生成した遷移情報を、遷移履歴記憶部１２２３に記憶させる。
【００４６】
特定部１２１３は、操作部１１から取得した押下フラグの履歴と、移動情報と、傾きフラグと、ロックフラグおよびローテーションフラグとの組み合わせに基づいて、ＰＣ１６が実行するコマンドを特定する。特定部１２１３は、まず、フラグ履歴記憶部１２２１が記憶する、傾きフラグ、ロックフラグおよびローテーションフラグの組み合わせに基づいて、操作部１１の操作モードを特定する。そして、特定部１２１３は、押下フラグの履歴からクリック操作の有無を判定し、移動情報に含まれる移動速度情報からスライド操作の有無を判定する。ここで、特定部１２１３は、操作部１１についてその移動速度情報が示す移動速度が「０」でない場合、「スライド操作有り」と判別する。一方、特定部１２１３は、操作部１１についてその移動速度情報が示す移動速度が「０」である場合、「スライド操作無し」と判別する。その後、特定部１２１３は、テーブル記憶部１２３１が記憶する操作モードテーブルおよびコマンドテーブルを参照して、特定した操作モードと、スライド操作の有無およびクリック操作の有無と、に基づいて、コマンド送信部１２１４が送信するコマンド（第１コマンド、第２コマンド、第３コマンド）を特定し、コマンド記憶部１２２４に記憶させる。
【００４７】
コマンド送信部１２１４は、特定部１２１３により特定されたコマンドをコマンド記憶部１２２４から取得してＰＣ１６へ送信する。コマンドとしては、図３Ｂに示すような各種コマンドが挙げられる。
【００４８】
次に、本実施の形態に係る操作部１１の制御部１１０が実行するフラグ設定処理について図４乃至図６を参照しながら説明する。制御部１１０は、フラグ設定処理を実行することにより、接続装置１２へ送信するロックフラグＦＬｌ、ローテーションフラグＦＬｒおよび押下フラグＦＬｐの内容を設定する。フラグ設定処理は、操作部１１へ電源が投入されたことを契機として開始される。
【００４９】
まず、フラグ管理部１１８３は、図４に示すように、ロックフラグＦＬｌ、ローテーションフラグＦＬｒおよび押下フラグＦＬｐの初期設定を実行する（ステップＳ１０１）。具体的には、フラグ管理部１１８３は、ロックフラグＦＬｌ、ローテーションフラグＦＬｒおよび押下フラグＦＬｐの内容を「０」に設定する。
【００５０】
次に、フラグ管理部１１８３は、移動情報記憶部１１９２が記憶する移動速度情報に基づいて、スライド操作が有ったか否かを判定する（ステップＳ１０２）。フラグ管理部１１８３は、移動速度情報が示す移動速度が予め設定された閾値（例えば０）を超える場合、スライド操作があったと判定する。フラグ管理部１１８３は、スライド操作があったと判定すると（ステップＳ１０２：Ｙｅｓ）、後述のステップＳ１０４の処理を実行する。
【００５１】
一方、フラグ管理部１１８３は、スライド操作が無いと判定すると（ステップＳ１０２：Ｎｏ）、フラグ記憶部１１９１が記憶する押下フラグＦＬｐの内容が変更されているか否かを判定する（ステップＳ１０３）。フラグ管理部１１８３は、押下フラグＦＬｐの内容が変更されていないと判定すると（ステップＳ１０３：Ｎｏ）、再びステップＳ１０２の処理を実行する。
【００５２】
一方、フラグ管理部１１８３は、押下フラグＦＬｐの内容が変更されていると判定すると（ステップＳ１０３：Ｙｅｓ）、傾き読取部１１８２が読み取った操作部１１の第１基準軸Ｊ１の傾きに基づいて、傾きフラグＦＬｔを設定する（ステップＳ１０４）。図５Ａに示すように、操作部１１の姿勢が、操作部１１の第１基準軸Ｊ１の鉛直方向（鉛直軸Ｊ０）に対する傾斜角度が予め設定された角度閾値θｔｈ以下である水平姿勢（第１操作部姿勢）にあるとする。この場合、フラグ管理部１１８３は、傾きフラグＦＬｔを「０（水平）」に設定する。
【００５３】
また、図５Ｂに示すように、操作部１１の第１基準軸Ｊ１が鉛直方向に直交する第２基準軸Ｊ２周りに第１方向（図５Ｂの左回り方向）へ回転されて第１基準軸Ｊ１の鉛直方向（鉛直軸Ｊ０）に対する傾斜角度（第１傾斜角度）θ１が角度閾値θｔｈよりも大きくなることにより、操作部１１の姿勢が左傾斜姿勢（第２操作部姿勢）になったとする。この場合、フラグ管理部１１８３は、傾きフラグＦＬｔを「１（左傾斜）」に設定する。
【００５４】
更に、図５Ｃに示すように、操作部１１の第１基準軸Ｊ１が第２基準軸Ｊ２周りに第１方向とは逆方向の第２方向（図５Ｃの右回り方向）へ回転されて第１基準軸Ｊ１の鉛直方向（鉛直軸Ｊ０）に対する傾斜角度（第２傾斜角度）θ２が角度閾値θｔｈよりも大きくなることにより、操作部１１の姿勢が右傾斜姿勢（第３操作部姿勢）になったとする。この場合、フラグ管理部１１８３は、傾きフラグＦＬｔを「２（右傾斜）」に設定する。
【００５５】
図４に戻って、続いて、フラグ管理部１１８３は、傾きフラグＦＬｔが「０（水平）」に設定されているか否かを判定する（ステップＳ１０５）。フラグ管理部１１８３は、傾きフラグＦＬｔが「０（水平）」に設定されていると判定すると（ステップＳ１０５：Ｙｅｓ）、押下フラグＦＬｐが「１（オン）」に設定されているか否かを判定する（ステップＳ１０６）。フラグ管理部１１８３は、押下フラグＦＬｐが「１」に設定されていると（ステップＳ１０６：Ｙｅｓ）、チェックフラグＦＬｃを「１」に設定する（ステップＳ１０７）。一方、フラグ管理部１１８３は、押下フラグＦＬｐが「０」に設定されていると（ステップＳ１０６：Ｎｏ）、チェックフラグＦＬｃを「０」に設定する（ステップＳ１０８）。
【００５６】
その後、通信制御部１１８４は、フラグ記憶部１１９１から、傾きフラグＦＬｔ、ロックフラグＦＬｌ、ローテーションフラグＦＬｒおよび押下フラグＦＬｐを取得するとともに、移動情報記憶部１１９２から移動情報を取得する。そして、通信制御部１１８４は、傾きフラグＦＬｔ、ロックフラグＦＬｌ、ローテーションフラグＦＬｒおよび押下フラグＦＬｐと移動情報とを、無線通信部１１５を介して接続装置１２へ送信する（ステップＳ１０９）。
【００５７】
また、フラグ管理部１１８３は、ステップＳ１０５の処理において、傾きフラグＦＬｔが「０（水平）」ではないと判定したとする（ステップＳ１０５：Ｎｏ）。この場合、フラグ管理部１１８３は、図６に示すように、傾きフラグＦＬｔが「１（左傾斜）」に設定されているか否かを判定する（ステップＳ１１１）。フラグ管理部１１８３は、傾きフラグＦＬｔが「１（左傾斜）」に設定されていると判定すると（ステップＳ１１１：Ｙｅｓ）、押下フラグＦＬｐが「１（オン）」に設定されているか否かを判定する（ステップＳ１１２）。フラグ管理部１１８３により押下フラグＦＬｐが「１（オン）」に設定されていると（ステップＳ１１２：Ｙｅｓ）、そのまま図４のステップＳ１０９の処理が実行される。
【００５８】
一方、フラグ管理部１１８３は、押下フラグＦＬｐが「０（オフ）」に設定されていると（ステップＳ１１２：Ｎｏ）、チェックフラグＦＬｃが「１（オン）」に設定されているか否かを判定する（ステップＳ１１３）。フラグ管理部１１８３によりチェックフラグＦＬｃが「０（オフ）」に設定されていると（ステップＳ１１３：Ｎｏ）、そのまま図４のステップＳ１０９の処理が実行される。
【００５９】
一方、フラグ管理部１１８３は、チェックフラグＦＬｃが「１（オン）」に設定されていると（ステップＳ１１３：Ｙｅｓ）、ロックフラグＦＬｌを更新する（ステップＳ１１４）。ここで、フラグ管理部１１８３は、ロックフラグＦＬｌが「０（オフ）」に設定されている場合、ロックフラグＦＬｌを「１（オン）」に更新し、ロックフラグＦＬｌが「１（オン）」に設定されている場合、ロックフラグＦＬｌを「０（オフ）」に更新する。
【００６０】
続いて、フラグ管理部１１８３は、チェックフラグＦＬｃを「０（オフ）」に設定する（ステップＳ１１５）。その後、図４のステップＳ１０９の処理が実行される。
【００６１】
また、フラグ管理部１１８３は、ステップＳ１１１の処理において、傾きフラグＦＬｔが「２（右傾斜）」であると判定したとする（ステップＳ１１１：Ｎｏ）。この場合、フラグ管理部１１８３は、押下フラグＦＬｐが「１（オン）」に設定されているか否かを判定する（ステップＳ１１６）。フラグ管理部１１８３により押下フラグＦＬｐが「１（オン）」に設定されていると（ステップＳ１１６：Ｙｅｓ）、そのまま図４のステップＳ１０９の処理が実行される。
【００６２】
一方、フラグ管理部１１８３は、押下フラグＦＬｐが「０（オフ）」に設定されていると（ステップＳ１１６：Ｎｏ）、チェックフラグＦＬｃが「１（オン）」に設定されているか否かを判定する（ステップＳ１１７）。フラグ管理部１１８３によりチェックフラグＦＬｃが「０（オフ）」に設定されていると（ステップＳ１１７：Ｎｏ）、そのまま図４のステップＳ１０９の処理が実行される。
【００６３】
一方、フラグ管理部１１８３は、チェックフラグＦＬｃが「１（オン）」に設定されていると（ステップＳ１１７：Ｙｅｓ）、ローテーションフラグＦＬｒを更新する（ステップＳ１１８）。ここで、フラグ管理部１１８３は、ローテーションフラグＦＬｒが「０」に設定されている場合、ローテーションフラグＦＬｒを「１」に更新する。また、フラグ管理部１１８３は、ローテーションフラグＦＬｒが「１」に設定されている場合、ローテーションフラグＦＬｒを「２」に更新する。更に、フラグ管理部１１８３は、ローテーションフラグＦＬｒが「２」に設定されている場合、ローテーションフラグＦＬｒを「０」に更新する。
【００６４】
次に、フラグ管理部１１８３は、チェックフラグＦＬｃを「０（オフ）」に設定する（ステップＳ１１９）。その後、図４のステップＳ１０９の処理が実行される。
【００６５】
次に、本実施の形態に係る接続装置１２の制御部１２０が実行するコマンド送信処理について図７乃至図８Ｃを参照しながら説明する。制御部１２０は、コマンド送信処理を実行することにより、操作部１１から受信した各種情報に基づいてＰＣ１６で実行されるコマンドを特定してＰＣ１６へ送信する。コマンド送信処理は、接続装置１２へ電源が投入され、制御部１２０のＣＰＵ１２１がリセットされ、ＰＣ１６とのＵＳＢ通信並びに操作部１１との通信が確立し操作部１１から各種情報を受信したことを契機として開始される。
【００６６】
まず、遷移情報生成部１２１２は、図７に示すように、接続装置１２が操作部１１から押下フラグＦＬｐ、ロックフラグＦＬｌ、ローテーションフラグＦＬｒ、傾きフラグＦＬｔおよび移動情報を受信したか否かを判定する（ステップＳ２０１）。遷移情報生成部１２１２は、フラグ履歴記憶部１２２１に新たな押下フラグＦＬｐ、ロックフラグＦＬｌ、ローテーションフラグＦＬｒおよび傾きフラグＦＬｔが記憶され、移動情報記憶部１２２２に新たな移動情報が記憶されているか否かを判定する。遷移情報生成部１２１２は、操作部１１から押下フラグＦＬｐ、ロックフラグＦＬｌ、ローテーションフラグＦＬｒ、傾きフラグＦＬｔおよび移動情報を受信しない限り（ステップＳ２０１：Ｎｏ）、ステップＳ２０１の処理を繰り返し実行する。
【００６７】
遷移情報生成部１２１２が、操作部１１から押下フラグＦＬｐ、ロックフラグＦＬｌ、ローテーションフラグＦＬｒ、傾きフラグＦＬｔおよび移動情報を受信したと判定したとする（ステップＳ２０１：Ｙｅｓ）。この場合、遷移情報生成部１２１２は、フラグ履歴記憶部１２２１が記憶する新たな押下フラグＦＬｐの内容と、直前の押下フラグＦＬｐの内容と、を比較して、押下フラグＦＬｐの遷移を示す遷移情報を生成して遷移履歴記憶部１２２３に記憶させる（ステップＳ２０２）。
【００６８】
次に、特定部１２１３は、例えば図３Ａに示すような操作モードテーブルＴＡ１を参照して、ロックフラグＦＬｌ、ローテーションフラグＦＬｒおよび傾きフラグＦＬｔに応じた操作モードを特定する（ステップＳ２０３）。例えばローテーションフラグＦＬｒが「０」に設定され且つロックフラグＦＬｌが「０（オフ）」に設定されているとする。この場合、操作モード設定状態は、図８Ａに示すように、傾きフラグＦＬｔが「０（水平）」であれば「Ａモード」、傾きフラグＦＬｔが「１（左傾斜）」であれば「Ｂモード」、傾きフラグＦＬｔが「２（右傾斜）」であれば「Ｃモード」となる状態（第１可変状態）にある。なお、図８Ａ乃至図８Ｃにおいて、操作部１１のリング部１１４の図示は省略している。また、ローテーションフラグＦＬｒが「１」に設定され且つロックフラグＦＬｌが「０（オフ）」に設定されているとする。この場合、操作モード設定状態は、図８Ｂに示すように、傾きフラグＦＬｔが「０（水平）」であれば「Ｂモード」、傾きフラグＦＬｔが「１（左傾斜）」であれば「Ｃモード」、傾きフラグＦＬｔが「２（右傾斜）」であれば「Ａモード」となる状態（第２可変状態）にある。更に、ローテーションフラグＦＬｒが「２」に設定され且つロックフラグＦＬｌが「０（オフ）」に設定されているとする。この場合、操作モード設定状態は、図８Ｃに示すように、傾きフラグＦＬｔが「０（水平）」であれば「Ｃモード」、傾きフラグＦＬｔが「１（左傾斜）」であれば「Ａモード」、傾きフラグＦＬｔが「２（右傾斜）」であれば「Ｂモード」となる状態（第３可変状態）にある。つまり、操作モード設定状態は、操作部１１の姿勢が水平姿勢である場合に操作部１１に設定される操作モードと、操作部１１の姿勢が左傾斜姿勢である場合に操作部１１に設定される操作モードと、操作部１１の姿勢が右傾斜姿勢である場合に操作部１１に設定される操作モードとが互いに異なる状態となる。また、操作モード設定状態は、ローテーションフラグＦＬｒの内容に応じて、操作部１１の姿勢が水平姿勢、左傾斜姿勢および右傾斜姿勢のそれぞれ場合において操作部１１に設定される操作モードが異なる。
【００６９】
一方、ローテーションフラグＦＬｒが「０」に設定され且つロックフラグＦＬｌが「１（オン）」に設定されているとする。この場合、操作モード設定状態は、図９Ａに示すように、傾きフラグＦＬｔの内容とは無関係に、操作部１１に設定される操作モードが「Ａモード」となる状態（第１固定状態）にある。なお、図９Ａ乃至図９Ｃにおいて、操作部１１のリング部１１４の図示は省略している。また、ローテーションフラグＦＬｒが「１」に設定され且つロックフラグＦＬｌが「１（オン）」に設定されているとする。この場合、操作モード設定状態は、図９Ｂに示すように、傾きフラグＦＬｔの内容とは無関係に、操作部１１に設定される操作モードが「Ｂモード」となる状態（第２固定状態）にある。更に、ローテーションフラグＦＬｒが「２」に設定され且つロックフラグＦＬｌが「１（オン）」に設定されているとする。この場合、操作モード設定状態は、図９Ｃに示すように、傾きフラグＦＬｔの内容とは無関係に、操作部１１に設定される操作モードが「Ｃモード」となる状態（第３固定状態）にある。
【００７０】
図７に戻って、次に、特定部１２１３は、遷移履歴記憶部１２２３が記憶する押下フラグＦＬｐの遷移情報の履歴に基づいて、クリック操作が有りか否かを判定する（ステップＳ２０４）。ここで、特定部１２１３は、直近の遷移情報「Ｐ」の継続期間が予め設定された第１継続期間閾値以上である場合、クリック操作が有ったと判定する。即ち、特定部１２１３は、図１０に示すように、直近の遷移情報「Ｐ」の継続期間△Ｔが予め設定された第１継続期間閾値△Ｔｔｈ１よりも長い場合、クリック操作が有りと判定する。
【００７１】
特定部１２１３は、クリック操作が有ったと判定すると（ステップＳ２０４：Ｙｅｓ）、例えば図３Ｂに示すようなコマンドテーブルＴＡ２を参照して、特定された操作モードにおけるクリック操作に対応するコマンドを特定する（ステップＳ２０５）。続いて、コマンド送信部１２１４は、特定部１２１３が特定したコマンドをＰＣ１６へ送信する（ステップＳ２０６）。一方、特定部１２１３は、クリック操作が無いと判定すると（ステップＳ２０４：Ｎｏ）、特定された操作モードに対応するスライド操作に対応するコマンドを特定する（ステップＳ２０７）。その後、ステップＳ２０６の処理が実行される。ステップＳ２０６の処理が実行された後、再びステップＳ２０１の処理が実行される。
【００７２】
これにより、ロックフラグＦＬｌが「０（オフ）」に設定されている状態、即ち、操作部１１の操作モード設定状態が、操作部１１の傾きによって操作部１１が異なる操作モードに設定される状態（第１状態）であるとする。この場合、特定部１２１３は、操作部１１の姿勢が水平姿勢で操作部１１が操作されたときと、操作部１１の姿勢が左傾斜姿勢で操作部１１が操作されたときと、操作部１１の姿勢が右傾斜姿勢で操作部１１が操作されたときとで、互いに異なるコマンドを特定する。一方、ロックフラグＦＬｌが「１（オン）」に設定されている状態、即ち、操作部１１の操作モード設定状態が、操作部１１の傾きに関わらず操作部１１が同一の操作モードに設定される状態（第２状態）であるとする。この場合、特定部１２１３は、操作部１１の姿勢が水平姿勢で操作部１１が操作されたときと、操作部１１の姿勢が左傾斜姿勢で操作部１１が操作されたときと、操作部１１の姿勢が右傾斜姿勢で操作部１１が操作されたときとで、同一のコマンドを特定する。
【００７３】
次に、本実施の形態に係るユーザインタフェース装置１の動作を、状態遷移図を用いて説明する。ここにおいて、図８Ａ乃至図８Ｃに示す操作部１１の傾きに応じて操作モードが変化する状態をそれぞれ状態ＳＴ１、ＳＴ２、ＳＴ３とし、図９Ａ乃至図９Ｃに示す操作部１１の傾きに依らず操作モードが固定された状態をそれぞれ状態ＳＴ４、ＳＴ５、ＳＴ６とする。そうすると、ユーザインタフェース装置１は、図１１に示すような状態遷移図に従ってその状態が変化する。図１１において、「Ｌ操作」とは、ロックフラグの内容を更新するために操作部１１に対して行う操作である。「Ｌ操作」では、まず、ユーザは、操作部１１の姿勢が水平姿勢の状態でプッシュスイッチ１１３を押下する。そして、ユーザは、プッシュスイッチ１１３を押下した状態を維持しつつ操作部１１の姿勢を水平姿勢から図５Ｂに示すようにリング部１１４の中心軸Ｊ２回りの第１方向（図５Ｂの左回り）に傾斜させて左傾斜姿勢に変化させてからプッシュスイッチ１１３を離す（第１操作）。これにより、操作部１１の操作モード設定状態は、操作部１１の傾きによって操作部１１が異なる操作モードに設定される状態（第１状態、第３状態、第４状態）から操作部１１の傾きに関わらず操作部１１が同一の操作モードに設定される状態（第２状態）へ遷移したり、第２状態から第１状態、第３状態または第４状態へ遷移したりする。
【００７４】
また、図１１において、「Ｒ操作」とは、ローテーションフラグの内容を更新するために操作部１１に対して行う操作である。「Ｒ操作」では、まず、ユーザは、操作部１１が水平姿勢の状態でプッシュスイッチ１１３を押下する。そして、ユーザは、プッシュスイッチ１１３を押下した状態を維持しつつ操作部１１の姿勢を水平姿勢から図５Ｃに示すようにリング部１１４の中心軸Ｊ２回りの第２方向（図５Ｃの右回り）に傾斜させて右傾斜姿勢に変化させてからプッシュスイッチ１１３を離す（第２操作）。これにより、操作モード設定状態は、操作部１１が水平姿勢、左傾斜姿勢および右傾斜姿勢のときに操作モードが「Ａモード」、「Ｂモード」、「Ｃモード」に設定される状態（第１可変状態）から「Ｂモード」、「Ｃモード」、「Ａモード」に設定される状態（第２可変状態）へ遷移する。或いは、操作モード設定状態は、操作部１１が水平姿勢、左傾斜姿勢および右傾斜姿勢のときに操作モードが「Ｂモード」、「Ｃモード」、「Ａモード」に設定される状態（第２可変状態）から「Ｃモード」、「Ａモード」、「Ｂモード」に設定される状態（第３可変状態）へ遷移する。或いは、操作モード設定状態は、操作部１１が水平姿勢、左傾斜姿勢および右傾斜姿勢のときに操作モードが「Ｃモード」、「Ａモード」、「Ｂモード」に設定される状態（第３可変状態）から「Ａモード」、「Ｂモード」、「Ｃモード」に設定される状態（第１可変状態）へ遷移する。そして、ユーザは、この「Ｌ操作」と「Ｒ操作」とを適宜組み合わせて実施することにより、操作モード設定状態を状態ＳＴ１乃至ＳＴ６のいずれかに遷移させることができる。
【００７５】
次に、このユーザインタフェース装置１の使用方法について、ドラッグ操作とコピー操作とペースト操作を連続して行う方法を例に挙げて説明する。ここでは、ユーザインタフェース装置１の使用方法を、２つの操作釦を有する一般的なマウスから構成されるユーザインタフェース装置の場合と比較しながら説明する。ここでは、テーブル記憶部１２３１が、図３に示すような操作モードテーブルＴＡ１およびコマンドテーブルＴＡ２を記憶している場合について説明する。
【００７６】
まず、２つの操作釦を有する一般的なマウスから構成されるユーザインタフェース装置を用いて、ドラッグ操作とコピー操作とペースト操作を連続して行う方法について説明する。ユーザは、まず、マウスを把持して動かすことにより、表示画面に表示されているカーソルを、コピーしようとする領域（以下、「コピー領域」と称する。）の起点まで移動させる。次に、ユーザは、２つの操作釦のうちの一方を押下することによりコピー領域の起点を選択し、上記一方の操作釦を押下した状態でマウスを動かしてドラッグ操作を行うことにより、コピー領域を選択してから上記一方の操作釦を放す。続いて、ユーザは、２つの操作釦のうちの他方に対してクリック操作を行うことにより、表示画面にコマンドメニュー画面を表示させる。その後、ユーザは、マウスを動かすことにより、表示画面に表示されているカーソルをコマンドメニュー画面内に表示されている「コピー」コマンド選択位置へ移動させる。次に、ユーザは、上記一方の操作釦に対してクリック操作を行うことにより、ＰＣに「コピー」コマンドを実行させる。続いて、ユーザは、マウスを動かすことにより、表示画面に表示されているカーソルを、コピー領域に含まれる情報を貼り付けようとする（ペーストしようとする）領域（以下、「ペースト領域」と称する。）の起点まで移動させる。その後、ユーザは、上記一方の操作釦に対してクリック操作を行うことにより、ペースト領域の起点を選択する。その後、ユーザは、上記他方の操作釦に対してクリック操作を行うことにより、表示画面にコマンドメニュー画面を表示させる。次に、ユーザは、マウスを動かすことにより、表示画面に表示されているカーソルをコマンドメニュー画面内に表示されている「ペースト」コマンド選択位置へ移動させる。次に、ユーザは、上記一方の操作釦に対してクリック操作を行うことにより、ＰＣに「ペースト」コマンドを実行させる。
【００７７】
次に、本実施の形態に係るユーザインタフェース装置１を用いて、ドラッグ操作とコピー操作とペースト操作を連続して行う方法について説明する。ユーザは、まず、操作部１１の第１基準軸Ｊ１が鉛直軸Ｊ０に等しい状態を維持したまま、トラックボール１１２９を動かすことにより、表示画面に表示されているカーソルを、コピー領域の起点まで移動させる。次に、ユーザは、トラックボール１１２９を押し込んでプッシュスイッチ１１３を押下することによりコピー領域の起点を選択する。そして、ユーザは、図５Ｂに示すように、操作部１１の第１基準軸Ｊ１を、鉛直軸Ｊ０に対して第１方向（図５Ｂでの左回り方向）に角度閾値θｔｈよりも大きい角度θ１だけ傾斜させる。続いて、ユーザは、操作部１１を傾斜させたまま、トラックボール１１２９を動かしてドラッグ操作を行うことにより、コピー領域を選択してから、トラックボール１１２９を介してプッシュスイッチ１１３に対してクリック操作を行うことにより、表示画面にコマンドメニュー画面を表示させる。次に、ユーザは、操作部１１の第１基準軸Ｊ１を鉛直軸Ｊ０に等しい状態に戻してから、トラックボール１１２９を動かすことにより、表示画面に表示されているカーソルをコマンドメニュー画面内に表示されている「コピー」コマンド選択位置へ移動させる。続いて、ユーザは、トラックボール１１２９を介してプッシュスイッチ１１３に対してクリック操作を行うことにより、ＰＣに「コピー」コマンドを実行させる。そして、ユーザは、操作部１１の第１基準軸Ｊ１が鉛直軸Ｊ０に略等しい状態を維持したまま、トラックボール１１２９を動かすことにより、表示画面に表示されているカーソルを、ペースト領域の起点まで移動させる。その後、ユーザは、再び図５Ｂに示すように、操作部１１の第１基準軸Ｊ１を、鉛直軸Ｊ０に対して第１方向（図５Ｂでの左回り方向）に角度θ１だけ傾斜させる。次に、ユーザは、トラックボール１１２９を介してプッシュスイッチ１１３に対してクリック操作を行うことにより、表示画面にコマンドメニュー画面を表示させる。続いて、ユーザは、操作部１１の第１基準軸Ｊ１を鉛直軸Ｊ０に略等しい状態に戻してから、トラックボール１１２９を動かすことにより、表示画面に表示されているカーソルをコマンドメニュー画面内に表示されている「ペースト」コマンド選択位置へ移動させる。その後、次に、ユーザは、トラックボール１１２９を介してプッシュスイッチ１１３に対してクリック操作を行うことにより、ＰＣに「ペースト」コマンドを実行させる。このように、一般的なマウスの場合、９つの手順を踏むのに対して、本実施の形態に係るユーザインタフェースの場合、１４個の手順を踏むことになる。ユーザインタフェース装置１を用いてドラッグ操作、コピー操作およびペースト操作を連続して行うときの操作手順の数は、２つの操作釦を有する一般的なマウスから構成されるユーザインタフェース装置の場合のそれに比べて極端に多いものではない。
【００７８】
以上説明したように、本実施の形態に係るユーザインタフェース装置１では、特定部１２１３が、操作部１１から取得した押下フラグの履歴および移動情報と傾きフラグとローテーションフラグおよびロックフラグとの組み合わせに基づいて、情報処理装置で実行されるコマンドを特定する。これにより、特定部１２１３は、１つの押下フラグまたは移動情報について複数の傾きフラグそれぞれに対応する複数種類のコマンドを特定できる。即ち、特定部１２１３は、押下フラグおよび移動情報のみで特定できるコマンドの数に比べて多くのコマンドを特定することができるので、ユーザは操作部１１に対する各操作に割り当てるコマンドを別のコマンドに切り替えるための操作を行う頻度が低減される。このように、本実施の形態に係るユーザインタフェース装置１は、操作部１１の押下フラグおよび移動情報報のみに基づいてコマンドを特定するユーザインタフェース装置に比べて、操作部１１に対する操作に割り当てるコマンドを切り替えるための操作が簡素化されている。
【００７９】
また、本実施の形態に係るユーザインタフェース装置１では、操作モードテーブルＴＡ１において、操作部１１の傾きフラグ、ロックフラグおよびローテーションフラグと、操作モードと、が対応付けられている。また、コマンドテーブルＴＡ２において、操作部１１の操作モード、クリック操作の有無およびスライド操作の有無とＰＣ１６で実行されるコマンドとが対応づけられている。そして、特定部１２１３が、操作モードテーブルＴＡ１およびコマンドテーブルＴＡ２を参照してコマンドを特定する。これにより、ユーザは、操作モードテーブルＴＡ１およびコマンドテーブルＴＡ２の内容を更新するだけで、操作部１１に対する操作それぞれに割り当てるコマンドを比較的容易に別のコマンドに切り替えることができる。例えば、図３Ｂに示すコマンドテーブルＴＡ２について、Ｂモードに割り当てる動作を、ドラッグからカーソルキー動作等に変更することが可能である。
【００８０】
更に、本実施の形態に係るフラグ記憶部１１９１は、ロックフラグとローテーションフラグとチェックフラグとを記憶する。そして、フラグ管理部１１８３は、傾きフラグが「０（水平）」（第１値）に設定されている場合、押下フラグの内容に応じてチェックフラグを「０」（第４値）または「１」（第５値）に設定する。また、フラグ管理部１１８３は、傾きフラグが「１（左傾斜）」（第２値）に設定され且つチェックフラグが「１」（第５値）に設定されている場合、押下フラグの内容に応じてロックフラグを更新する。更に、フラグ管理部１１８３は、傾きフラグが「２（右傾斜）」（第３値）に設定され且つチェックフラグが「１」（第５値）に設定されている場合、押下フラグの内容に応じてローテーションフラグを更新する。これにより、ユーザが操作部１１を傾けただけで頻繁にロックフラグまたはローテーションフラグが更新されることが防止されるので、ユーザインタフェースの操作性が向上するという利点がある。
【００８１】
また、本実施の形態に係る操作部１１は、ユーザが人指し指に装着することができる円環状のリング部１１４を有している。そして、トラッキングセンサ１１２のトラックボール１１２９の一部が、本体部１１１の一部から露出するように配置されている。また、プッシュスイッチ１１３は、トラックボール１１２９を押し込んだときに押下されるように配置されている。これにより、ユーザは、親指の先端をトラックボール１１２９のみに接触させることによりＰＣ１６の操作を行うことができるので、机がないような場所でも使用が制限されることはない。
【００８２】
（実施の形態２）
本実施の形態に係る情報処理システムは、図１２に示すように、キーボード（入力装置）３０１０に着脱自在に装着された２つの操作部３０１１を備える点が実施の形態１と相違する。なお、図１２において実施の形態１と同様の構成については図１Ａと同一の符号を付している。キーボード３０１０は、ＰＣ１６にケーブルＣＡを介して有線接続されている。２つの操作部３０１１は、ユーザの手のひらに納まる程度の大きさのいわゆるパーム型の形状を有する。操作部３０１１は、トラッキングセンサ３１１２とプッシュスイッチ３１１３とを有する。プッシュスイッチ３１１３は、トラッキングセンサ３１１２の裏側に配置されており、ユーザがトラッキングセンサ３１１２を押し込むと押下される。トラッキングセンサ３１１２は、光学式のトラッキングセンサから構成され、タッチ面がキーボード３０１０の外面に露出する形で配置されている。また、キーボード３０１０には、２つ操作部３０１１それぞれが装着される装着部３２１８と、操作部３０１１を装着部３２１８から離脱させる際に押下される解除釦３２１９が設けられている。
【００８３】
操作部３０１１は、図１３に示すように、制御部１１０と無線通信部１１５と加速度センサ１１６と蓄電部３１１８と電源回路３１１９と電源コネクタ（第１電源コネクタ）３１２０とを更に備える。なお、図１３において実施の形態１と同様の構成については図２と同一の符号を付している。電源コネクタ３１２０は、キーボード３０１０から電力供給を受けるためのコネクタである。蓄電部３１１８は二次電池から構成される。
【００８４】
電源回路３１１９は、昇降圧回路を有する。操作部３０１１がキーボード３０１０の装着部３２１８に嵌め込まれているとする。この場合、電源回路３１１９は、キーボード３０１０から電力供給をド３０１０の装着部３２１８から離脱している場合、電源回路３１１９は、蓄電部３１１８受けて、蓄電部３１１８を充電するとともに、トラッキングセンサ３１１２、加速度センサ１１６、制御部１１０および無線通信部１１５へ電力を供給する一方、操作部３０１１がキーボーから電力供給を受けて、トラッキングセンサ３１１２、加速度センサ１１６、制御部１１０および無線通信部１１５へ電力を供給する。
【００８５】
キーボード３０１０は、制御部１２０とＵＳＢインタフェース３２１４と無線通信部３２１５と２つの電源コネクタ（第２電源コネクタ）３２１７とを備える。無線通信部３２１５は、実施の形態１で説明した無線通信部１２５と同様の構成を有する。また、制御部１２０は、実施の形態１と同様のハードウェア構成を有する。このキーボード３０１０と２つの操作部３０１１とからユーザインタフェース装置３００１が構成されている。
【００８６】
制御部１２０は、実施の形態１で説明したようにＣＰＵ１２１とＲＡＭ（図示せず）とＲＯＭ（図示せず）とを有する。ＲＯＭは、実施の形態１と同様に、テーブル記憶部（図示せず）を有する。また、ＲＡＭは、実施の形態１と同様に、フラグ履歴記憶部（図示せず）と移動情報記憶部（図示せず）と遷移履歴記憶部（図示せず）とコマンド記憶部（図示せず）とを有する。テーブル記憶部は、実施の形態１で説明した操作モードテーブルＴＡ１およびコマンドテーブルＴＡ２の他に、図１４に示すようなコマンドテーブルＴＡ１１を記憶している。コマンドテーブルＴＡ１１は、図１２における左側の操作部（以下、「左側操作部」と称する。）３０１１の押下操作の有無およびトラッキングセンサ３１１２でのスライド操作の有無と、図１２における右側の操作部（以下、「右側操作部」と称する。）３０１１の押下操作の有無およびトラッキングセンサ３１１２でのスライド操作の有無と、ＰＣ１６で実行されるコマンドと、が対応付けられている。また、「押下操作有り」は、押下フラグが「１（オン）」であることに相当し、「押下操作無し」は、押下フラグが「０（オフ）」であることに相当する。ＣＰＵ１２１は、ＲＯＭからプログラムをＲＡＭに読み込んで実行することにより、取得部１２１１、遷移情報生成部１２１２、特定部１２１３、コマンド送信部１２１４およびフラグ設定部３１２９として機能する。フラグ設定部３１２９は、操作部３０１１から受信した操作情報に応じて、ＲＯＭのフラグ履歴記憶部が記憶する押下フラグの内容を設定する。
【００８７】
ＵＳＢインタフェース３２１４は、ケーブルＣＡを介してＰＣ１６のＵＳＢインタフェース１６４に接続されている。このＵＳＢインタフェース３２１４は、ＰＣ１６から入力された情報を制御部１２０へ出力するとともに制御部１２０から入力される操作情報をＰＣ１６へ出力する。また、ＵＳＢインタフェース３２１４は、２つの電源コネクタ３２１７それぞれにも接続されている。
【００８８】
電源コネクタ３２１７は、操作部３０１１が装着部３２１８に装着された状態で操作部３０１１の電源コネクタ３１２０と電気的に接続される。この状態において、ＰＣ１６からケーブルＣＡ、ＵＳＢインタフェース３２１４を介して供給される電力が、電源コネクタ３２１７を介して操作部３０１１へ供給される。
【００８９】
ＰＣ１６は、ＵＳＢインタフェース３２１４を介して、キーボード３０１０との間で情報の授受を実行するとともにキーボード３０１０へ電力を供給する。
【００９０】
次に、本実施の形態に係るキーボード３０１０の制御部１２０が実行するコマンド送信処理について図１５を参照しながら説明する。なお、図１５において実施の形態１で説明した処理と同様の処理については図７と同一の符号を付している。また、このコマンド送信処理は、接続装置１２へ電源が投入され、制御部１２０のＣＰＵ１２１がリセットされ、ＰＣ１６とのＵＳＢ通信並びに操作部１１との通信が確立し操作部１１から各種情報を受信したことを契機として開始される。
【００９１】
まず、取得部１２１１は、２つの操作部３０１１が装着部３２１８に装着されているか否かを判定する（ステップＳ３０１）。取得部１２１１により２つの操作部３０１１の少なくとも一方が装着部３２１８から離脱していると判定されると（ステップＳ３０１：Ｎｏ）、実施の形態１の図７のステップＳ２０１以降の処理が実行される。即ち、２つの脱着可能な操作部３０１１のいずれか一方が、装着部３２１８から離脱した場合、離脱した方の操作部３０１１は、実施の形態１で説明したフラグ設定処理と同様の処理を実行し、キーボード３０１０の制御部１２０は、実施の形態１で説明したコマンド送信処理と同様の処理を実行する。
【００９２】
一方、取得部１２１１は、２つの操作部３０１１が装着部３２１８に装着されていると判定すると（ステップＳ３０１：Ｙｅｓ）、２つの操作部３０１１から操作情報を受信したか否かを判定する（ステップＳ３０２）。取得部１２１１は、操作情報を受信していない場合（ステップＳ３０２：Ｎｏ）、再びステップＳ３０２の処理を実行する。一方、取得部１２１１は、操作情報を受信した場合（ステップＳ３０２：Ｙｅｓ）、まず、図１２における左側操作部３０１１から受信した操作情報に含まれる移動速度情報と移動方向情報とを移動情報記憶部に記憶させる（ステップＳ３０３）。
【００９３】
続いて、フラグ設定部３１２９は、左側操作部３０１１の操作情報に含まれる押下フラグの内容を参照して、左側操作部３０１１のプッシュスイッチ３１１３が押下されているか否かを判定する（ステップＳ３０４）。フラグ設定部３１２９は、左側操作部３０１１のプッシュスイッチ３１１３が押下されていると判定すると（ステップＳ３０４：Ｙｅｓ）、フラグ履歴記憶部が記憶する左側操作部３０１１の押下フラグを「１（オン）」に設定する（ステップＳ３０５）。一方、フラグ設定部３１２９は、左側操作部３０１１のプッシュスイッチ３１１３が押下されていないと判定すると（ステップＳ３０４：Ｎｏ）、左側操作部３０１１の押下フラグを「０（オフ）」に設定する（ステップ３０６）。
【００９４】
その後、フラグ設定部３１２９は、他方の操作部、即ち、右側操作部３０１１について押下フラグの設定が完了したか否かを判定する（ステップＳ３０７）。フラグ設定部３１２９により右側操作部３０１１について押下フラグの設定が完了していないと判定されると（ステップＳ３０７：Ｎｏ）、右側操作部３０１１についてステップＳ３０４からＳ３０６までの一連の処理が実行される。
【００９５】
一方、フラグ設定部３１２９が、右側操作部３０１１について押下フラグの設定が完了したと判定したとする（ステップＳ３０７：Ｙｅｓ）。この場合、特定部１２１３は、図１４に示すようなコマンドテーブルＴＡ１１を参照して、押下フラグの内容、移動速度情報および移動方向情報と、に基づいて、ＰＣ１６で実行されるコマンドを特定する（ステップＳ３０８）。
【００９６】
次に、コマンド送信部１２１４は、特定部１２１３が特定したコマンドをＰＣ１６へ送信する（ステップＳ３０９）。その後、再びステップＳ３０１の処理が実行される。
【００９７】
本実施の形態に係るユーザインタフェース装置３００１によれば、操作部３０１１がキーボード３０１０の装着部３２１８に装着された状態で、操作部３０１１の蓄電部３１１８が充電される。また、２つの操作部３０１１のいずれか一方が、装着部３２１８から離脱した場合、他方の操作部３０１１は、装着部３２１８に装着された状態でＰＣ１６からの充電が継続される。従って、例えば２つの操作部３０１１を交互に装着部３２１８から離脱させて使用することにより、操作部３０１１のいわゆる電池切れのリスクが回避される。つまり、故障が無い限り半永久的に使用できるという利点がある。また、操作部３０１１がキーボード３０１０から離脱された状態では、ユーザがＰＣ１６やキーボード３０１０から離れたところでＰＣ１６の操作を行うことができるという利点もある。
【００９８】
（変形例）
以上、本発明の実施の形態について説明したが、本発明は前述の実施の形態の構成に限定されるものではない。例えば図１６に示すように、いわゆるペン型の操作部５０１１を備える構成であってもよい。
【００９９】
この操作部５０１１は、ペン形状である本体部５１１１と、トラッキングセンサ５１１２と、ノックボタン５１１３と、を備える。本体部５１１１は、トラッキングセンサ５１１２、ノックボタン５１１３および加速度センサ（図示せず）を収納する。トラッキングセンサ５１１２は、本体部５１１１の長手方向における一端部に設けられ、本体部５１１１の外側面に露出するように配置されている。ノックボタン５１１３は、本体部５１１１の長手方向における一端部から本体部５１１１の長手方向に沿って突出し、本体部５１１１の長手方向に沿って本体部５１１１側に押し付ける方向へ押圧力を作用させたとき押下される。操作部５０１１のその他の構成は、図２に示す操作部１１の構成と同様である。ユーザは、図１７に示すように右手ＲＨに操作部５０１１を把持してＰＣ１６の操作を行うことができる。また、この操作部５０１１は、ボールペンやシャープペンシルのような筆記具としての機能を有するものであってもよい。この場合、操作部５０１１は、ノックボタン５１１３の機能を筆記具のノックボタン機能またはＰＣ１６の操作用ボタン機能のいずれかに切り替えるための切替スイッチを更に備える構成となる。
【０１００】
或いは、トラッキングセンサ５１１２の裏側にプッシュスイッチを備える構成であってもよい。この場合、ノックボタン５１１３は芯送り出し機能に特化させることができるので、上記切替スイッチが不要となる。
【０１０１】
また、操作部５０１１は、その先端部からレーザ光を放射するレーザポインタとして機能するものであってもよい。この場合、操作部５０１１は、ノックボタン５１１３の機能をレーザポインタのオンオフスイッチ機能またはＰＣ１６の操作用ボタン機能のいずれかに切り替えるための切替スイッチを更に備える構成となる。この切替スイッチとしては、例えば本体部５１１１のペン先側を本体部５１１１のノックボタン５１１３側に対して予め設定された角度だけ回転させることができる回転機構を利用したものを採用できる。この場合、例えば本体部５１１１のペン先側に対して本体部５１１１のノックボタン５１１３側をペン先側から見て右方向に回して固定すると操作部として機能し、ペン先側から見て左方向に回して固定するとレーザポインタとして機能する構成にできる。
【０１０２】
本構成によれば、操作部５０１１が筆記具或いはレーザポインタとしても機能するので、ユーザは操作部５０１１を多様な用途に利用することができる。また、本体部５１１１は、実施の形態１で説明したリング型の操作部１１の本体部１１１に比べて内部の容積を大きくすることができる。従って、本体部５１１１の内容に蓄電部用に大きなスペースを確保し易くなる。
【０１０３】
実施の形態１では、操作部１１が片手のみに装着される例について説明したが、これに限らず、例えば図１８に示すように、左手ＬＨおよび右手ＲＨそれぞれに装着された２つの操作部１１を備える構成であってもよい。
【０１０４】
この変形例に係る２つの操作部１１および接続装置１２の構成は、実施の形態１で説明した操作部１１および接続装置１２の構成と同様である。フラグ履歴記憶部１２２１は、２つの操作部１１それぞれについてのロックフラグ、ローテーションフラグ、押下フラグおよび傾きフラグを記憶する。また、移動情報記憶部１２２２は、２つの操作部１１それぞれについての移動情報を区別して記憶する。遷移履歴記憶部１２２３は、２つの操作部１１それぞれについての押下フラグの遷移情報の履歴を区別して記憶している。
【０１０５】
テーブル記憶部１２３１は、図１９に示すようなコマンドテーブルＴＡ３を記憶する。コマンドテーブルＴＡ３では、ＰＣ１６で実行される各種コマンドを、ユーザの左手ＬＨに装着された操作部（以下、「左側操作部」と称する。）１１の操作モードと、ユーザの右手ＲＨに装着された操作部（以下、「右側操作部」と称する。）１１の操作モードと、２つの操作部１１それぞれについてのクリック操作の有無およびスライド操作の有無と、に対応付けている。
【０１０６】
取得部１２１１は、接続装置１２が２つの操作部１１それぞれから受信した操作情報からフラグを抽出して、２つの操作部１１のいずれのフラグかを区別できる形でフラグ履歴記憶部１２２１に時系列に記憶させる。また、取得部１２１１は、接続装置１２が２つの操作部１１それぞれから受信した操作情報から移動情報を抽出して、２つの操作部１１のいずれのフラグかを区別できる形で移動情報記憶部１２２２に記憶させる。
【０１０７】
遷移情報生成部１２１２は、２つの操作部１１それぞれについて押下フラグの遷移情報を生成して遷移履歴記憶部１２２３に記憶させる。
【０１０８】
特定部１２１３は、フラグ履歴記憶部１２２１が記憶するフラグから２つの操作部１１それぞれの操作モードを特定する。そして、特定部１２１３は、特定した２つの操作部１１それぞれ操作モードと、２つの操作部１１それぞれについてのスライド操作の有無およびクリック操作の有無と、に基づいて、コマンド送信部１２１４が送信するコマンドを特定する。
【０１０９】
なお、本変形例に係る制御部１１０が実行するフラグ設定処理並びに制御部１２０が実行するコマンド送信処理は、実施の形態１で説明したフラグ設定処理並びにコマンド送信処理と同様である。但し、各操作部１１の制御部１１０は、図４のステップＳ１０９の処理において、フラグおよび移動情報に、２つの操作部１１のいずれについての情報であるかを識別する操作部識別情報を付与して接続装置１２へ送信する。また、接続装置１２の制御部１２０は、図７のステップＳ２０２の処理において、２つの操作部１１それぞれについて個別に遷移情報を生成し、ステップＳ２０３の処理において、２つの操作部１１それぞれについて操作モードを特定する。また、制御部１２０は、ステップＳ２０４の処理において、２つの操作部１１それぞれについて個別にクリック操作の有無を判定する。
【０１１０】
本構成によれば、特定部１２１３が、２つの操作部１１それぞれについて、傾きフラグ、ローテーションフラグおよびロックフラグの組み合わせから操作モードを特定する。そして、特定部１２１３は、２つの操作部１１それぞれから取得した押下フラグの遷移情報および移動情報と、操作モードと、の組み合わせに基づいて、ＰＣ１６で実行されるコマンドを特定する。これにより、特定部１２１３は、２つの操作部１１それぞれの押下フラグの遷移情報、スライド操作の有無および操作モードの組み合わせの数に相当する複数種類のコマンドからコマンドを特定することができる。即ち、特定部は、１つの操作部のみで特定できるコマンドの数に比べて多くのコマンドを特定することができるので、ユーザは２つの操作部１１に対する各操作に割り当てるコマンドを別のコマンドに切り替えるための操作を行う頻度が低減され。このように、本実施の形態に係るユーザインタフェース装置は、１つの操作部のみを備えるユーザインタフェース装置に比べて操作性に優れている。
【０１１１】
実施の形態１では、１つのトラッキングセンサ１１２と１つのプッシュスイッチ１１３とを有する操作部１１を備える構成について説明したが、操作部が備えるトラッキングセンサとプッシュスイッチの数は１つに限定されるものではない。例えば図２０に示すように、操作部が、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂと２つのプッシュスイッチ２１１３Ａ、２１１３Ｂとを有する操作ボード２５１１から構成されていてもよい。操作ボード２５１１は、例えば２つのトラッキングセンサ２１１２Ａ、２１１２Ｂと２つのプッシュスイッチ２１１３Ａ、２１１３Ｂとに関する操作情報と、操作ボード２５１１の傾きを示す傾きフラグと、ロックフラグおよびローテーションフラグと、を送出する。
【０１１２】
また、操作ボード２５１１は、図２１に示すように、制御部２１１０と無線通信部１１５と加速度センサ１１６と蓄電部１１７とを更に備える。制御部２１１０は、ＣＰＵ１１８とＲＡＭ１１９とＲＯＭ１１１０とを有する。ＲＡＭ１１９は、フラグ記憶部１１９１と移動情報記憶部１１９２とを有する。ＣＰＵ１１８は、ＲＯＭ１１１０からプログラムをＲＡＭ１１９に読み込んで実行することにより、操作読取部２１８１、傾き検出部１１８２、フラグ管理部１１８３および通信制御部１１８４として機能する。なお、図２１において実施の形態１と同様の構成については図２と同一の符号を付している。
【０１１３】
フラグ記憶部１１９１は、２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれの押下フラグと、操作ボード２５１１の傾きを示す傾きフラグと、ロックフラグおよびローテーションフラグと、を記憶する。移動情報記憶部１１９２は、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれについての移動情報を区別して記憶する。操作読取部２１８１は、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれから入力される信号を、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれに対応する移動情報を生成して移動情報記憶部１１９２に記憶させる。また、操作読取部１１８１は、２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれから入力される信号に応じて、２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれの押下フラグを生成してフラグ記憶部１１９１に記憶させる。通信制御部１１８４は、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれに対応する移動情報と２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれに対応する押下フラグと、傾きフラグ、ロックフラグおよびローテーションフラグとを接続装置１２へ送信する。
【０１１４】
本変形例に係る操作ボード２５１１の制御部２１１０が実行するフラグ設定処理は、実施の形態１で説明したフラグ設定処理と同様である。但し、図４のステップＳ１０２の処理において、制御部２１１０は、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれに対応する移動情報から２つのトラッキングセンサ２１１２Ａ、２１１２Ｂの少なくとも一方についてスライド操作が有るか否かを判定する。また、図４のステップＳ１０３の処理において、制御部２１１０は、２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれの押下フラグの少なくとも一方が更新されたか否かを判定する。
【０１１５】
接続装置１２の構成は、図２１に示すように、実施の形態１で説明した接続装置１２の構成と同様である。但し、フラグ履歴記憶部１２２１は、２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれの押下フラグを区別して記憶する。また、移動情報記憶部１２２２は、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれに対応する移動情報を区別して記憶する。遷移履歴記憶部１２２３は、２つの操作部１１それぞれから受信した押下フラグの遷移情報の履歴を区別して記憶している。
【０１１６】
テーブル記憶部１２３１は、図２２に示すようなコマンドテーブルＴＡ４を記憶する。コマンドテーブルＴＡ４では、ＰＣ１６で実行される各種コマンドを、操作ボード２５１１の操作モードと、２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれに対するクリック操作の有無と、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれに対するスライド操作の有無と、に対応づけている。
【０１１７】
特定部１２１３は、２つのプッシュスイッチ２１１３Ａ、２１１３Ｂそれぞれの押下フラグの遷移情報の履歴からクリック操作の有無を判定し、２つのトラッキングセンサ２１１２Ａ、２１１２Ｂそれぞれの移動情報（移動速度情報）からスライド操作の有無を判定する。そして、特定部１２１３は、コマンドテーブルＴＡ４を参照して、操作ボード２５１１の操作モードと、クリック操作の有無およびスライド操作の有無と、の組み合わせからコマンドを特定する。
【０１１８】
本構成によれば、操作ボード２５１１について、傾きフラグ、ローテーションフラグおよびロックフラグの組み合わせから操作モードを特定する。そして、特定部１２１３は、２つの操作部１１それぞれから取得した押下フラグの遷移情報および移動情報と、操作モードと、の組み合わせに基づいて、ＰＣ１６で実行されるコマンドを特定する。これにより、特定部１２１３は、１つの操作部のみで特定できるコマンドの数に比べて多くのコマンドを特定することが可能となる。
【０１１９】
各実施の形態では、図５Ｂおよび図５Ｃに示すように、操作部１１の第１基準軸Ｊ１が第２基準軸Ｊ２周りに第１方向（図５Ｂの左回り方向）または第１方向とは逆方向の第２方向（図５Ｃの右回り方向）へ傾いたときに、フラグ管理部１１８３が、傾きフラグを変更する例について説明した。但し、傾きフラグを変更するために操作部１１を傾ける方向は、１つの第２基準軸Ｊ２周りに回転する方向に限定されるものではない。例えば、操作部１１が、互いに交差する２つの基準軸それぞれの周りに傾けられたときに、傾きフラグが更新される構成であってもよい。例えば図２３Ａおよび図２３Ｂに示すように、操作部１１の第１基準軸Ｊ１が互いに直交する第２基準軸Ｊ２および第３基準軸Ｊ３周りに傾いたときに、フラグ管理部１１８３が、傾きフラグを変更する構成であってもよい。ここで、第２基準軸Ｊ２は、鉛直方向（鉛直軸Ｊ０）に直交している。また、第３基準軸Ｊ３は、鉛直方向（鉛直軸Ｊ０）および第２基準軸Ｊ２に直交している。
【０１２０】
図２３Ａに示すように、操作部１１の第１基準軸Ｊ１が第２基準軸Ｊ２周りに第１方向（図２３Ａの左回り方向）へ傾けられることにより、操作部１１が、第１基準軸Ｊ１の鉛直方向（鉛直軸Ｊ０）に対する傾斜角度θ１が角度閾値θｔｈよりも大きい姿勢になったとする。この場合、フラグ管理部１１８３は、傾きフラグを「１」に設定する。一方、図２３Ｂに示すように、操作部１１の第１基準軸Ｊ１が第３基準軸Ｊ３周りに第３方向（図２３Ｂの右回り方向）へ傾けられることにより、操作部１１が、第１基準軸Ｊ１の鉛直方向（鉛直軸Ｊ０）に対する傾斜角度θ３が角度閾値θｔｈよりも大きい姿勢になったとする。この場合、フラグ管理部１１８３は、傾きフラグを「２」に設定する。
【０１２１】
本変形例に係る操作部１１の制御部１１０が実行するフラグ設定処理は、実施の形態１で説明したフラグ設定処理と同様である。但し、図４のステップＳ１０４の処理において、フラグ管理部１１８３は、操作部１１の第２基準軸Ｊ２周りの傾斜角度θ１と第３基準軸Ｊ３周りの傾斜角度θ３の両方が角度閾値θｔｈよりも大きいと判定された場合、傾斜角度θ１、θ３に対する判定結果のいずれか一方を優先して傾きフラグを設定する。例えば、フラグ管理部１１８３が、操作部１１の第２基準軸Ｊ２周りの傾斜角度θ１に対する判定結果を優先する場合、傾斜角度θ１、θ３の両方が角度閾値θｔｈよりも大きいとき、傾きフラグを「１」に設定する。
【０１２２】
本構成によれば、操作部１１を傾ける方向のバリエーションを増やすことができるので、操作部１１の操作方法をユーザの嗜好に適合させ易くなるという利点がある。
【０１２３】
実施の形態では、接続装置１２においてＰＣ１６で実行されるコマンドを特定してＰＣ１６へ送信する例について説明した。但し、これに限らず、例えば図２４に示すように、操作部４０１１が、ＰＣ１６で実行されるコマンドを特定し、無線通信装置４０１２を介してＰＣ１６へコマンドを送信するものであってもよい。なお、図２４において実施の形態１と同様の構成については図２と同一の符号を付している。操作部４０１１のハードウェア構成は、実施の形態１で説明した操作部１１のハードウェア構成と同様である。操作部４０１１と、ＰＣ１６のＵＳＢインタフェース１６５に接続された無線通信装置４０１２とからユーザインタフェース装置４００１が構成されている。無線通信装置４０１２は、操作部４０１１からコマンドを示す情報を受信すると、そのコマンドを示す情報をＰＣ１６へ出力する。
【０１２４】
操作読取部１１８１は、プッシュスイッチ１１３から入力される信号に応じて押下フラグの内容を設定してフラグ履歴記憶部１２２１に記憶させる。フラグ管理部４１８３は、傾きフラグ、ロックフラグ、ローテーションフラグおよびチェックフラグの内容を設定してフラグ記憶部１１９１に記憶させる。コマンド送信部１２１４は、コマンド記憶部１２２４から特定部１２１３により特定されたコマンドを示す情報を取得してＰＣ１６に接続された無線通信装置４０１２へ送信する。
【０１２５】
次に、本変形例に係る操作部４０１１が実行するコマンド特定送信処理について説明する。このコマンド特定送信処理は、図４および図６に示すフラグ設定処理について、ステップＳ１０９の傾きフラグ、ロックフラグ、ローテーションフラグ、押下フラグおよび移動情報を送信する処理に代えて、図２５に示すコマンド送信処理を実行するものである。なお、図２５において、実施の形態１で説明したコマンド送信処理と同様の処理については図７と同一の符号を付している。
【０１２６】
本構成によれば、コマンドを特定する処理を操作部４０１１が担うことにより、実施の形態１で説明した接続装置１２が不要となる。
【０１２７】
実施の形態１では、接続装置１２の特定部１２１３各操作部１１の押下フラグの遷移情報に基づいて、コマンドを特定する例について説明した。但し、これに限らず、例えば特定部１２１３が、操作部１１に対応する押下フラグに基づいて、コマンドを特定する構成であってもよい。
【０１２８】
実施の形態１では、操作部１１がユーザの右手ＲＨに装着される例について説明したが、装着される場所は必ずしも右手ＲＨに限定されるものではない。例えば操作部１１がユーザの左手ＬＨに装着されるものであってもよいし、或いは、ユーザの足の指に装着されるものであってもよい。
【０１２９】
実施の形態２では、ＰＣ１６が、デスクトップ型のパソコンであり、キーボード３０１０とケーブルＣＡを介して有線接続している例について説明したが、これに限らず、ＰＣ１６とキーボード３０１０とが無線接続されているものであってもよい。或いは、ＰＣ１６の機能とキーボード３０１０の機能とを備えるノート型パソコンから構成されていてもよい。
【０１３０】
実施の形態２では、操作部３０１１がキーボード３０１０に設けられ、キーボード３０１０がＰＣ１６とケーブルＣＡを介して有線接続されている例について説明したが、これに限らず、例えば操作部３０１１がテレビ用のリモコンに設けられたものであってもよい。この場合、ユーザは、例えばテレビにインターネットのブラウザの画面を表示させた状態で、リモコンの操作部３０１１を操作してカーソル移動操作やスクロール操作を行うことができる。
【０１３１】
実施の形態１において、操作部１１は、操作部１１を構成するトラッキングセンサ１１２もしくはプッシュスイッチ１１３が、予め設定された時間だけ操作されなかった場合、低消費電力で動作するスリープモードに移行する構成であってもよい。この場合、操作部１１は、操作部１１を構成するトラッキングセンサ１１２もしくはプッシュスイッチ１１３が、操作されたことを契機として、スリープモードから通常モードへ移行するようにすればよい。
【０１３２】
各実施の形態では、操作部１１がとりうる操作モードは、「Ａモード」、「Ｂモード」、「Ｃモード」の３つである場合について説明したが、操作部１１がとりうる操作モードの数は３つに限定されるものではなく、４つ以上であってもよい。例えば、ローテーションフラグが４種類以上の値をとりうるようにし、ユーザが「Ｒ操作」を行うことにより、ローテーションフラグが４種類以上の値に設定されうるようにしてもよい。この場合、ユーザが「Ｒ操作」を行うことにより、４つ以上の操作モードの中から、操作部１１の傾きに応じて操作モードが変化する状態において実際に現れる３つの操作モードが選択される。例えば、操作部１１が「Ａモード」、「Ｂモード」、「Ｃモード」、「Ｄモード」、「Ｅモード」の５つの操作モードをとりうるとする。この場合、図２６Ａ乃至図２６Ｃ並びに図２７Ａおよび図２７Ｂに示すように、操作部１１の傾きに応じて操作モードが変化する状態として状態ＳＴ２１、ＳＴ２２、ＳＴ２３、ＳＴ２４、ＳＴ２５が存在しうる。また、図２８Ａ乃至図２８Ｃ並びに図２９Ａおよび図２９Ｂに示すように、操作部１１の傾きに依らず操作モードが固定された状態として状態ＳＴ２６、ＳＴ２７、ＳＴ２８、Ｓ２９、Ｓ３０が存在しうる。そうすると、ユーザインタフェース装置は、図３０に示すような状態遷移図に従ってその状態が変化する。なお、図３０において、「Ｌ操作」、「Ｒ操作」は、図１１における「Ｌ操作」、「Ｒ操作」と同様の操作である。図２６Ａおよび図２６Ｂに示すように、操作部１１が状態ＳＴ２１であるときに、ユーザにより「Ｒ操作」が実行されることにより操作部１１が状態ＳＴ２２に遷移すると、状態ＳＴ２１では存在しなかった操作モード「Ｄモード」が新たに現れる。また、図２６Ｂおよび図２６Ｃに示すように、操作部１１が状態ＳＴ２２であるときに、ユーザにより「Ｒ操作」が実行されることにより操作部１１が状態ＳＴ２３に遷移すると、状態ＳＴ２２では存在しなかった操作モード「Ｅモード」が新たに現れる。このように、本変形例に係るユーザインタフェース装置の場合、ユーザが「Ｒ操作」を行うことにより、５つの操作モードの中から、操作部１１の傾きに応じて操作モードが変化する状態において実際に現れる３つの操作モードを選択することができる。
【０１３３】
或いは、傾きフラグが４種類以上の値をとりうるようにし、傾きフラグの各設定値に応じて異なる操作モードが選択される構成であってもよい。例えば、操作部１１が、５つの操作モードをとりうる場合、傾きフラグが「０（水平）」、「１（左傾斜）」、「２（右傾斜）」に加えて、「３（左少し傾斜）」、「４「右少し傾斜」」に設定されるようにしてもよい。図３１Ａに示すように、操作部１１の第１基準軸Ｊ１が鉛直方向に直交する第２基準軸Ｊ２周りに第１方向（図３１Ａの左回り方向）へ回転されて第１基準軸Ｊ１の鉛直方向（鉛直軸Ｊ０）に対する傾斜角度（第１傾斜角度）θ３１が角度閾値θｔｈの半分の角度１／２θｔｈよりも大きく且つ角度閾値θｔｈ以下の範囲内になったとする。この場合、フラグ管理部１１８３は、操作部１１が左に少し傾斜した姿勢になったとして、傾きフラグを「３（左少し傾斜）」に設定する。
【０１３４】
また、図３１Ｂに示すように、操作部１１の第１基準軸Ｊ１が第２基準軸Ｊ２周りに第１方向とは逆方向の第２方向（図３１Ｂの右回り方向）へ回転されて第１基準軸Ｊ１の鉛直方向（鉛直軸Ｊ０）に対する傾斜角度（第２傾斜角度）θ２が角度閾値θｔｈの半分の角度１／２θｔｈよりも大きく且つ角度閾値θｔｈ以下の範囲内になったとする。この場合、フラグ管理部１１８３は、操作部１１が右に少し傾斜した姿勢になったとして、傾きフラグを「４（右少し傾斜）」に設定する。
【０１３５】
また、本変形例では、フラグ管理部１１８３は、図６のステップＳ１１１の処理において、傾きフラグが「１（左傾斜）」に設定されていないと判定すると（ステップＳ１１１：Ｎｏ）、傾きフラグが「２（右傾斜）」に設定されているか否かを判定する。そして、フラグ管理部１１８３は、傾きフラグが「２（右傾斜）」に設定されていると判定すると、図６のステップＳ１１６の処理を実行する。一方、フラグ管理部１１８３が、傾きフラグが「２（右傾斜）」に設定されていない、即ち、傾きフラグが「３（左少し傾斜）」または「４（右少し傾斜）」に設定されていると判定したとする。この場合、そのままステップＳ１０９の処理が実行される。
【０１３６】
接続装置１２のテーブル記憶部１２３１が、例えば図３２に示すような操作モードテーブルＴＡ５を記憶しているとする。この場合、接続装置１２の特定部１２１３は、傾きフラグが「３（左少し傾斜）」に設定されている場合、ロックフラグおよびローテーションフラグの設定値に関わらず操作モード「Ｄモード」を特定する。また、特定部１２１３は、傾きフラグが「４（右少し傾斜）」に設定されている場合、ロックフラグおよびローテーションフラグの設定値に関わらず操作モード「Ｅモード」を特定する。
【０１３７】
本構成によれば、特定部１２１３が特定できるコマンドの数を増やすことができる。
【０１３８】
実施の形態２では、２つの操作部３０１１の一方が装着部３２１８から離脱した状態で、操作部３０１１が実施の形態１で説明したフラグ設定処理を実行する例について説明した。但し、これに限らす、例えば、２つの操作部３０１１の両方が装着部３２１８から離脱した状態でのみ、操作部３０１１が実施の形態１で説明したフラグ設定処理を実行する構成であってもよい。この場合、図１５のステップＳ３０１の処理の代わりに、取得部１２１１が、２つの操作部３０１１の少なくとも一方が装着部３２１８に装着されているか否かを判定する処理を実行するようにすればよい。
【０１３９】
実施の形態１では、操作部１１の制御部１１０がフラグ設定処理を実行することにより、ロックフラグおよびローテーションフラグの内容を設定する構成について説明した。但し、これに限らす、例えば接続装置１２の制御部１２０が、ロックフラグおよびローテーションフラグの内容を設定する処理を実行する構成であってもよい。
【０１４０】
各実施の形態では、操作部が１つまたは２つの場合について説明したが、操作部の数は１つまたは２つに限定されるものではなく、３つ以上であってもよい。この場合、接続装置１２の特定部１２１３は、３つ以上の操作部それぞれから取得した操作情報または操作情報の履歴と、各操作部の操作モードと、の組み合わせに基づいて、ＰＣ１６で実行されるコマンドを特定してもよい。
【０１４１】
実施の形態１では、トラッキングセンサ１１２は、トラックボール１１２９を用いた機械式トラッキングセンサから構成されている例について説明したが、トラッキングセンサの構成はこれに限定されない。例えばトラッキングセンサが、ユーザによりタッチされるタッチ面を有する撮像素子を用いた光学式トラッキングセンサから構成されていてもよい。この場合、トラッキングセンサは、タッチ面が本体部の周面に露出するように配置されればよい。
【０１４２】
実施の形態１では、トラッキングセンサ１１２とプッシュスイッチ１１３とが別体である例について説明した。これに限らず、例えば、操作部１１が、タッチ面を有し、このタッチ面に接触するユーザの指等のトラッキングを行うトラッキング部と、ユーザによりタッチ面が押下されたときの圧力を検出する感圧部と、を有する感圧トラッキングセンサを有するものであってもよい。この場合、トラッキング部が、ユーザの身体の少なくとも一部の移動速度および移動方向を検出し、感圧部が、タッチ面が押下されたときの圧力の大きさから、ユーザによりタッチ面が押下されたことを検出する。
【０１４３】
また、本発明に係るユーザインタフェース装置の各種機能は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、ネットワークに接続されているコンピュータに、上記動作を実行するためのプログラムを、コンピュータシステムが読み取り可能な非一時的な記録媒体（例えばＣＤ−ＲＯＭ）に格納して配布し、当該プログラムをコンピュータシステムにインストールすることにより、上述の処理を実行するユーザインタフェース装置を構成してもよい。
【０１４４】
また、コンピュータにプログラムを提供する方法は任意である。例えば、プログラムは、通信回線の掲示版（ＢＢＳ）にアップロードされ、通信回線を介してコンピュータに配信されてもよい。そして、コンピュータは、このプログラムを起動して、ＯＳの制御の下、他のアプリケーションと同様に実行する。これにより、コンピュータは、上述の処理を実行するユーザインタフェース装置として機能する。
【０１４５】
以上、本発明の実施の形態および変形例（なお書きに記載したものを含む。以下、同様。）について説明したが、本発明はこれらに限定されるものではない。本発明は、実施の形態および変形例が適宜組み合わされたもの、それに適宜変更が加えられたものを含む。
【０１４６】
本出願は、２０１６年９月５日に出願された日本国特許出願特願２０１６−１７２７２５号に基づく。本明細書中に日本国特許出願特願２０１６−１７２７２５号の明細書、特許請求の範囲および図面全体を参照として取り込むものとする。
【符号の説明】
【０１４７】
１，２００１，３００１，４００１：ユーザインタフェース装置、１１，２０１１，３０１１，４０１１，５０１１：操作部、１２：接続装置、１６：ＰＣ、１５：表示装置、１５ａ：画面、１７，３０１０：キーボード、１１０，１２０，２１１０：制御部、１１１，５１１１：本体部、１１２，２１１２Ａ，２１１２Ｂ，３１１２，５１１２：トラッキングセンサ、１１３，２１１３Ａ，２１１３Ｂ，３１１３：プッシュスイッチ、１１４：リング部、１１５，１２５，３２１５：無線通信部、１１６：加速度センサ、１１７，３１１８：蓄電部、１１８，１２１：ＣＰＵ、１１９，１２２：ＲＡＭ、１２３，１１１０：ＲＯＭ、１２４，１６４，１６５，３２１４：ＵＳＢインタフェース、１６１：処理部、１６２：記憶部、１６３：表示インタフェース、１１２９：トラックボール、１１８１，２１８１：操作読取部、１１８２：傾き読取部、１１８３，４１８３：フラグ管理部、１１８４：通信制御部、１１９１：フラグ記憶部、１１９２，１２２２：移動情報記憶部、１２１１：取得部、１２１２：遷移情報生成部、１２１３：特定部、１２１４：コマンド送信部、１２２１：フラグ履歴記憶部、１２２３：遷移履歴記憶部、１２２４：コマンド記憶部、１２３１：テーブル記憶部、２５１１：操作ボード、３１２０，３２１７：電源コネクタ、３１１９：電源回路、３１２９：フラグ設定部、３２１８：装着部、３２１９：解除釦、４０１２：無線通信装置、５１１３：ノックボタン、ＣＡ：ケーブル、ＬＨ：左手、ＲＨ：右手、ＴＡ１，ＴＡ５：操作モードテーブル、ＴＡ２，ＴＡ３，ＴＡ４，ＴＡ１１：コマンドテーブル
【図１Ａ】
0006690722.tif 000002
【図１Ｂ】
0006690722.tif 000003
【図２】
0006690722.tif 000004
【図３Ａ】
0006690722.tif 000005
【図３Ｂ】
0006690722.tif 000006
【図４】
0006690722.tif 000007
【図５Ａ】
0006690722.tif 000008
【図５Ｂ】
0006690722.tif 000009
【図５Ｃ】
0006690722.tif 000010
【図６】
0006690722.tif 000011
【図７】
0006690722.tif 000012
【図８Ａ】
0006690722.tif 000013
【図８Ｂ】
0006690722.tif 000014
【図８Ｃ】
0006690722.tif 000015
【図９Ａ】
0006690722.tif 000016
【図９Ｂ】
0006690722.tif 000017
【図９Ｃ】
0006690722.tif 000018
【図１０】
0006690722.tif 000019
【図１１】
0006690722.tif 000020
【図１２】
0006690722.tif 000021
【図１３】
0006690722.tif 000022
【図１４】
0006690722.tif 000023
【図１５】
0006690722.tif 000024
【図１６】
0006690722.tif 000025
【図１７】
0006690722.tif 000026
【図１８】
0006690722.tif 000027
【図１９】
0006690722.tif 000028
【図２０】
0006690722.tif 000029
【図２１】
0006690722.tif 000030
【図２２】
0006690722.tif 000031
【図２３Ａ】
0006690722.tif 000032
【図２３Ｂ】
0006690722.tif 000033
【図２４】
0006690722.tif 000034
【図２５】
0006690722.tif 000035
【図２６Ａ】
0006690722.tif 000036
【図２６Ｂ】
0006690722.tif 000037
【図２６Ｃ】
0006690722.tif 000038
【図２７Ａ】
0006690722.tif 000039
【図２７Ｂ】
0006690722.tif 000040
【図２８Ａ】
0006690722.tif 000041
【図２８Ｂ】
0006690722.tif 000042
【図２８Ｃ】
0006690722.tif 000043
【図２９Ａ】
0006690722.tif 000044
【図２９Ｂ】
0006690722.tif 000045
【図３０】
0006690722.tif 000046
【図３１Ａ】
0006690722.tif 000047
【図３１Ｂ】
0006690722.tif 000048
【図３２】
0006690722.tif 000049