(57)【特許請求の範囲】
【請求項１】
ボタン毎に発光素子が設けられたリモートコントローラからの遠隔操作を受け付ける、コンピュータであって、
前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、アプリケーション通信制御部と、
前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定し、更に、前記実行機能情報、及び特定した前記ボタンを第１の情報テーブルに登録する、アプリケーション状態監視部と、
前記第１の情報テーブルに登録されている前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、通信部と、
を備え、
前記アプリケーション状態監視部は、前記アプリケーションプログラムの実行が終了した場合に、前記第１の情報テーブルから、前記アプリケーションプログラムについての前記実行機能情報及び特定した前記ボタンを削除する、
ことを特徴とするコンピュータ。
【請求項２】
前記リモートコントローラでボタンが押下され、それによって、前記リモートコントローラから、押下されたボタンを示す情報が送信された場合において、
前記アプリケーション状態監視部が、送信されてきた前記情報に基づいて、前記ボタンの押下の後に、前記選択状態にあるアプリケーションプログラムによって実行される新たな機能を特定すると、更に、特定した新たな機能で利用される前記ボタンを特定し、
前記通信部が、新たな機能で利用される前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、新たに特定したボタンの発光素子を点灯させる、
請求項１に記載のコンピュータ。
【請求項３】
前記アプリケーション状態監視部が、前記実行機能情報と、予め実行機能毎に利用可能なボタンが規定された第２の情報テーブルとに基づいて、前記選択状態にある前記アプリケーションプログラムで利用可能な前記ボタンを特定する、
請求項１または２に記載のコンピュータ。
【請求項４】
ボタン毎に発光素子が設けられたリモートコントローラと、遠隔操作を受け付ける、コンピュータとを備え、
前記コンピュータは、
前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、アプリケーション通信制御部と、
前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定し、更に、前記実行機能情報、及び特定した前記ボタンを第１の情報テーブルに登録する、アプリケーション状態監視部と、
前記第１の情報テーブルに登録されている前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、通信部と、
を備え、
前記アプリケーション状態監視部は、前記アプリケーションプログラムの実行が終了した場合に、前記第１の情報テーブルから、前記アプリケーションプログラムについての前記実行機能情報及び特定した前記ボタンを削除する、
ことを特徴とするリモートコントロールシステム。
【請求項５】
ボタン毎に発光素子が設けられたリモートコントローラと、遠隔操作を受け付ける、コンピュータとを用いた、遠隔操作支援方法であって、
（ａ）前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、ステップと、
（ｂ）前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定し、更に、前記実行機能情報、及び特定した前記ボタンを第１の情報テーブルに登録する、ステップと、
（ｃ）前記第１の情報テーブルに登録されている前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、ステップと、
（ｄ）前記アプリケーションプログラムの実行が終了した場合に、前記第１の情報テーブルから、前記アプリケーションプログラムについての前記実行機能情報及び特定した前記ボタンを削除する、ステップと、
を有することを特徴とする遠隔操作支援方法。
【請求項６】
ボタン毎に発光素子が設けられたリモートコントローラからの遠隔操作を受け付けるコンピュータに、遠隔操作の支援を行なわせるためのプログラムであって、
前記コンピュータに、
（ａ）前記コンピュータにおいて実行されている別のアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、ステップと、
（ｂ）前記実行されている別のアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定し、更に、前記実行機能情報、及び特定した前記ボタンを第１の情報テーブルに登録する、ステップと、
（ｃ）前記第１の情報テーブルに登録されている前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、ステップと、
（ｄ）前記アプリケーションプログラムの実行が終了した場合に、前記第１の情報テーブルから、前記アプリケーションプログラムについての前記実行機能情報及び特定した前記ボタンを削除する、ステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモートコントローラからの遠隔操作を受け付けるコンピュータ、それを用いたリモートコントロールシステムに関し、更には、遠隔操作支援方法、及びこれらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（以下「ＰＣ（Personal Computer）」と表記する）で利用可能なリモートコントローラ「以下「リモコン」と表記する。」が販売されている。ユーザは、このようなリモコンを用いれば、離れた場所から、インターネットのＷｅｂサイトを視聴することができる。
【０００３】
また、パーソナルコンピュータに、テレビの視聴、録画、再生、番組表の表示といった機能を実行するアプリケーションプログラム（以下「テレビアプリケーション」と表記する。）がインストールされている場合は、ユーザは、リモコンを用いて、テレビ視聴時にチャンネルを切り替えたり、録画を行なったり、といった操作を行なうことができる。
【０００４】
ところで、上述のリモコンにおいて、ボタンに割当てられる機能は、テレビアプリケーションが実行する機能毎、又はアプリケーションプログラム（以下「アプリケーション」と表記する。）毎に異なっている。よって、ボタンによっては、ユーザによって押されるまで、それに割当てられた機能がなんであるかが分からない場合が発生する。
【０００５】
具体的には、テレビアプリケーションでは、ユーザは、数字が付与されたボタンについては、チャンネルが割当てられていると、認識するが、二カ国語の切換等については、押してみるまで認識できないことが殆どである。また、テレビアプリケーションでは、全てのチャンネルを視聴可能でない場合があり、この場合は、数字が付与されたボタンであっても、ユーザは、押してみるまで、チャンネルが割当てられているか否かを認識できないこととなる。
【０００６】
一方、リモコンは、パーソナルコンピュータが普及する前から、テレビ受像機、オーディオ機器、エアコン等、種々の機器で利用されている。よって、従来から、ユーザが、リモコンのボタン操作を直感的に認識できるようにするため、種々の提案がなされている（例えば、特許文献１及び２参照。）。
【０００７】
例えば、特許文献１は、テレビ受像機において、その画面上にリモコンの操作ガイドを表示すると共に、使用すべきリモコンのキーを点灯させる、システムを開示している。当該システムでは、ユーザは、次に行なうべき操作を操作ガイド及び点灯から知ることができる。
【０００８】
また、特許文献２は、操作対象となる機器から、操作可能なボタンを特定する信号を受信し、受信した信号に基づいて、操作可能なボタンを明示する、リモコンを開示している。特許文献２に開示されたリモコンを用いれば、ユーザは、今、操作が可能なボタンを直ぐ認識できるので、ユーザにおける操作性が向上する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−１４３４３５号公報
【特許文献１】特開２００３−２５９１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、コンピュータでは、種々のアプリケーションが実行されるが、アプリケーションの切換は、ユーザによって不定期に行なわれる。このため、アプリケーションが切り替えられた場合に、それに対応して、リモコンで使用されるボタンの切換と、ユーザへの明示とを実行するには、アプリケーションの切換を監視する必要がある。
【００１１】
しかしながら、特許文献１に開示されたシステム及び特許文献２に開示されたリモコンは、パーソナルコンピュータでの利用を考慮したものではなく、アプリケーションの切換の監視を行なうことは不可能である。従って、上記システム及びリモコンをパーソナルコンピュータの分野に適用することは困難である。
【００１２】
本発明の目的の一例は、上記問題を解消し、コンピュータにおいて実行されるアプリケーションが不定期に切り替えられた場合でも、ユーザにおける直感的なリモコン操作を可能にし得る、コンピュータ、リモートコントロールシステム、遠隔操作支援方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明の一側面におけるコンピュータは、ボタン毎に発光素子が設けられたリモートコントローラからの遠隔操作を受け付ける、コンピュータであって、
前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、アプリケーション通信制御部と、
前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、アプリケーション状態監視部と、
前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、通信部と、
を備えている、ことを特徴とする。
【００１４】
また、上記目的を達成するため、本発明の一側面におけるリモートコントロールシステムは、ボタン毎に発光素子が設けられたリモートコントローラと、遠隔操作を受け付ける、コンピュータとを備え、
前記コンピュータは、
前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、アプリケーション通信制御部と、
前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、アプリケーション状態監視部と、
前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、通信部と、を備えている、
ことを特徴とする。
【００１５】
また、上記目的を達成するため、本発明の一側面における遠隔操作支援方法は、ボタン毎に発光素子が設けられたリモートコントローラと、遠隔操作を受け付ける、コンピュータとを用いた、遠隔操作支援方法であって、
（ａ）前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、ステップと、
（ｂ）前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、ステップと、
（ｃ）前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、ステップと、
を有することを特徴とする。
【００１６】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、ボタン毎に発光素子が設けられたリモートコントローラからの遠隔操作を受け付けるコンピュータに、遠隔操作の支援を行なわせるためのプログラムであって、
前記コンピュータに、
（ａ）前記コンピュータにおいて実行されている別のアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、ステップと、
（ｂ）前記実行されている別のアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、ステップと、
（ｃ）前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１７】
以上のように、本発明によれば、コンピュータにおいて実行されるアプリケーションが不定期に切り替えられた場合でも、ユーザにおける直感的なリモコン操作を可能にすることができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の実施の形態におけるコンピュータ及びリモートコントロールシステムの構成を示すブロック図である。
【図２】図２は、本発明の実施の形態で用いられるアプリケーション情報テーブルの一例を示す図である。
【図３】図３は、本発明の実施の形態で用いられるアプリケーションで実行される機能を特定する機能情報の一例を示す図である。
【図４】図４は、本発明の実施の形態で用いられる利用可能ボタン情報の一例を示す図である。
【図５】図５は、本発明の実施の形態で用いられる搭載ボタン情報の一例を示す図である。
【図６】図６は、本発明の実施の形態で用いられる監視アプリケーション情報テーブルの一例を示す図である。
【図７】図７は、本発明の実施の形態で用いられる実行機能情報の一例を示す図である。
【図８】図８は、アプリケーションの起動時及び機能変更時におけるコンピュータの動作を示すフロー図である。
【図９】図９は、図８に示す各ステップの説明を補助する概念図である。
【図１０】図１０は、リモコンで操作が行なわれた場合におけるコンピュータの動作を示すフロー図である。
【図１１】図１１は、図１０に示す各ステップの説明を補助する概念図である。
【図１２】図１２は、本発明の実施の形態で用いられるアプリケーション情報テーブルの他の一例を示す図である。
【図１３】図１３は、本発明の実施の形態におけるコンピュータの具体構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１９】
（実施の形態）
以下、本発明の実施の形態における、コンピュータ、リモートコントロールシステム、遠隔操作支援方法、及びプログラムについて、図１〜図１３を参照しながら説明する。
【００２０】
［装置構成］
最初に、本実施の形態におけるコンピュータ及びリモートコントロールシステムの構成について説明する。図１は、本発明の実施の形態におけるコンピュータ及びリモートコントロールシステムの構成を示すブロック図である。
【００２１】
図１に示すように、リモートコントロールシステム１００は、リモートコントローラ６０と、それからの遠隔操作を受け付けるコンピュータ１０とを備えている。このうち、リモートコントローラ６０は、ボタン６１毎に設けられた発光素子を備えている。
【００２２】
具体的には、本実施の形態では、リモートコントローラ６０のボタン６１は、光透過性の材料で形成されている。そして、リモートコントローラ６０の内部において、各ボタン６１の背面には、ＬＥＤ等の発光素子が配置されている。
【００２３】
また、図１に示すように、コンピュータ１０は、アプリケーション状態監視部３１と、アプリケーション通信制御部３２と、通信部３４とを備えている。このうち、アプリケーション通信制御部３２は、コンピュータ１０において実行されているアプリケーションプログラム２０から、それによって実行される機能を特定する実行機能情報を取得する。
【００２４】
アプリケーション状態監視部３１は、コンピュータ１０で実行されているアプリケーションプログラム２０を監視し、選択状態にあるアプリケーションプログラムを特定する。そして、アプリケーション状態監視部３１は、取得された実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能なボタンを特定する。
【００２５】
また、通信部３４は、特定したボタンを規定するボタン情報（利用可能ボタン情報）を、リモートコントローラ６０に送信し、これにより、リモートコントローラ６０において、指定されたボタン６１の発光素子を点灯させる。
【００２６】
なお、以降の説明においては、「アプリケーションプログラム」は、「アプリケーション」と略記する。また、「リモートコントローラ」は、「リモコン」と略記する。
【００２７】
このように、本実施の形態では、コンピュータ１０において実行されるアプリケーションがユーザによって不定期に切り替えられた場合でも、現在選択中にあるアプリケーションが検出され、それに応じて対応するボタンが特定される。そして、特定されたボタンが発光するため、ユーザにおける直感的なリモコン操作が可能になる。
【００２８】
ここで、本実施の形態におけるコンピュータ１０及びリモートコントロールシステム１００の構成を更に具体的に説明する。まず、図１に示すように、本実施の形態において、コンピュータ１０は、上述の構成に加え、ボタン情報制御部２１と、リモコン通信制御部２２と、アプリケーションボタン制御部３３と、リモコンファームウェア４０と、アプリケーション情報テーブル５０を備えている。
【００２９】
本実施の形態において、図１に示すアプリケーション２０は、リモコン６０での操作対象となるアプリケーションである。また、本実施の形態では、上述したボタン情報制御部２１とリモコン通信制御部２２とは、アプリケーション２０によって構築されている。
【００３０】
このうち、ボタン情報制御部２１は、それを構築するアプリケーション２０が起動された場合、及び当該アプリケーションが実行する機能が遷移された場合に、当該アプリケーションで実行される機能を特定する実行機能情報を生成する。また、ボタン情報制御部２１は、リモコン通信制御部２２を介して、生成した実行機能情報を、アプリケーション通信制御部３２に送信する。
【００３１】
リモコン通信制御部２２は、リモコンドライバ３０との通信を制御している。そして、リモコン通信制御部２２は、リモコン６０でボタンが押下されると、後述するようにリモコンドライバ３０から、押下されたボタンを特定する情報（以下、「押下ボタン特定情報」と表記する。）を受け取る。これにより、アプリケーション２０は、押下されたボタンに対応する機能を実行する。
【００３２】
また、本実施の形態において、上述した、アプリケーション状態監視部３１、アプリケーション通信制御部３２、及び通信部３４、更には、アプリケーションボタン制御部３３は、リモコン６０を駆動するためのプログラム（以下「リモコンドライバ」）３０によって構築されている。
【００３３】
アプリケーション通信制御部３２は、アプリケーション２０との通信を制御し、上述したように、アプリケーションから実行機能情報を取得する。また、アプリケーション通信制御部３２は、後述するように通信部３４から、アプリケーション状態監視部３１を経由して、リモコン６０において押下されたボタンを特定する押下ボタン特定情報を受け取ると、これを、アプリケーション２０のリモコン通信制御部２２に送信する。
【００３４】
アプリケーション状態監視部３０は、本実施の形態では、アプリケーション通信制御部３２から、アプリケーションの実行機能情報を受信する。そして、アプリケーション状態監視部３０は、受信した実行機能情報を、監視アプリケーション情報テーブル３１ａに登録する。そして、アプリケーション状態監視部３１は、監視アプリケーション情報テーブル３１ａに登録されているアプリケーションを監視する。
【００３５】
また、アプリケーション状態監視部３１は、アプリケーションの監視により、あるアプリケーションの終了を検出した場合は、アプリケーション情報テーブル３１ａから、終了が検出されたアプリケーションの実行機能情報を削除する。このように、監視アプリケーション情報テーブル３１ａには、現在実行中のアプリケーションのみが登録される。
【００３６】
また、アプリケーション状態監視部３１は、監視対象となるアプリケーションのうち、現在選択状態にあるアプリケーションを特定し、それにおいて現在利用可能なボタンを特定する情報（以下、「利用可能ボタン情報」と表記する。）を取得する。
【００３７】
具体的には、本実施の形態では、アプリケーション状態監視部３１は、実行機能情報と、後述のアプリケーション情報テーブル５０とに基づいて、現在選択状態にあるアプリケーションについての利用可能ボタン情報を取得する。ここで、「選択状態とは、アプリケーションが入力フォーカスを保持して、最前面に表示されている状態を意味する。
【００３８】
また、通信部３４は、本実施の形態では、上述したボタン情報として、アプリケーション状態監視部３１が作成した利用可能ボタン情報を、リモコンファームウェアを経由して、リモコン６０に送信する。その結果、リモコン６０の制御装置（図１において図示せず）は、選択状態にあるアプリケーションに対応するボタン６１の発光素子を点灯させる。
【００３９】
アプリケーション情報テーブル５０は、予め、アプリケーションの実行機能毎に利用可能なボタンが規定された情報テーブルである。具体的には、アプリケーション情報テーブル５０は、アプリケーションの実行機能毎に、利用可能ボタン情報を登録している。なお、アプリケーション情報テーブル５０の内容については、図２を用いて後述する。
【００４０】
アプリケーションボタン制御部３３は、アプリケーションボタン制御部３３は、利用可能ボタン情報取得部３３ａと、ボタン遷移情報制御部３３ｂとを備えている。このうち、利用可能ボタン情報取得部３３ａは、アプリケーション状態監視部３１からの要求により、アプリケーション情報テーブル５０から情報を取得し、更に、これら情報の更新を行う。
【００４１】
具体的には、利用可能ボタン情報取得部３３ａは、アプリケーション情報テーブル５０から、アプリケーションが現在実行中の機能について、利用可能ボタン情報を取得する。また、ユーザがリモコン６０のボタン６１を押下し、それによって機能が遷移する場合は、ボタン遷移情報制御部３３ｂは、アプリケーション情報テーブル５０から、次に遷移する機能を特定する情報の取得及び更新を行なう。
【００４２】
通信部３４は、本実施の形態では、リモコンファームウェア４０との通信を制御する。具体的には、通信部３４は、アプリケーション状態監視部３１からの要求に応じて、点灯すべきボタンを特定する利用可能ボタン情報をリモコンファームウェア４０に送信する。また、通信部３４は、リモコンファームウェア４０から、リモコン６０において押下されたボタンを特定する押下ボタン特定情報を受信すると、これを、アプリケーション状態監視部３１に通知する。
【００４３】
また、リモコンファームウェア４０は、リモコン６０との通信を行なうためのプログラムによって構築されている。リモコンファームウェア４０は、コンピュータ１０とリモコン６０との通信を制御している。
【００４４】
続いて、リモートコントロールシステム１００及びコンピュータ１０で利用される各種情報の具体例について、図２〜図７を用いて説明する。
【００４５】
図２は、本発明の実施の形態で用いられるアプリケーション情報テーブルの一例を示す図である。図２に示すように、アプリケーション情報テーブル５０は、アプリケーション毎に、その機能番号（図３参照)と、利用可能ボタン情報（図４参照）と、ボタン毎の当該ボタンの押下によって次に遷移する機能の番号とを、互いに関連付けて管理している。
【００４６】
なお、図２においては、起動パスが同一のプログラムは、同一のアプリケーションとみなされている。また、アプリケーション毎の機能番号に関連付けられた「利用可能ボタン情報」としては、予め作成された既定の値が保持されている。
【００４７】
また、「ボタン毎の当該ボタンの押下によって次に遷移する機能の番号」は、図５に示す搭載ボタン情報に基づいて、番号順に、該当ボタンが押下されたときに、次に、どの機能番号に遷移したかを記録することによって、作成される。図５に示す搭載ボタン情報では、番号順に、対応するボタンが規定されている。図５におけるボタン番号は、図２におけるボタン番号に対応している。そして、図２では、各ボタン番号の対応位置に、次に遷移する機能の番号が保持されている。また、図２において、初期値としては、「０」が登録される。また、他の機能に遷移しない場合も、「０」が登録される。
【００４８】
例えば、図５に示すように、「録画」ボタンは、搭載ボタン情報では、番号６０と関連付けられている。従って、図２に示すように、テレビ視聴機能（機能１：図３参照)を実行中に、ユーザがリモコンで「録画」ボタンを押下すると、アプリケーションの機能は、録画機能（機能２)に遷移することになる。なお、図２において、機能１のボタン番号６０には、次に遷移する機能の機能番号として「２」が格納されている。
【００４９】
図３は、本発明の実施の形態で用いられる機能情報の一例を示す図である。図３に示すように、機能情報は、各アプリケーションの機能を、機能番号と関連付けて特定している。実行機能情報は、図３に示す機能情報に基づいて作成されている。
【００５０】
図４は、本発明の実施の形態で用いられる利用可能ボタン情報の一例を示す図である。図４に示すように、利用可能ボタン情報は、搭載ボタン情報（図５)において各ボタンに設定された番号毎に、利用可能な場合を「１」、利用不可の場合を「０」として作成された情報である。図２を用いて説明したように、利用可能ボタン情報は、アプリケーションの実行機能毎に、アプリケーション情報テーブル５０に登録される。
【００５１】
また、図４に示すように、利用可能ボタン情報（図４参照）は６０ビットの情報として保持されている。例えば、「録画」ボタンは、搭載ボタン情報（図５参照)において、番号６０と関連付けられており、利用可能な場合は、利用可能ボタン情報の６０番目に「１」が格納される。利用不可の場合は「０」が格納される。
【００５２】
図６は、本発明の実施の形態で用いられる監視アプリケーション情報テーブルの一例を示す図である。アプリケーション情報テーブル３１ａは、アプリケーション毎に、起動パス、機能番号（図３参照)、利用可能ボタン情報（図４参照)を登録している。監視アプリケーション情報テーブル３１ａに登録されているアプリケーションは、現在実行中のアプリケーションである。
【００５３】
リモコンドライバ３０において、アプリケーション状態監視部３１は、アプリケーション起動時に、アプリケーション通信制御部３２から、アプリケーション通信制御部３２を介して、実行機能情報（図７参照）を受信する。そして、アプリケーション状態監視部３１は、通知された実行機能情報を、監視アプリケーション情報テーブル３１ａ（図６参照）に登録する。
【００５４】
また、上述したように、アプリケーション状態監視部３１は、登録されているアプリケーションを監視して、アプリケーションが終了したことを検出した場合、終了を検出したアプリケーションを、監視アプリケーション情報テーブル３１ａから削除する。
【００５５】
図７は、本発明の実施の形態で用いられる実行機能情報の一例を示す図である。図７に示す実行機能情報は、アプリケーション２０が起動された場合、及び当該アプリケーションが現在実行している機能が変更になった場合に、アプリケーション２０側で作成され、リモコンドライバ３０に送信される。図７に示すように、実行機能情報は、アプリケーションの起動パスと、機能番号（図３）とから構成される。例えば、アプリケーションＡＰ１が「録画番組再生」機能を実行中であるとする。この場合、「録画番組再生」機能には、機能情報（図３参照)において番号１０が設定されているので、実行機能情報の機能番号には「１０」が指定される。
【００５６】
［装置動作］
次に、本実施の形態におけるコンピュータ１０及びリモートコントロールシステム１００の動作について図８〜図１１を用いて説明する。また、本実施の形態では、コンピュータ１０を動作させることによって、遠隔操作支援方法が実施される。よって、本実施の形態における遠隔操作支援方法の説明は、以下のコンピュータ１０の動作説明に代える。
【００５７】
（アプリケーションの起動時及び機能変更時の処理）
先ず、図８及び図９を用いて、アプリケーションの起動時及び機能変更時におけるコンピュータの動作について説明する。図８は、アプリケーションの起動時及び機能変更時におけるコンピュータの動作を示すフロー図である。図９は、図８に示す各ステップの説明を補助する概念図である。
【００５８】
最初に、アプリケーション２０において、ボタン情報制御部２１が、当該アプリケーションで実行される機能を特定する実行機能情報（図７参照）を生成し、これを、リモコン通信制御部２２を介して、リモコンドライバ３０に送信する。これにより、図８及び図９に示すように、リモコンドライバ３０において、アプリケーション通信制御部３２は、実行機能情報を受信する（ステップＡ１）。
【００５９】
例えば、アプリケーションＡＰ１が機能２で起動された場合に、アプリケーションＡＰ１のボタン情報制御部２１は、機能番号に「２」が格納された実行機能情報（図７参照)を作成し、これを、リモコン通信制御部２２に送信する。また、アプリケーションＡＰ１が実行する機能が機能１から機能２に遷移された場合にも、アプリケーションＡＰ１のボタン情報制御部２１は、機能番号に「２」が格納された実行機能情報（図７参照)を作成し、これを、リモコン通信制御部２２に送信する。
【００６０】
そして、ステップＡ１の実行により、例えば、アプリケーションＡＰ１が、機能２で起動したことと、又はアプリケーションＡＰ１の機能が機能２に遷移したことが、リモコンドライバ３０に受信されることになる。
【００６１】
次に、リモコンドライバ３０において、アプリケーション通信制御部３２は、受信した実行機能情報を、アプリケーション状態監視部３１に送信する。続いて、アプリケーション状態監視部３１は、送信されてき実行機能情報に含まれるアプリケーションの起動パスと機能番号とに基づいて、アプリケーション情報テーブル５０（図２参照）に格納されている当該アプリケーションに対応する利用可能ボタン情報を取得する（ステップＡ２）。
【００６２】
具体的には、上述したように、実行機能情報が取得されたアプリケーションが、アプリケーションＡＰ１（機能２）であるとすると、アプリケーション通信制御部３２は、アプリケーション情報テーブル５０に保存されている、「ＡＰ１の機能２についての利用可能ボタン情報」を取得する。
【００６３】
次に、アプリケーション状態監視部３１は、監視アプリケーション情報テーブル３１ａに、取得した実行機能情報と利用可能ボタン情報とを登録する（ステップＡ３）。これにより、監視アプリケーション情報テーブル３１ａには、図６に示す情報が登録される。また、このとき、当該アプリケーションについて、実行機能情報と利用可能ボタン情報とが既に登録されている場合は、アプリケーション状態監視部３１は、機能番号と利用可能ボタン情報とを更新する。
【００６４】
次に、アプリケーション状態監視部３１は、ステップＡ２で取得した利用可能ボタン情報を、通信部３４に送信する。これにより、通信部３４は、リモコンファームウェア４０を介して、利用可能ボタン情報を、リモコン６０に送信する（ステップＡ４）。
【００６５】
ステップＡ４が実行されると、リモコン６０において、リモコン６０の制御装置は、利用可能ボタン情報に基づいて、選択状態にあるアプリケーションに対応するボタン６１（例えば、アプリケーションＡＰ２の機能時に利用可能なボタン）の発光素子を点灯させる。これにより、ユーザは、利用可能なボタンを直感的に知ることができる。
【００６６】
（リモコンで操作が行なわれた場合の処理）
続いて、図１０及び図１１を用いて、リモコンで操作が行なわれた場合におけるコンピュータの動作について説明する。図１０は、リモコンで操作が行なわれた場合におけるコンピュータの動作を示すフロー図である。図１１は、図１０に示す各ステップの説明を補助する概念図である。
【００６７】
最初に、ユーザが、コンピュータ１００でのアプリケーションの実行中に、リモコン６０を操作し、ボタン６１を押下すると、リモコン６０は、押下されたボタンを特定する押下ボタン特定情報をコンピュータ１００に送信する。例えば、ユーザが、「録画」ボタンを押下すると、リモコン６０は、押下されたボタンが「録画」ボタンであることを示す押下ボタン特定情報を、コンピュータ１００に送信する。
【００６８】
次に、図１０及び図１１に示すように、コンピュータ１００において、リモコンドライバ３０の通信部３４は、リモコンファームウェア４０を介して、リモコン６０から送信されてきた押下ボタン特定情報を受信する（ステップＢ１）。また、ステップＢ１において、通信部３４は、押下ボタン特定情報を、ステップアプリケーション状態監視部３１に送信する。
【００６９】
そして、ステップアプリケーション状態監視部３１は、押下ボタン特定情報の受信時点において、監視アプリケーション情報テーブル３１ａに登録されているアプリケーションのプロセスＩＤを、コンピュータ１００のＯＳ（Operation System）から取得する。また、アプリケーション状態監視部３１は、現在選択状態にあるアプリケーションのプロセスＩＤも、ＯＳから取得し、これと先に取得したプロセスＩＤとが一致するかどうかを確認する。
【００７０】
確認の結果、一致する場合は、アプリケーション状態監視部３１は、リモコン６０の操作対象となったアプリケーションが選択状態であると判断する。例えば、リモコン操作が、アプリケーションＡＰ１で行なわれた場合に、アプリケーションＡＰ１が選択状態であることを確認する。
【００７１】
また、このとき、アプリケーション状態監視部３１は、特定のボタン、例えば「録画」ボタンが押下されたことを示す押下ボタン特定情報を保持する。なお、どのアプリケーションも選択状態にない場合は、リモコンドライバ３０における処理は終了する。
【００７２】
次に、アプリケーション状態監視部３１は、ボタン遷移情報制御部３３ｂに対して、アプリケーション情報テーブル５０に基づいて、ボタンの押下によって遷移する機能を特定させ、これを特定する情報を取得する（ステップＢ２）。例えば、アプリケーションＡＰ１の機能１が実行されているときに、「録画」ボタンが押されたとすると、ボタン遷移情報制御部３３ｂは、アプリケーション情報テーブル５０から、これによって機能１から遷移する機能の機能番号を取得する。
【００７３】
具体的には、図５において、「録画」ボタンは、番号６０と関連付けられている。また、図２において、アプリケーションＡＰ１の機能１実行時におけるボタン番号６０には「２」が格納されている。よって、アプリケーションＡＰ１の機能１実行時に、「録画」ボタンが押下された場合には、機能２に遷移することがわかる。なお、図２のアプリケーション情報テーブル５０において、「０」が格納されていた場合は、ステップＢ３は実行されずに、ステップＢ４が実行される。
【００７４】
次に、アプリケーション状態監視部３１は、利用可能ボタン情報取得部３３ａに対して、アプリケーション情報テーブル５０（図２参照）から、遷移する機能に対応する利用可能ボタン情報を取得させる。
【００７５】
例えば、アプリケーション状態監視部３１は、利用可能ボタン情報取得部３３ａに、アプリケーション情報テーブル５０に保存されている、アプリケーションＡＰ１の機能２に対応する利用可能ボタン情報を取得させる。また、このとき、アプリケーション情報監視部３１は、監視アプリケーション情報テーブル３１ａのアプリケーションＡＰ１についての情報を、機能２の機能番号と取得した利用可能ボタン情報とで更新する。
【００７６】
次に、アプリケーション状態監視部３１は、取得した利用可能ボタン情報を、通信部３４に送信する。これにより、通信部３４は、リモコンファームウェア４０を介して、利用可能ボタン情報を、リモコン６０に送信する（ステップＢ３）。
【００７７】
ステップＢ３が実行されると、リモコン６０において、リモコン６０の制御装置は、利用可能ボタン情報に基づいて、次に遷移する機能に対応するボタン６１の発光素子を点灯させる。例えば、制御装置は、アプリケーションＡＰ１の機能２の実行時に利用可能なボタンの発光素子を点灯させる。
【００７８】
次に、アプリケーション状態監視部３１は、アプリケーション通信制御部３２に、ステップＢ１で受け取った押下ボタン特定情報、例えば、リモコン６０で「録画」ボタンが押下されたことを示す押下ボタン特定情報を送信する。これにより、アプリケーション通信制御部３２は、送信されてきた押下ボタン特定情報を、更に、アプリケーション２０に送信する（ステップＢ４）。
【００７９】
次に、アプリケーション２０において、リモコン通信制御部２２は、押下ボタン特定情報を受信すると、これを、更に、ボタン情報制御部２１に送信する。これにより、ボタン情報制御部２１は、アプリケーションに対して、遷移後の機能を実行させる（ステップＢ５）。例えば、「録画」ボタンの押下によってアプリケーションＡＰ１の機能２に遷移する場合は、ボタン情報制御部２１は、アプリケーションＡＰ１に、機能２を実行させる。
【００８０】
次に、ステップＢ５が実行されると、ボタン情報制御部２１が、遷移後の機能を特定する実行機能情報（図７参照）を生成し、これを、リモコン通信制御部２２を介して、リモコンドライバ３０に送信する。これにより、アプリケーション通信制御部３２は、遷移後の機能についての実行機能情報を受信する（ステップＢ６）。なお、ステップＢ６は、図８及び図９に示したステップＡ１と同様のステップである。
【００８１】
次に、アプリケーション通信制御部３２は、受信した実行機能情報を、アプリケーション状態監視部３１に送信する。これにより、アプリケーション状態監視部３１は、送信されてきた実行機能情報を受信する。
【００８２】
そして、アプリケーション状態監視部３１は、ステップＢ１で、特定のボタンが押下されたことを示す押下ボタン特定情報を保持している場合は、受信した実行機能情報の機能番号と、監視アプリケーション情報テーブル３１ａに登録されている機能番号とが一致するかどうかを確認する（ステップＢ７）。
【００８３】
ステップＢ７において、確認の結果、機能番号が一致している場合は、その後、ステップＢ８、Ｂ９、Ｂ１０が実行される。また、アプリケーション状態監視部３１が、ステップＢ１で、特定のボタンが押下されたことを示す押下ボタン特定情報を保持していない場合は、ステップＢ７は実行されずに、ステップＢ８、Ｂ９、Ｂ１０が実行される。ステップＢ８〜Ｂ１０は、それぞれ、図８に示したステップＡ２、Ａ３、Ａ４と同様のステップである。
【００８４】
一方、確認の結果、機能番号が一致していない場合は、監視アプリケーション情報テーブル３１ａに登録されている機能が実行されているときに、初めて、ボタン（例えば「録画」ボタン）が押下され、受信された実行機能情報の機能に遷移した状態である。つまり、ステップＢ２において説明した、アプリケーション情報テーブル５０において、「０」が格納されている状態である。
【００８５】
例えば、受信した機能番号が機能２であり、監視アプリケーション情報テーブル３１ａに保持されている、前回実行された機能の機能番号が機能１であるとする。この場合、アプリケーション状態監視部３１は、ボタン遷移情報制御部３３ｂを使用して、アプリケーション情報テーブル５０を更新させる。具体的には、アプリケーション情報テーブル５０に保存されているＡＰ１の機能１において、「録画」ボタンを押したときに次に遷移する機能番号が「０」となっているので、ボタン遷移情報制御部３３ｂは、これを「２」に更新する。
【００８６】
つまり、上記の処理では、アプリケーションＡＰ１が機能１を実行している時に、リモコン６０で「録画」ボタンが押下されることにより、機能２に遷移することが、アプリケーション情報テーブル５０に記録される。その後、ステップＢ８、Ｂ９、Ｂ１０が実行される。
【００８７】
以上のように本実施の形態によれば、コンピュータ１０において実行されるアプリケーションがユーザによって不定期に切り替えられた場合でも、ユーザは、アプリケーションが現在実行している機能において、リモコンのどのボタンが利用可能であるのかを、ボタンを押す前に利用できる。
【００８８】
例えば、テレビアプリケーションでは、ユーザは、テレビ視聴時にはチャンネル番号ボタンが利用可能であることはわかるが、全てのチャンネル番号が視聴可能なわけではなく、ボタンを押してみないと視聴できるかどうかがわからない。この場合に、本実施の形態によれば、ユーザは、押す前に利用可能なチャンネル番号がわかるようになる。
【００８９】
また、アプリケーションが複数機能を提供可能である場合は、機能によって現在利用可能なボタンが異なることがあるが、ユーザは、この場合も、容易に利用可能なボタンを判別できる。つまり、ユーザは、マニュアル又は説明文を参照しなくても、直感的に利用可能なボタンが判別できる。
【００９０】
そして、アプリケーションの情報は、リモコンドライバによって一元管理されているので、複数のアプリケーションが同時に実行されている場合でも、選択状態にあるアプリケーションで利用可能なボタンの発光素子のみが点灯し、発光素子の点灯が競合することもない。
【００９１】
また、本実施の形態におけるプログラムは、一般的なコンピュータに、図８に示すステップＡ１〜Ａ４、図１０に示すステップＢ１〜Ｂ１０を実行させるプログラムであれば良い。このプログラムを一般的なコンピュータにインストールし、実行することによって、本実施の形態におけるコンピュータ１０と遠隔操作支援方法とを実現することができる。この場合、一般的なコンピュータのＣＰＵ（Central Processing Unit）は、ボタン情報制御部２１、リモコン通信制御部２２、リモコンドライバ３０、リモコンファームウェア４０として機能し、処理を行なう。
【００９２】
［変形例１］
本実施の形態においては、図２に示したアプリケーション情報テーブル５０の代わりに、図１２に示すアプリケーション情報テーブル５１を用いることができる。図１２は、本発明の実施の形態で用いられるアプリケーション情報テーブルの他の一例を示す図である。
【００９３】
図１２に示すように、アプリケーション情報テーブル５１では、「ボタン毎の当該ボタンの押下によって次に遷移する機能の番号」の代わりに、ボタン毎の当該ボタンの押下回数が保持されている。従って、図１２に示すアプリケーション情報テーブル５１を用いた場合は、リモコン６０において、使用頻度の低いボタンの発光素子を点灯しないようにすることができる。この場合、ユーザは、よく使用するボタンを、より直感的に認識することができる。
【００９４】
［変形例２］
上述した実施の形態では、リモコン６０は、一般的なキーボードと比べて、ボタンの数が少ない機器であるが、本実施の形態では、リモコン６０は、キーボードと同等の数のボタンを備えた機器、即ち、キーボードそのものであっても良い。
【００９５】
［コンピュータ構成］
ここで、本実施の形態におけるコンピュータの具体的な構成について説明する。図１３は、本発明の実施の形態におけるコンピュータの具体構成の一例を示すブロック図である。
【００９６】
図１３に示すように、コンピュータ１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００９７】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００９８】
また、記憶装置１１３の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００９９】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash）及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【０１００】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【０１０１】
（付記１）
ボタン毎に発光素子が設けられたリモートコントローラからの遠隔操作を受け付ける、コンピュータであって、
前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、アプリケーション通信制御部と、
前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、アプリケーション状態監視部と、
前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、通信部と、
を備えている、ことを特徴とするコンピュータ。
【０１０２】
（付記２）
前記リモートコントローラでボタンが押下され、それによって、前記リモートコントローラから、押下されたボタンを示す情報が送信された場合において、
前記アプリケーション状態監視部が、送信されてきた前記情報に基づいて、前記ボタンの押下の後に、前記選択状態にあるアプリケーションプログラムによって実行される新たな機能を特定すると、更に、特定した新たな機能で利用される前記ボタンを特定し、
前記通信部が、新たな機能で利用される前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、新たに特定したボタンの発光素子を点灯させる、
付記１に記載のコンピュータ。
【０１０３】
（付記３）
前記アプリケーション状態監視部が、前記実行機能情報と、予め実行機能毎に利用可能なボタンが規定された情報テーブルとに基づいて、前記選択状態にある前記アプリケーションプログラムで利用可能な前記ボタンを特定する、
付記１または２に記載のコンピュータ。
【０１０４】
（付記４）
ボタン毎に発光素子が設けられたリモートコントローラと、遠隔操作を受け付ける、コンピュータとを備え、
前記コンピュータは、
前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、アプリケーション通信制御部と、
前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、アプリケーション状態監視部と、
前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、通信部と、を備えている、
ことを特徴とするリモートコントロールシステム。
【０１０５】
（付記５）
前記リモートコントローラでボタンが押下され、それによって、前記リモートコントローラから、押下されたボタンを示す情報が送信された場合において、
前記アプリケーション状態監視部が、送信されてきた前記情報に基づいて、前記ボタンの押下の後に、前記選択状態にあるアプリケーションプログラムによって実行される新たな機能を特定すると、更に、特定した新たな機能で利用される前記ボタンを特定し、
前記通信部が、新たな機能で利用される前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、新たに特定したボタンの発光素子を点灯させる、
付記４に記載のリモートコントロールシステム。
【０１０６】
（付記６）
前記アプリケーション状態監視部が、前記実行機能情報と、予め実行機能毎に利用可能なボタンが規定された情報テーブルとに基づいて、前記選択状態にある前記アプリケーションプログラムで利用可能な前記ボタンを特定する、
付記４または５に記載のリモートコントロールシステム。
【０１０７】
（付記７）
ボタン毎に発光素子が設けられたリモートコントローラと、遠隔操作を受け付ける、コンピュータとを用いた、遠隔操作支援方法であって、
（ａ）前記コンピュータにおいて実行されているアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、ステップと、
（ｂ）前記コンピュータで実行されているアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、ステップと、
（ｃ）前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、ステップと、
を有することを特徴とする遠隔操作支援方法。
【０１０８】
（付記８）
（ｄ）前記リモートコントローラでボタンが押下され、それによって、前記リモートコントローラから、押下されたボタンを示す情報が送信された場合において、
送信されてきた前記情報に基づいて、前記ボタンの押下の後に、前記選択状態にあるアプリケーションプログラムによって実行される新たな機能を特定すると、更に、特定した新たな機能で利用される前記ボタンを特定する、ステップと、
（ｅ）新たな機能で利用される前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、新たに特定したボタンの発光素子を点灯させる、ステップと、
を更に有する、付記７に記載の遠隔操作支援方法。
【０１０９】
（付記９）
前記（ｂ）のステップにおいて、前記実行機能情報と、予め実行機能毎に利用可能なボタンが規定された情報テーブルとに基づいて、前記選択状態にある前記アプリケーションプログラムで利用可能な前記ボタンを特定する、
付記７または８に記載の遠隔操作支援方法。
【０１１０】
（付記１０）
ボタン毎に発光素子が設けられたリモートコントローラからの遠隔操作を受け付けるコンピュータに、遠隔操作の支援を行なわせるためのプログラムであって、
前記コンピュータに、
（ａ）前記コンピュータにおいて実行されている別のアプリケーションプログラムから、それによって実行される機能を特定する実行機能情報を取得する、ステップと、
（ｂ）前記実行されている別のアプリケーションプログラムを監視し、前記実行機能情報を用いて、選択状態にあるアプリケーションプログラムで利用可能な前記ボタンを特定する、ステップと、
（ｃ）前記特定したボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、指定された前記ボタンの発光素子を点灯させる、ステップと、
を実行させる、プログラム。
【０１１１】
（付記１１）
前記コンピュータに、
（ｄ）前記リモートコントローラでボタンが押下され、それによって、前記リモートコントローラから、押下されたボタンを示す情報が送信された場合において、
送信されてきた前記情報に基づいて、前記ボタンの押下の後に、前記選択状態にあるアプリケーションプログラムによって実行される新たな機能を特定すると、更に、特定した新たな機能で利用される前記ボタンを特定する、ステップと、
（ｅ）新たな機能で利用される前記ボタンを規定するボタン情報を、前記リモートコントローラに送信し、前記リモートコントローラにおいて、新たに特定したボタンの発光素子を点灯させる、ステップと、
を更に実行させる、付記１０に記載のプログラム。
【０１１２】
（付記１２）
前記（ｂ）のステップにおいて、前記実行機能情報と、予め実行機能毎に利用可能なボタンが規定された情報テーブルとに基づいて、前記選択状態にある前記アプリケーションプログラムで利用可能な前記ボタンを特定する、
付記１０または１１に記載のプログラム。
【産業上の利用可能性】
【０１１３】
以上のように、本発明によれば、コンピュータにおいて実行されるアプリケーションが不定期に切り替えられた場合でも、ユーザにおける直感的なリモコン操作を可能にすることができる。本発明は、コンピュータに利用されるリモートコントローラの分野に有用である。
【符号の説明】
【０１１４】
１０  コンピュータ
２０  アプリケーション
２１  ボタン情報制御部
２２  リモコン通信制御部
３０  リモコンドライバ
３１  アプリケーション状態監視部
３１ａ  監視アプリケーション情報テーブル
３２  アプリケーション通信制御部
３３  アプリケーションボタン制御部
３３ａ  利用可能ボタン情報取得部
３３ｂ  ボタン遷移情報制御部
３４  通信部
４０  リモコンファームウェア
５０  アプリケーション情報テーブル
６０  リモコン
６１  ボタン
１００  リモートコントロールシステム
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
0005455254.tif 000002
【図２】
0005455254.tif 000003
【図３】
0005455254.tif 000004
【図４】
0005455254.tif 000005
【図５】
0005455254.tif 000006
【図６】
0005455254.tif 000007
【図７】
0005455254.tif 000008
【図８】
0005455254.tif 000009
【図９】
0005455254.tif 000010
【図１０】
0005455254.tif 000011
【図１１】
0005455254.tif 000012
【図１２】
0005455254.tif 000013
【図１３】
0005455254.tif 000014