(57)【特許請求の範囲】
【請求項１】
プロセッサと、
キーボードと、
他の情報処理装置と通信するための接続端子と、
前記接続端子に前記他の情報処理装置が接続されていない場合、前記キーボードに対する入力操作に応じたキー入力信号を前記プロセッサに送信し、前記接続端子に前記他の情報処理装置が接続されている場合、前記キー入力信号を前記他の情報処理装置に送信する制御回路と、
を有し、
前記制御回路は、自己の情報処理装置が電源オフ又はデッドバッテリの状態の場合、前記接続端子に接続された前記他の情報処理装置から供給される電力を用いて、前記キー入力信号を前記他の情報処理装置に送信する情報処理装置。
【請求項２】
前記接続端子に接続される通信ケーブルは、電力を伝送するための電力線を含み、
前記制御回路は、前記接続端子に前記他の情報処理装置が接続されると、前記電力線を介して前記他の情報処理装置から供給される電力によって駆動されて、前記キー入力信号を前記他の情報処理装置に送信する、
請求項１記載の情報処理装置。
【請求項３】
前記プロセッサと前記制御回路に電力を供給するバッテリをさらに有し、
前記バッテリの電圧低下によって前記プロセッサと前記制御回路の動作が停止している前記デッドバッテリ状態において、前記接続端子に前記他の情報処理装置が接続されると、前記制御回路は、前記電力線を介して前記他の情報処理装置から供給される電力によって起動して、前記キー入力信号を前記他の情報処理装置に送信する、
請求項２記載の情報処理装置。
【請求項４】
前記情報処理装置の内部に電力を供給する電源回路をさらに有し、
前記制御回路は、前記電源回路から前記プロセッサへの電力供給が停止し、前記電源回路から前記制御回路に電力が供給される前記電源オフ状態において、前記接続端子に前記他の情報処理装置が接続されると、前記電力線を介して前記他の情報処理装置から供給される電力によって前記制御回路が駆動されるように前記電源回路を制御する、
請求項２記載の情報処理装置。
【請求項５】
前記制御回路は、
前記電源オフ状態において前記接続端子に前記他の情報処理装置が接続されると、前記電力線に第１の信号を重畳して送信することで、前記電力線を介して電力を供給するよう前記他の情報処理装置に要求し、
前記電力線を介して前記他の情報処理装置から供給される電力によって駆動される状態において、前記電力線に第２の信号を重畳して送信することで、前記キー入力信号を前記他の情報処理装置に送信する、
請求項４記載の情報処理装置。
【請求項６】
前記情報処理装置の内部に電力を供給する電源回路と、不揮発性記憶装置とをさらに有し、
前記プロセッサは、ユーザの入力操作に応じて、前記キー入力信号を前記他の情報処理装置に送信するか否かを示す制御情報を前記不揮発性記憶装置に記録し、
前記制御回路は、前記電源回路から前記プロセッサおよび前記制御回路に電力が供給される電源オン状態において、前記接続端子に前記他の情報処理装置が接続されたとき、前記制御情報が前記キー入力信号を前記他の情報処理装置に送信することを示す場合に、前記キー入力信号の送信先を前記プロセッサから前記他の情報処理装置に切り替え、前記制御情報が前記キー入力信号を前記他の情報処理装置に送信しないことを示す場合に、前記キー入力信号の送信先を前記プロセッサのままにする、
請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御回路は、前記接続端子に接続される通信ケーブルに含まれる伝送線のうち、電力を伝送するための電力線に、前記キー入力信号を重畳して前記他の情報処理装置に送信する、
請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
携帯型の情報処理端末（携帯端末）が広く普及している。特に近年では、「タブレット端末」と呼ばれる携帯端末のように、キーボードの代わりにタッチパネルを入力手段として備える携帯端末の普及が進んでいる。
【０００３】
また、携帯端末が周辺機器と接続するためのインタフェースとしては、ＵＳＢ（Universal Serial Bus）が広く利用されている。ここで、ＵＳＢ機器の電力供給に関する技術の例として、ＵＳＢのスレーブとして動作する次のような携帯端末が提案されている。この携帯端末は、ＵＳＢ端子と、これとは別の電源端子とを備え、これらの端子にキーボードモジュールが接続されると、電源端子を通じてキーボードモジュールに電力を供給する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４８６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
キーボードを備えない携帯端末については、当然ながら、並列されたキーに対する入力（キー入力）の操作性が悪いという問題がある。例えば、タッチパネル上にキー配列を表示させてキー入力を行う方法もあるが、ハードウェアキーを備えたキーボードを使用する方が、一般的にキー入力をしやすい。
【０００６】
このため、キーボードを備えない携帯端末に接続可能な専用の外付けキーボードが提供されている場合がある。しかしこの場合、携帯端末のユーザは、その携帯端末とともに外付けキーボードを持ち運ばなくてはならないという問題がある。
【０００７】
１つの側面では、本発明は、ユーザの利便性を向上させる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、プロセッサと、キーボードと、他の情報処理装置と通信するための接続端子と、接続端子に他の情報処理装置が接続されていない場合、キーボードに対する入力操作に応じたキー入力信号をプロセッサに送信し、接続端子に他の情報処理装置が接続されている場合、キー入力信号を他の情報処理装置に送信する制御回路と、を有し、制御回路は、自己の情報処理装置が電源オフ又はデッドバッテリの状態の場合、接続端子に接続された他の情報処理装置から供給される電力を用いて、キー入力信号を他の情報処理装置に送信する情報処理装置が提供される。
【発明の効果】
【０００９】
１つの側面では、ユーザの利便性が向上する。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る情報処理装置の構成例および処理例を示す図である。
【図２】第２の実施の形態におけるタブレット端末とノートＰＣとの接続状態の例を示す。
【図３】タブレット端末のハードウェア構成例を示す図である。
【図４】ノートＰＣのハードウェア構成例を示す図である。
【図５】タブレット端末におけるキー入力信号および電力の伝送に関連するハードウェア構成例を示す図である。
【図６】タブレット端末のキーボードコントローラの内部構成例を示す図である。
【図７】ノートＰＣにおけるキー入力信号および電力の伝送に関連するハードウェア構成例を示す図である。
【図８】ノートＰＣのキーボードコントローラの内部構成例を示す図である。
【図９】ＥＮフラグを設定するための画面表示例を示す図である。
【図１０】Ｖｂｕｓラインを通じて伝送されるＰＤパケットの本体部分の基本構造を示す図である。
【図１１】ＰＤコネクションにおいて使用される拡張ＰＤＯの構成例を示す図である。
【図１２】ＰＤネゴシエーションの通信手順の例を示すシーケンス図である。
【図１３】ＫＢデータ送信のために使用されるＰＤパケットの構成例を示す図である。
【図１４】ＫＢデータ送信のための通信手順を示すシーケンス図である。
【図１５】デッドバッテリ・シーケンスについて説明するための図である。
【図１６】タブレット端末の処理手順の例を示すフローチャートである。
【図１７】ノートＰＣの処理手順の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係る情報処理装置の構成例および処理例を示す図である。情報処理装置１０は、プロセッサ１１、キーボード１２、接続端子１３および制御回路１４を有する。
【００１２】
プロセッサ１１は、例えば、ＯＳ（Operating System）プログラムやアプリケーションプログラムなどの所定のプログラムを実行することで、情報処理装置１０の動作を制御する。
【００１３】
キーボード１２は、複数の入力キーを備える入力装置である。キーボード１２は、ユーザによる入力操作に応じたキー入力信号を制御回路１４に出力する。キー入力信号は、例えば、操作された入力キーを識別する情報を含む。
【００１４】
接続端子１３は、他の装置と通信するための端子である。接続端子１３には、他の情報処理装置２０を接続することが可能になっている。他の情報処理装置２０は、入力装置として例えばタッチパネルを備えているが、キーボードを備えていない。
【００１５】
制御回路１４は、接続端子１３に他の情報処理装置２０が接続されていない場合、キーボード１２からのキー入力信号をプロセッサ１１に送信する。この場合、プロセッサ１１は、キーボード１２に対する入力操作に応じた処理を実行することができる。
【００１６】
一方、制御回路１４は、接続端子１３に他の情報処理装置２０が接続されている場合、キーボード１２からのキー入力信号を他の情報処理装置２０に送信する。この場合、他の情報処理装置２０は、キーボード１２に対する入力操作に応じた処理を実行することができる。すなわち、他の情報処理装置２０のユーザは、情報処理装置１０のキーボード１２を外付けキーボードとして使用することができる。このため、キーボードを備えていない他の情報処理装置２０のユーザによるキー入力の操作性が向上する。
【００１７】
以上の第１の実施の形態によれば、他の情報処理装置２０のユーザは、他の情報処理装置２０についての専用の外付けキーボードを他の情報処理装置２０とともに持ち運んでいない場合でも、情報処理装置１０が存在する環境であれば、情報処理装置１０のキーボード１２を外付けキーボードとして使用できる。このため、他の情報処理装置２０のユーザの利便性が向上する。
【００１８】
また、情報処理装置１０が持ち運び可能な装置である場合には、他の情報処理装置２０のユーザは他の情報処理装置２０とともに情報処理装置１０を持ち運ぶことが考えられる。この場合には、他の情報処理装置２０のユーザは、専用の外付けキーボードを持ち運ぶことなく、情報処理装置１０のキーボードを外付けキーボードとして使用できる。したがって、他の情報処理装置２０のユーザの利便性が向上する。
【００１９】
また、情報処理装置１０は、プロセッサ１１とは別のハードウェアである制御回路１４によって、キー入力信号を他の情報処理装置２０に送信する。このため、プロセッサ１１の動作状態に関係なく、キー入力信号を他の情報処理装置２０に送信できる。したがって、例えば、プロセッサ１１に電力が供給されていない情報処理装置１０の電源オフ状態でも、制御回路１４に電力が供給されていれば、キー入力信号を他の情報処理装置２０に送信できる。この場合、他の情報処理装置２０のユーザは、プロセッサ１１の起動を待つことなく、キーボード１２を短時間で外付けキーボードとして使用でき、ユーザの利便性が向上する。
【００２０】
［第２の実施の形態］
次に、第２の実施の形態について説明する。第２の実施の形態では、キーボードを備えない携帯端末の例としてタブレット端末を示し、キーボードを備える携帯端末の例としてノートＰＣを示す。
【００２１】
図２は、第２の実施の形態におけるタブレット端末とノートＰＣとの接続状態の例を示す。タブレット端末１００は、入力手段として、ディスプレイの表示面に搭載されたタッチパネル１０１を備える。一方、ノートＰＣ２００は、入力手段としてキーボード２０１を備える。
【００２２】
タブレット端末１００とノートＰＣ２００とは、通信ケーブルを介して接続可能になっている。本実施の形態では、タブレット端末１００とノートＰＣ２００とは、例としてＵＳＢケーブル３０１を介して接続可能になっている。ノートＰＣ２００はＵＳＢポート２０２を備えており、ＵＳＢケーブル３０１のコネクタ３０２がＵＳＢポート２０２に接続される。また、図示しないが、タブレット端末１００もＵＳＢポートを備えており、ＵＳＢケーブル３０１の他方のコネクタがそのＵＳＢポートに接続される。
【００２３】
ノートＰＣ２００にタブレット端末１００が接続された状態では、ノートＰＣ２００は、キーボード２０１に対する入力操作に応じたキー入力信号をタブレット端末１００に送信可能である。キー入力信号がノートＰＣ２００からタブレット端末１００に送信されることで、タブレット端末１００のユーザは、ノートＰＣ２００のキーボード２０１を外付けキーボードとして使用して、入力操作を行うことが可能になる。
【００２４】
ここで、タブレット端末１００を持ち歩くユーザの中には、タブレット端末１００とともにノートＰＣ２００も持ち歩くユーザも多い。また、タブレット端末１００をオフィスや自宅に持ち運んだ場合、オフィスや自宅にはノートＰＣ２００が存在するケースも多い。そのため、ユーザがタブレット端末１００を使用するとき、その近くにノートＰＣ２００が存在するというケースは多い。
【００２５】
これらのケースにおいて、本実施の形態では、タブレット端末１００の近くに存在するノートＰＣ２００のキーボード２０１が、タブレット端末１００の外付けキーボードとして使用可能になる。これにより、タブレット端末１００のユーザは、タブレット端末１００専用の外付けキーボードを持ち歩く必要がなくなるので、タブレット端末１００のユーザの利便性を向上させることができる。また、タブレット端末１００の近くに存在するノートＰＣ２００を有効に活用することができ、そのノートＰＣ２００の利用価値も高まる。
【００２６】
ところで、本実施の形態では、タブレット端末１００が接続される場合のノートＰＣ２００の状態として、次の３つの状態を想定する。
（１）ノートＰＣ２００が電源オフの状態。
【００２７】
（２）ノートＰＣ２００がデッドバッテリの状態。
（３）ノートＰＣ２００が電源オンの状態。
以下の説明において、ノートＰＣ２００が「電源オフ」の状態とは、ノートＰＣ２００においてＯＳプログラムなどを実行するプロセッサに電力が供給されていないが、後述するキーボードコントローラなど、ノートＰＣ２００内の回路の一部には電力が供給されている状態（スタンバイ状態）を指すものとする。また、デッドバッテリとは、ノートＰＣ２００のバッテリ残量が少なく、バッテリによってノートＰＣ２００を駆動できない状態を指す。
【００２８】
ノートＰＣ２００が電源オフの状態、および、ノートＰＣ２００がデッドバッテリの状態では、タブレット端末１００がノートＰＣ２００に対して、キー入力信号を出力させるための電力をＵＳＢケーブル３０１を介して供給できるようにする。これにより、タブレット端末１００のユーザは、ノートＰＣ２００のバッテリ残量に依存せずに、ノートＰＣ２００のキーボード２０１を外付けキーボードとして使用することができる。また、ノートＰＣ２００のバッテリ消費を抑止できる。
【００２９】
ここで、ノートＰＣ２００はＵＳＢホストであり、タブレット端末１００はＵＳＢデバイス（スレーブ）である。このため、一般的には、タブレット端末１００からノートＰＣ２００へ電力を供給することはできない。そこで、本実施の形態では、ＵＳＢのアデンダム仕様であるパワー・デリバリ（ＰＤ）に準拠するインタフェースを両端末に実装させることで、タブレット端末１００からノートＰＣ２００への電力供給を可能にする。
【００３０】
さらに、本実施の形態では、ＰＤの規定に基づいて、ノートＰＣ２００からのキー入力信号がＵＳＢケーブル３００の電源供給線（Ｖｂｕｓライン）を介してタブレット端末１００に送信される。この方法により、キー入力信号の送信のためにノートＰＣ２００におけるＯＳプログラムの起動が必要にならない。このため、ノートＰＣ２００が電源オフの状態やデッドバッテリの状態において、タブレット端末１００のユーザは、ノートＰＣ２００においてＯＳプログラムが起動するのを待つことなく、キーボード２０１を外付けキーボードとして短時間で使用可能になる。また、タブレット端末１００からノートＰＣ２００に送信する電力が抑制される。
【００３１】
また、ノートＰＣ２００がデッドバッテリの状態では、ＰＤで規定されたデッドバッテリ時のシーケンスを用いて、タブレット端末１００からの電力供給によりノートＰＣ２００のバッテリ残量を回復させ、ノートＰＣ２００のキーボードコントローラを起動させる。これにより、ノートＰＣ２００がデッドバッテリの状態であっても、ノートＰＣ２００のキーボード２０１を外付けキーボードとして使用できるようになる。
【００３２】
一方、ノートＰＣ２００が電源オンの状態でタブレット端末１００が接続された場合には、その状態においてノートＰＣ２００のキーボード２０１を外付けキーボードとして機能させるか否かをユーザが設定できるようにする。これにより、意図せずにキーボード２０１が使用できなくなり、ノートＰＣ２００の使用に支障をきたさないようにすることができる。
【００３３】
次に、図３，図４を用いて、タブレット端末１００およびノートＰＣ２００のハードウェア構成について説明する。
図３は、タブレット端末のハードウェア構成例を示す図である。タブレット端末１００は、前述したタッチパネル１０１の他、ＳｏＣ（System-on-a-Chip）１０２、ＲＡＭ（Random Access Memory）１０３、フラッシュメモリ１０４、ディスプレイ１０５、ＰＭＩＣ（Power Management Integrated Circuit）１０６，ＵＳＢインタフェース１０７、キーボードコントローラ１０８、バッテリ１０９、電源回路１１０およびＰＤコントローラ１１１を有する。
【００３４】
ＳｏＣ１０２には、ＣＰＵ（Central Processing Unit）１０２ａおよびＧＰＵ（Graphics Processing Unit）１０２ｂが実装されている。ＣＰＵ１０２ａは、タブレット端末１００全体を制御する。ＣＰＵ１０２ａは、複数のプロセッサを備えるマルチプロセッサであってもよい。ＧＰＵ１０２ｂは、ＣＰＵ１０２ａの制御の下でディスプレイ１０５に画像を表示させる。
【００３５】
なお、図示しないが、ＳｏＣ１０２には、ＲＡＭ１０３用のインタフェース、フラッシュメモリ１０４やＰＭＩＣ１０６などの外部回路とのインタフェースが実装されている。
ＲＡＭ１０３は、タブレット端末１００の主記憶装置として使用される。ＲＡＭ１０３には、ＣＰＵ１０２ａに実行させるＯＳプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０３には、ＣＰＵ１０２ａによる処理に必要な各種データが格納される。
【００３６】
フラッシュメモリ１０４は、タブレット端末１００の補助記憶装置として使用される。フラッシュメモリ１０４には、ＯＳプログラム、アプリケーションプログラムおよび各種データが格納される。なお、補助記憶装置としては、ＨＤＤ（Hard Disk Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００３７】
ディスプレイ１０５は、ＧＰＵ１０２ｂから受信した映像信号に基づく画像を表示する。ディスプレイ１０５は、例えば、液晶ディスプレイや有機ＥＬ（ElectroLuminescence）ディスプレイである。
【００３８】
ＰＭＩＣ１０６は、タブレット端末１００の電源制御機能を備える。また、ＰＭＩＣ１０６は、ＵＳＢインタフェース１０７、キーボードコントローラ１０８およびタッチパネル１０１と、ＳｏＣ１０２との間の入出力制御機能も備える。
【００３９】
ＵＳＢインタフェース１０７は、ＵＳＢケーブルを介した外部装置との通信を制御する。タッチパネル１０１は、ディスプレイ１０５の表面に搭載され、タッチ操作に応じた座標情報などの入力操作信号をＰＭＩＣ１０６を介してＣＰＵ１０２ａに送信する。
【００４０】
キーボードコントローラ１０８は、タブレット端末１００にキーボードが接続された場合に、キーボードに対するキー入力信号をＣＰＵ１０２ａに送信する。なお、キー入力信号は、現在押下されているキーの識別番号を含む。
【００４１】
バッテリ１０９は、電力を蓄積し、蓄積された電力によってタブレット端末１００内の各部を駆動する。電源回路１１０は、タブレット端末１００内の各部に対する電力の供給を制御する。例えば、電源回路１１０は、バッテリ１０９からの電力供給と、図示しない外部電源からの電力供給とを切り替える。また、電源回路１１０は、バッテリ１０９の充放電制御機能も備える。
【００４２】
ＰＤコントローラ１１１は、ＰＤで規定されたインタフェース処理を実行する。例えば、ＰＤコントローラ１１１は、ＰＤで規定されたパケット（ＰＤパケット）の生成や、ＵＳＢケーブルのＶｂｕｓラインを介したＰＤパケットの送受信を行う。
【００４３】
図４は、ノートＰＣのハードウェア構成例を示す図である。ノートＰＣ２００は、前述したキーボード２０１の他、ＣＰＵ２０３、ＲＡＭ２０４、入出力コントローラ２０５、ＨＤＤ２０６、グラフィックコントローラ２０７、ディスプレイ２０８、キーボードコントローラ２０９、ＵＳＢインタフェース２１０、バッテリ２１１、電源回路２１２およびＰＤコントローラ２１３を有する。
【００４４】
ＣＰＵ２０３は、ノートＰＣ２００全体を制御する。ＣＰＵ２０３は、複数のプロセッサを備えるマルチプロセッサであってもよい。ＲＡＭ２０４は、ノートＰＣ２００の主記憶装置として使用される。ＲＡＭ２０４には、ＣＰＵ２０３に実行させるＯＳプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２０４には、ＣＰＵ２０３による処理に必要な各種データが格納される。
【００４５】
入出力コントローラ２０５は、ＣＰＵ２０３と周辺機器との間の入出力を制御する。入出力コントローラ２０５には、周辺機器の例として、ＨＤＤ２０６、グラフィックコントローラ２０７、キーボードコントローラ２０９およびＵＳＢインタフェース２１０が接続されている。
【００４６】
ＨＤＤ２０６は、ノートＰＣ２００の補助記憶装置として使用される。ＨＤＤ２０６には、ＯＳプログラム、アプリケーションプログラムおよび各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００４７】
グラフィックコントローラ２０７は、ＣＰＵ２０３の制御の下で、ディスプレイ２０８に画像を表示させる。ディスプレイ２０８は、例えば、液晶ディスプレイや有機ＥＬディスプレイである。
【００４８】
キーボードコントローラ２０９は、キーボード２０１に対する操作に応じたキー入力信号をＣＰＵ２０３に送信する。また、キーボードコントローラ２０９は、キー入力信号をＰＤコントローラ２１３を介してタブレット端末１００に送信することもできる。
【００４９】
ＵＳＢインタフェース２１０は、ＵＳＢケーブルを介した外部装置との通信を制御する。
バッテリ２１１は、電力を蓄積し、蓄積された電力によってノートＰＣ２００内の各部を駆動する。電源回路２１２は、ノートＰＣ２００内の各部に対する電力の供給を制御する。例えば、電源回路２１２は、バッテリ２１１からの電力供給と、図示しない外部電源からの電力供給とを切り替える。また、電源回路２１２は、バッテリ２１１の充放電制御機能も備える。
【００５０】
ＰＤコントローラ２１３は、ＰＤで規定されたインタフェース処理を実行する。例えば、ＰＤコントローラ２１３は、ＰＤパケットの生成や、ＵＳＢケーブルのＶｂｕｓラインを介したＰＤパケットの送受信を行う。
【００５１】
次に、図５〜図８を用いて、タブレット端末１００およびノートＰＣ２００におけるキー入力信号および電力の伝送に関連するハードウェア構成について説明する。また、Ｖｂｕｓラインを通じたキー入力信号の伝送方法についても併せて説明する。
【００５２】
図５は、タブレット端末におけるキー入力信号および電力の伝送に関連するハードウェア構成例を示す図である。タブレット端末１００は、ＵＳＢポート１１２を備える。ＵＳＢポート１１２に接続されるＵＳＢケーブル３００（図２参照）は、Ｖｂｕｓライン３１１、Ｄ＋ライン３１２、Ｄ−ライン３１３およびグランドライン（図示せず）を含む。Ｖｂｕｓライン３１１は、電力を伝送するために電源線である。Ｄ＋ライン３１２およびＤ−ライン３１３は、データを伝送するための信号線である。
【００５３】
Ｖｂｕｓライン３１１は、電源回路１１０およびＰＤコントローラ１１１に接続される。電源回路１１０は、ＵＳＢホストからＶｂｕｓライン３１１を介して供給された電力に基づいて、キーボードコントローラ１０８などのタブレット端末１００の各部に電力を供給することができる。また、タブレット端末１００にノートＰＣ２００が接続され、かつ、ノートＰＣ２００が電源オフ状態またはデッドバッテリ状態の場合には、電源回路１１０は、図５中の点線矢印で示すように、Ｖｂｕｓライン３１１を介してノートＰＣ２００に電力を供給することができる。
【００５４】
ＰＤコントローラ１１１は、Ｖｂｕｓライン３１１にＰＤパケットを重畳することで、ノートＰＣ２００のＰＤコントローラ２１３との間で通信する。また、ＰＤコントローラ１１１は、キーボードコントローラ１０８と接続されている。
【００５５】
図５では、ノートＰＣ２００が外付けキーボードとして使用される際のキーボード（ＫＢ）データの流れを、破線矢印によって示している。なお、ＫＢデータとは、キーボード２０１への操作に応じて出力されるキー入力信号であり、押下されたキーの識別情報を含む。
【００５６】
ＫＢデータは、Ｖｂｕｓライン３１１に重畳されたＰＤパケットによってノートＰＣ２００から送信される。ＰＤコントローラ１１１は、受信したＰＤパケットからＫＢデータを抽出して、キーボードコントローラ１０８に送信する。キーボードコントローラ１０８は、受信したＫＢデータをＰＭＩＣ１０６を介してＣＰＵ１０２ａに送信する。これにより、タブレット端末１００のＣＰＵ１０２ａは、ノートＰＣ２００のキーボード２０１に対する操作を検知することができる。
【００５７】
図６は、タブレット端末のキーボードコントローラの内部構成例を示す図である。キーボードコントローラ１０８は、ＭＣＵ（Micro Controller Unit）１２１、不揮発メモリ１２２、ホストインタフェース１２３、Ｉ2Ｃインタフェース１２４およびＧＰＩＯ（General Purpose Input/Output）１２５，１２６を有する。
【００５８】
ＭＣＵ１２１は、キーボードコントローラ１０８全体を制御するプロセッサと、プロセッサの処理に必要な各種のデータを記憶するＲＯＭ（Read Only Memory）やＲＡＭを備える。不揮発メモリ１２２は、ＭＣＵ１２１に接続されており、ＭＣＵ１２１内のプロセッサの処理に必要な各種のデータを記憶する。不揮発メモリ１２２は、例えば、フラッシュメモリである。
【００５９】
ホストインタフェース１２３、Ｉ2Ｃインタフェース１２４およびＧＰＩＯ１２５，１２６は、内部バス１２７を介してＭＣＵ１２１と接続されている。ホストインタフェース１２３は、ＰＭＩＣ１０６とＭＣＵ１２１との間のデータ送受信を制御する。Ｉ2Ｃインタフェース１２４は、Ｉ2Ｃバスを介してＰＤコントローラ１１１と接続されており、ＰＤコントローラ１１１とＭＣＵ１２１との間のデータ送受信を制御する。ＧＰＩＯ１２５は、例えば、図示しない電源スイッチなどの各種の入出力機能と、ＭＣＵ１２１との間のデータ送受信を制御する。ＧＰＩＯ１２６は、例えば、キーボードが接続された場合に、そのキーボードに対する操作に応じたキー入力信号をＭＣＵ１２１に送信する。
【００６０】
ここで、ノートＰＣ２００が外付けキーボードとして使用される際には、ＰＤコントローラ１１１がノートＰＣ２００から受信したＫＢデータが、Ｉ2Ｃインタフェース１２４を介してＭＣＵ１２１のプロセッサに送信される。そして、そのＫＢデータがプロセッサからホストインタフェース１２３およびＰＭＩＣ１０６を介してＣＰＵ１０２ａに送信される。
【００６１】
図７は、ノートＰＣにおけるキー入力信号および電力の伝送に関連するハードウェア構成例を示す図である。この図７を用いて、まず、電源回路２１２による電力供給について説明する。
【００６２】
ＵＳＢポート２０２に接続されたＵＳＢケーブル３００のＶｂｕｓライン３１１は、電源回路２１２およびＰＤコントローラ２１３に接続される。ノートＰＣ２００が電源オンの状態では、電源回路２１２は、バッテリ２１１または外部電源に基づく電力を、ノートＰＣ２００内の各部に供給するとともに、Ｖｂｕｓライン３１１にも所定電圧の電力を供給する。
【００６３】
一方、ノートＰＣ２００が電源オフの状態では、電源回路２１２は、ＣＰＵ２０３やＲＡＭ２０４を含むノートＰＣ２００内のほとんどの要素に対する電力供給を停止するが、キーボードコントローラ２０９およびＰＤコントローラ２１３に対する電力供給は継続する。このような状態において、電源回路２１２は、電力供給源をバッテリ２１１から、タブレット端末１００からＶｂｕｓライン３１１を介して供給される電力に切り替えることができる。なお、図７では、この場合の電力供給の方向を点線矢印で示している。
【００６４】
また、ノートＰＣ２００がデッドバッテリの状態では、電源回路２１２は、Ｖｂｕｓライン３１１を介して供給される電力に基づいて、キーボードコントローラ２０９およびＰＤコントローラ２１３への電力供給を再開し、これらを起動させることができる。
【００６５】
次に、図７を用いて、ＫＢデータの送信について説明する。ノートＰＣ２００が電源オンの状態で、ＯＳプログラムが起動されている状態では、キーボードコントローラ２０９は通常、キーボード２０１への操作に応じたＫＢデータを入出力コントローラ２０５を介してＣＰＵ２０３に送信する。図７では、この場合のＫＢデータの伝送経路を一点鎖線の矢印で示している。
【００６６】
一方、図７では、ノートＰＣ２００にタブレット端末１００が接続された状態のＫＢデータの伝送経路を破線矢印によって示す。この状態では、キーボードコントローラ２０９は、キーボードへの操作に応じたＫＢデータを、ＰＤコントローラ２１３に送信する。ＰＤコントローラ２１３は、受信したＫＢデータを格納したＰＤパケットを生成し、生成したＰＤパケットをＶｂｕｓライン３１１に重畳してタブレット端末１００のＰＤコントローラ１１１に送信する。
【００６７】
このように、ノートＰＣ２００は、ＣＰＵ２０３とは別のキーボードコントローラ２０９が、キーボード２０１からのＫＢデータをＰＤコントローラ２１３を介してタブレット端末１００へ送信する構成となっている。これにより、ノートＰＣ２００が電源オフの状態でも、ＣＰＵ２０３の起動やＯＳプログラムの実行を行うことなく、ノートＰＣ２００を外付けキーボードとして動作させることが可能となる。なお、後述するように、ノートＰＣ２００が電源オンの状態では、キーボードコントローラ２０９は、その内部に記憶されたフラグ情報に基づいて、ＫＢコントローラの送信先をＣＰＵ２０３からＰＤコントローラ２１３に切り替えるか否かを決定することができる。
【００６８】
図８は、ノートＰＣのキーボードコントローラの内部構成例を示す図である。キーボードコントローラ２０９は、ＭＣＵ２２１、不揮発メモリ２２２、ホストインタフェース２２３、Ｉ2Ｃインタフェース２２４およびＧＰＩＯ２２５，２２６を有する。
【００６９】
ＭＣＵ２２１は、キーボードコントローラ２０９全体を制御するプロセッサと、プロセッサの処理に必要な各種のデータを記憶するＲＯＭやＲＡＭを備える。不揮発メモリ２２２は、ＭＣＵ１２１に接続されており、ＭＣＵ１２１内のプロセッサの処理に必要な各種のデータを記憶する。不揮発メモリ２２２は、例えば、フラッシュメモリである。
【００７０】
ホストインタフェース２２３、Ｉ2Ｃインタフェース２２４およびＧＰＩＯ２２５，２２６は、内部バス２２７を介してＭＣＵ１２１と接続されている。ホストインタフェース２２３は、入出力コントローラ２０５とＭＣＵ２２１との間のデータ送受信を制御する。Ｉ2Ｃインタフェース２２４は、Ｉ2Ｃバスを介してＰＤコントローラ２１３と接続されており、ＰＤコントローラ２１３とＭＣＵ２２１との間のデータ送受信を制御する。ＧＰＩＯ２２５は、例えば、図示しない電源スイッチなどの各種の入出力機能と、ＭＣＵ２２１との間のデータ送受信を制御する。ＧＰＩＯ２２６は、キーボード２０１に接続され、キーボード２０１に対する操作に応じたキー入力信号をＭＣＵ２２１に送信する。
【００７１】
ここで、キーボード２０１がノートＰＣ２００用の入力手段として使用される際には、ＧＰＩＯ２２６がキーボード２０１から受信したＫＢデータが、ＭＣＵ２２１のプロセッサに送信される。そして、そのＫＢデータがプロセッサからホストインタフェース２２３および入出力コントローラ２０５を介してＣＰＵ２０３に送信される。
【００７２】
一方、ノートＰＣ２００が外付けキーボードとして使用される際には、ＧＰＩＯ２２６がキーボード２０１から受信したＫＢデータが、ＭＣＵ２２１のプロセッサに送信される。そして、そのＫＢデータがプロセッサからＩ2Ｃインタフェース２２４を介してＰＤコントローラ２１３に出力される。
【００７３】
ところで、キーボードコントローラ２０９の不揮発メモリ２２２には、ＥＮフラグ２２２ａが記憶される。ＥＮフラグ２２２ａは、ノートＰＣ２００が電源オンの状態においてキーボード２０１を外付けキーボードとして使用する機能が有効か否かを示すフラグ情報である。ＥＮフラグ２２２ａが“０”の場合、機能が無効であることを示し、ＥＮフラグ２２２ａが“１”の場合、機能が有効であることを示す。
【００７４】
ＥＮフラグ２２２ａは、アプリケーションプログラムを実行するＣＰＵ２０３の処理により、ユーザの操作に応じて任意に設定される。
ここで、図９は、ＥＮフラグを設定するための画面表示例を示す図である。ＣＰＵ２０３は、ＥＮフラグ２２２ａの設定のための入力操作に応じて、例えば、図９に示す設定画面２３１をディスプレイ２０８に表示させる。
【００７５】
設定画面２３１には、キーボード２０１を外付けキーボードとして使用する機能を有効にするための有効ボタン２３２と、その機能を無効にするための無効ボタン２３３とが表示される。ユーザの操作により有効ボタン２３２が選択操作されると、ＥＮフラグ２２２ａは“１”に設定され、無効ボタン２３３が選択操作されると、ＥＮフラグ２２２ａは“０”に設定される。図８に示したように、ＥＮフラグ２２２ａの設定値は不揮発メモリ２２２に記憶されるため、ノートＰＣ２００の電源がオフになっても保存される。
【００７６】
次に、Ｖｂｕｓライン３１１を介したタブレット端末１００とノートＰＣ２００との通信の詳細について説明する。
ＰＤコントローラ１１１，２１３は、ＰＤの規定にしたがって、Ｖｂｕｓライン３１１を介してＦＳＫ（Frequency Shift Keying）変調方式で半二重通信を行う。ＦＳＫの変調では、キャリア周波数が２３．２ＭＨｚであり、＋５００ＫＨｚでデータ“０”が伝送され、−５００ＫＨｚでデータ“１”が伝送される。これにより、ＰＤコントローラ１１１とＰＤコントローラ２１３との間で、ビットレート３００Ｋｂｐｓでの通信が行われる。
【００７７】
図１０は、Ｖｂｕｓラインを通じて伝送されるＰＤパケットの本体部分の基本構造を示す図である。ＰＤパケットは、１６ビットのヘッダを少なくとも含む。また、メッセージの種類がデータメッセージの場合、ヘッダの後には１以上のＤＯ（Data Object）が付加される。１つのＤＯの長さは３２ビットである。ヘッダの第１２ビット〜第１４ビットには、後続のＤＯの数を示すNumber Of Data Objectsが設定される。
【００７８】
なお、実際には、ヘッダの前にプリアンブルとＳＯＰ（Start Of Packet）が付加され、ヘッダまたはＤＯの後ろにＣＲＣ（Cyclic Redundancy Check）とＥＯＰ（End Of Packet）とが付加されるが、図１０ではこれらの図示を省略している。
【００７９】
ＤＯには、ＰＤＯ（Power Data Object）とＲＤＯ（Request Data Object）とがある。ＰＤＯは、ソースが供給可能な電圧、電流などの定格や、シンクが必要とする定格の伝送に使用される。ここで、ソースとは、ＰＤにおけるホスト機器を示し、シンクとは、ＰＤにおけるスレーブ機器を示す。通常は、ソースからシンクへ電力が供給される。ＲＤＯは、シンクからのネゴシエーションのために使用される。
【００８０】
次に、ノートＰＣ２００のキーボードコントローラ２０９およびＰＤコントローラ２１３に電力が供給された状態で、ノートＰＣ２００にタブレット端末１００が接続された場合の処理について説明する。この場合、ノートＰＣ２００とタブレット端末１００との間でＰＤネゴシエーションが行われる。ＰＤネゴシエーションの初期段階では、各機器が互いの存在を認識してＰＤのリンクを確立するためのＰＤコネクションが実行される。
【００８１】
図１１は、ＰＤコネクションにおいて使用される拡張ＰＤＯの構成例を示す図である。拡張ＰＤＯは、本実施の形態において新たに定義されたＰＤＯである。
ＰＤコネクションの実行段階では、ノートＰＣ２００がソースであり、タブレット端末１００がシンクである。ＰＤコネクションでは、シンクからGet＿Source＿Capabilitiesメッセージが発行され、ソースからSource＿Capabilitiesメッセージが発行される。ソースからのSource＿Capabilitiesメッセージには、ソースが供給可能な電流、電圧などの定格が設定したＰＤＯがヘッダの後に付加される。本実施の形態では、このSource＿Capabilitiesメッセージにおいて、既定のＰＤＯの後に図１１に示す拡張ＰＤＯが新たに付加される。拡張ＰＤＯは、外付けキーボードとして機能する機器であることをシンクに通知するために使用される。
【００８２】
さらに、本実施の形態では、ＰＤコネクションの後、ソースからGet＿Sink＿Capabilitiesメッセージが発行され、シンクからSink＿Capabilitiesメッセージが発行される。このSink＿Capabilitiesメッセージには、外付けキーボードの利用側機器であることをソースに通知するための拡張ＰＤＯが付加される。
【００８３】
ＰＤＯの第３０ビットおよび第３１ビットは、ＰＤＯに設定される情報の種類を示すように規定されている。ビット値“００”、“０１”、“１０”はそれぞれ所定の種類に割り当て済みであるが、ビット値“１１”はリザーブとなっている。そこで、本実施の形態では、ＰＤＯの第３０ビットおよび第３１ビットのビット値が“１１”である場合、このＰＤＯが拡張ＰＤＯであることを示すものとする。
【００８４】
図１１に示すように、拡張ＰＤＯの第０番ビット〜第２９番ビットには、「ファンクション」、「プロダクトＩＤ」および「ベンダＩＤ」が設定される。ファンクションには、「ＰＤキーボード」または「ＰＤホスト」を示すビット値が設定される。ＰＤキーボードは、外付けキーボードとして機能する機器であることを示し、ＰＤホストは、外付けキーボードの利用側機器であることを示す。ベンダＩＤには、あらかじめ決められた特定の識別情報が設定される。
【００８５】
図１２は、ＰＤネゴシエーションの通信手順の例を示すシーケンス図である。タブレット端末１００とノートＰＣ２００とがＵＳＢケーブル３００によって接続されると、図１２の処理が開始される。
【００８６】
［ステップＳ１１］タブレット端末１００のＰＤコントローラ１１１は、ノートＰＣ２００が接続されたことを検知すると、キーボードコントローラ１０８からの指示に応じてGet＿Source＿CapabilitiesメッセージをノートＰＣ２００に送信する。ＰＤコントローラ１１１は、例えば、Source＿Capabilitiesメッセージを受信するまで、Get＿Source＿Capabilitiesメッセージを一定間隔で送信し続ける。
【００８７】
［ステップＳ１２］ノートＰＣ２００のＰＤコントローラ２１３は、タブレット端末１００が接続されたことを検知すると、キーボードコントローラ２０９からの指示に応じてSource＿Capabilitiesメッセージをタブレット端末１００に送信する。このSource＿Capabilitiesメッセージには、図１１に示した拡張ＰＤＯが付加される。この拡張ＰＤＯには、ファンクションに「ＰＤキーボード」が設定され、ベンダＩＤにあらかじめ決められた特定の識別情報が設定される。拡張ＰＤＯに設定される情報の内容は、キーボードコントローラ２０９から指定される。
【００８８】
ＰＤコントローラ２１３は、例えば、Good＿CRCメッセージを受信するまで、Source＿Capabilitiesメッセージを一定間隔で送信し続ける。または、ＰＤコントローラ２１３は、Get＿Source＿Capabilitiesメッセージを受信すると、Source＿Capabilitiesメッセージを送信してもよい。
【００８９】
［ステップＳ１３］タブレット端末１００のＰＤコントローラ１１１は、Source＿Capabilitiesメッセージを受信すると、Good＿CRCメッセージをノートＰＣ２００に送信して、ＰＤコネクションを終了する。また、ＰＤコントローラ１１１は、Source＿Capabilitiesメッセージに付加された拡張ＰＤＯに設定されている情報を、キーボードコントローラ１０８に通知する。
【００９０】
ノートＰＣ２００のＰＤコントローラ２１３は、Good＿CRCメッセージを受信すると、ＰＤコネクションを終了する。
［ステップＳ１４］タブレット端末１００のキーボードコントローラ１０８は、ステップＳ１２で受信した拡張ＰＤＯのファンクションとベンダＩＤの各項目に設定されていた内容を確認する。キーボードコントローラ１０８は、ファンクションに「ＰＤキーボード」が設定され、ベンダＩＤにあらかじめ決められた特定の識別情報が設定されている場合に、ＰＤコントローラ１１１に次のようなRequestメッセージの送信を指示する。ＰＤコントローラ１１１は、キーボードコントローラ１０８からの指示に応じて、拡張ＰＤＯを選択したことを示すＲＤＯを添付したRequestメッセージをノートＰＣ２００に送信する。
【００９１】
［ステップＳ１５］ノートＰＣ２００のＰＤコントローラ２１３は、Requestメッセージを受信すると、添付されているＲＤＯの内容をキーボードコントローラ２０９に通知する。キーボードコントローラ２０９は、拡張ＰＤＯが選択されたことを確認すると、メッセージを正常に受信したことをＰＤコントローラ２１３に通知する。ＰＤコントローラ２１３は、Acceptメッセージをタブレット端末１００に送信する。
【００９２】
［ステップＳ１６］タブレット端末１００のＰＤコントローラ１１１は、Acceptメッセージを受信すると、その旨をキーボードコントローラ２０９に通知し、Good＿CRCメッセージをノートＰＣ２００に送信する。
【００９３】
以上の処理において、タブレット端末１００のキーボードコントローラ１０８は、ファンクションに「ＰＤキーボード」が設定され、ベンダＩＤに特定の識別情報が設定された拡張ＰＤＯをステップＳ１２で受信し、かつ、拡張ＰＤＯを選択したことの通知に応じたAcceptメッセージをステップＳ１５で受信することにより、接続された相手機器が外付けキーボードとして機能する機器であると判定する。
【００９４】
［ステップＳ１７］ノートＰＣ２００のＰＤコントローラ２１３は、キーボードコントローラ２０９からの指示に応じてGet＿Sink＿Capabilitiesメッセージをタブレット端末１００に送信する。
【００９５】
［ステップＳ１８］タブレット端末１００のＰＤコントローラ１１１は、Get＿Sink＿Capabilitiesメッセージを受信すると、キーボードコントローラ１０８からの指示に応じてSink＿CapabilitiesメッセージをノートＰＣ２００に送信する。このSink＿Capabilitiesメッセージには、図１１に示した拡張ＰＤＯが付加される。この拡張ＰＤＯには、ファンクションに「ＰＤホスト」が設定され、ベンダＩＤにあらかじめ決められた特定の識別情報が設定される。拡張ＰＤＯに設定される情報の内容は、キーボードコントローラ１０８から指定される。
【００９６】
［ステップＳ１９］タブレット端末１００のＰＤコントローラ１１１は、Sink＿Capabilitiesメッセージを受信すると、添付されている拡張ＰＤＯの内容をキーボードコントローラ１０８に通知する。キーボードコントローラ１０８は、拡張ＰＤＯのファンクションに「ＰＤホスト」が設定され、ベンダＩＤに特定の識別情報が設定されていることを確認すると、メッセージを正常に受信したことをＰＤコントローラ２１３に通知する。ＰＤコントローラ２１３は、Good＿CRCメッセージをノートＰＣ２００に送信する。
【００９７】
以上の処理において、ノートＰＣ２００のキーボードコントローラ２０９は、拡張ＰＤＯが選択されたことを示すＲＤＯをステップＳ１４で受信し、かつ、ファンクションに「ＰＤホスト」が設定され、ベンダＩＤに特定の識別情報が設定された拡張ＰＤＯをステップＳ１８で受信することにより、接続された相手機器が外付けキーボードの利用側機器であると判定する。
【００９８】
なお、ステップＳ１４〜Ｓ１６の処理と、ステップＳ１７〜Ｓ１９の処理との処理順は逆であってもよい。また、これらの処理が同時並列的に実行されてもよい。
［ステップＳ２０］このステップＳ２０の処理は、タブレット端末１００が接続されたときにノートＰＣ２００が電源オフの状態であった場合にのみ実行される。このケースでは、ノートＰＣ２００からＶｂｕｓライン３１１を介してタブレット端末１００に電力が供給されている。
【００９９】
ノートＰＣ２００のキーボードコントローラ２０９は、ロールスワップを要求するようにＰＤコントローラ２１３に指示する。ロールスワップとは、電力供給源を入れ替えることを示す。ＰＤコントローラ２１３は、ロールスワップを要求するメッセージをタブレット端末１００に送信する。
【０１００】
［ステップＳ２１］タブレット端末１００のＰＤコントローラ１１１は、ロールスワップを要求するメッセージを受信すると、その旨をキーボードコントローラ１０８に通知する。キーボードコントローラ１０８は、Ｖｂｕｓライン３１１を介してノートＰＣ２００へ電力を供給するように電源回路１１０に指示する。これにより、タブレット端末１００からノートＰＣ２００への電力供給が開始される。
【０１０１】
［ステップＳ２２］ノートＰＣ２００のキーボードコントローラ２０９は、例えば、ステップＳ２０でのメッセージ送信から一定時間後に、または、タブレット端末１００からの電力供給を検知すると、電源回路１１０にＶｂｕｓライン３１１を介した電力供給を停止させる。
【０１０２】
以上の処理により、ＰＤネゴシエーションが終了すると、以下に示す手順によってノートＰＣ２００からのＫＢデータの送信が開始される。ＫＢデータの開始前に、まず、ＫＢデータに関する設定などを示す制御情報が伝送され、その後にＫＢデータの送信が開始される。制御情報およびＫＢデータの送信は、ステップＳ１１〜Ｓ１３に示したようなSource＿Capabilitiesメッセージの伝送手順が利用される。ただし、次の図１３に示すように、これらの情報伝送のために専用に定義されたＤＯがメッセージに付加される。
【０１０３】
図１３は、ＫＢデータ送信のために使用されるＰＤパケットの構成例を示す図である。
ＰＤパケットのヘッダの第０ビットから第３ビットは、メッセージタイプを示す。ＰＤ規格では、このメッセージタイプの値として、ベンダによる拡張を可能とするために“１１１１”が予約されている。本実施の形態では、メッセージタイプが“１１１１”の場合、ヘッダに続く最初のＤＯが、次のように新たに定義された拡張ＤＯであることを示すものとする。
【０１０４】
拡張ＤＯにおいては、第２０ビットから第３１ビットには「ベンダＩＤ」が設定される。第１６ビットから第１９ビットには「リクエストタイプ」が設定される。リクエストタイプは、メッセージの種別を示す。第８ビットから第１５ビットはリザーブとされる。第０ビットから第７ビットには「コマンド」が設定される。
【０１０５】
ベンダＩＤには、あらかじめ決められた特定の識別番号が設定される。リクエストタイプは、メッセージの種別を示す。コマンドは、データ領域を示す。リクエストタイプとコマンドの各内容の組み合わせによって所望のデータが伝送される。リクエストタイプには、例えば、“０１００”、“１０００”、“１００１”の３種類の値が定義されているものとする。
【０１０６】
“０１００”は、「KB＿Cont」を示す。KB＿Contは、メッセージが、キーコードの出力を日本語と英語のどちらで行うかを指示するための制御情報であることを示す。リクエストタイプが“０１００”の場合、コマンドには、日本語であることを示す“Set＿KB＿101”か、または英語であることを示す“Set＿KB＿106”が設定される。
【０１０７】
“１０００”は、「Get＿KD」を示す。Get＿KDは、メッセージが、ＫＢデータの送信要求であることを示す。
“１００１”は、「KD」を示す。KDは、メッセージが、Get＿KDに対する応答であることを示す。リクエストタイプが“１００１”の場合、コマンドにはＫＢデータが設定される。
【０１０８】
図１４は、ＫＢデータ送信のための通信手順を示すシーケンス図である。
［ステップＳ３１］タブレット端末１００のＰＤコントローラ１１１は、キーボードコントローラ１０８からの指示に応じて、拡張ＤＯが付加されたGet＿Source＿CapabilitiesメッセージをノートＰＣ２００へ送信する。このメッセージは、拡張ＤＯのリクエストタイプに“０１００”が設定された制御情報（KB＿Cont）であり、コマンドにキーコードの出力についての言語が指定される。
【０１０９】
［ステップＳ３２］ノートＰＣ２００のＰＤコントローラ２１３は、Get＿Source＿Capabilitiesメッセージを受信すると、拡張ＤＯの内容をキーボードコントローラ２０９に通知する。キーボードコントローラ２０９は、受信したメッセージが制御情報（KB＿Cont）であることを認識し、コマンドに設定された情報に基づいてキーコードの出力についての言語を設定する。
【０１１０】
キーボードコントローラ２０９は、メッセージを正常に受信したことをＰＤコントローラ２１３に通知する。ＰＤコントローラ２１３は、Good＿CRCメッセージをタブレット端末１００に送信する。
【０１１１】
タブレット端末１００のキーボードコントローラ１０８は、Good＿CRCメッセージを受信したことを認識すると、ＫＢデータの送信要求（Get＿KD）を示すGet＿Source＿Capabilitiesメッセージを、ＰＤコントローラ２１３にポーリング、すなわち一定時間間隔で送信させる。図１４の例では、キーボードコントローラ１０８は、ステップＳ３３でGet＿Source＿Capabilitiesメッセージを送信させた後、所定のポーリング周期が経過したステップＳ３６において、Get＿Source＿Capabilitiesメッセージを再度送信させる。
【０１１２】
［ステップＳ３３］タブレット端末１００のＰＤコントローラ１１１は、キーボードコントローラ１０８からの指示に応じて、拡張ＤＯが付加されたGet＿Source＿CapabilitiesメッセージをノートＰＣ２００に送信する。このメッセージは、拡張ＤＯのリクエストタイプに“１０００”が設定されたＫＢデータの送信要求（Get＿KD）である。
【０１１３】
［ステップＳ３４］ノートＰＣ２００のＰＤコントローラ２１３は、Get＿Source＿Capabilitiesメッセージを受信すると、拡張ＤＯの内容をキーボードコントローラ２０９に通知する。キーボードコントローラ２０９は、受信したメッセージがＫＢデータの送信要求（Get＿KD）であることを認識する。キーボードコントローラ２０９は、現在押下されているキーボード２０１のキーを示すＫＢデータをＰＤコントローラ２１３に通知し、ＫＢデータの送信要求に対する応答（KD）の送信を指示する。
【０１１４】
ＰＤコントローラ２１３は、拡張ＤＯが付加されたSource＿Capabilitiesメッセージをタブレット端末１００に送信する。このメッセージは、拡張ＤＯのリクエストタイプに“１００１”が設定された応答（KD）であり、コマンドにはキーボードコントローラ２０９から通知されたＫＢデータが設定される。なお、キーボード２０１のいずれのキーも現在押下されていない場合には、コマンドには例えば、その旨を示すあらかじめ決められた値が設定される。
【０１１５】
［ステップＳ３５］タブレット端末１００のＰＤコントローラ１１１は、Source＿Capabilitiesメッセージを受信すると、拡張ＤＯに設定されている内容をキーボードコントローラ１０８に通知する。キーボードコントローラ１０８は、拡張ＤＯのコマンドに設定されたＫＢデータを、入出力コントローラ２０５を介してＣＰＵ２０３に送信する。
【０１１６】
また、キーボードコントローラ１０８は、メッセージを正常に受信したことをＰＤコントローラ１１１に通知する。ＰＤコントローラ１１１は、Good＿CRCメッセージをノートＰＣ２００に送信する。ノートＰＣ２００のＰＤコントローラ１１１がGood＿CRCメッセージを受信することで、ＫＢデータについての１回の送信要求（Get＿KD）に応じたシーケンスが終了する。
【０１１７】
［ステップＳ３６〜Ｓ３８］ステップＳ３３〜Ｓ３５と同様の手順で、タブレット端末１００からＫＢデータの送信要求が送信され、ノートＰＣ２００からＫＢデータが返信される。
【０１１８】
以上の図１１〜図１４で説明したように、タブレット端末１００とノートＰＣ２００との間では、ＰＤで規定されたメッセージ送受信シーケンスを利用して、新たに定義された拡張ＰＤＯおよび拡張ＤＯが送受信される。これにより、接続された相手機器が外付けキーボードとして機能する機器またはその利用側機器であるかを判定し、該当機器と判定した場合にＫＢデータを送受信することが可能になる。
【０１１９】
また、ノートＰＣ２００では、キーボードコントローラ２０９とＰＤコントローラ２１３の動作により、接続された機器が外付けキーボードの利用側機器であるかの判定や、ＫＢデータの送信要求に応じた応答が実行される。すなわち、ノートＰＣ２００では、これらの動作がＣＰＵ２０３によるソフトウェア制御とは切り離されて実行される。
【０１２０】
このため、ノートＰＣ２００が電源オフ状態であっても、ＣＰＵ２０３の動作を開始させずにＫＢデータをタブレット端末１００に送信することができる。したがって、外付けキーボードとして機能する際のノートＰＣ２００の消費電力を抑制でき、タブレット端末１００から電力の供給を受けて容易に動作できるようになる。さらに、電源オフ時にノートＰＣ２００が外付けキーボードとして機能できるようにするために、ＯＳプログラムやアプリケーションプログラムを特に改変する必要がなく、開発コストを抑制できる。
【０１２１】
また、接続された機器との上記通信はＶｂｕｓライン３１１を介して行われる。そのため、信号線（Ｄ＋ライン３１２，Ｄ−ライン３１３）を介してデータを送信するためのＣＰＵ２０３によるプログラムの実行が必要とならない。その意味でも、ノートＰＣ２００が電源オフ状態であっても、ＣＰＵ２０３の動作を開始させずにＫＢデータをタブレット端末１００に送信することができる。
【０１２２】
一方、タブレット端末１００においても、キーボードコントローラ１０８とＰＤコントローラ１１１の動作により、接続された機器が外付けキーボードとして機能する機器かの判定や、ＫＢデータの送信要求および受信が実行される。すなわち、タブレット端末１００でも、これらの動作がＣＰＵ１０２ａによるソフトウェア制御とは切り離されて実行される。
【０１２３】
このため、ノートＰＣ２００を外付けキーボードとして使用できるようにするために、ＯＳプログラムやアプリケーションプログラムを特に改変する必要がなく、開発コストを抑制できる。また、ノートＰＣ２００が外付けキーボードとして使用される際のＣＰＵ１０２ａの処理負荷に、特に影響を与えないようにすることもできる。
【０１２４】
また、外付けキーボードとして機能するノートＰＣ２００にタブレット端末１００から電力を供給できるようにしたことで、外付けキーボードとして機能する際のノートＰＣ２００での電力消費が抑制される。これにより、ノートＰＣ２００を本来のユーザが使用する際のバッテリ駆動時間に大きな影響を与えないようにすることができる。
【０１２５】
次に、ノートＰＣ２００がデッドバッテリ状態のときにタブレット端末１００が接続された場合の動作について説明する。この場合、ノートＰＣ２００のキーボードコントローラ２０９とＰＤコントローラ２１３のいずれも動作していない。そのため、ＰＤで規定されたデッドバッテリ・シーケンスにより、タブレット端末１００からの電力供給によってノートＰＣ２００のバッテリ２１１を充電し、キーボードコントローラ２０９とＰＤコントローラ２１３を復帰させる。
【０１２６】
図１５は、デッドバッテリ・シーケンスについて説明するための図である。
タブレット端末１００のＰＤコントローラ１１１は、ノートＰＣ２００が接続されたことを検知すると、Ｖｂｕｓライン３１１の電圧を監視し、電圧の検出値をキーボードコントローラ１０８に通知する。キーボードコントローラ１０８は、電圧の検出値を１０秒間監視する。そして、キーボードコントローラ１０８は、１０秒経過してもＶｂｕｓライン３１１に所定電圧が印加されていることを検知できない場合、ノートＰＣ２００がデッドバッテリ状態であると判定する（タイミングＴ１）。
【０１２７】
すると、キーボードコントローラ１０８は、“vSafeDB”と呼ばれる電力の供給を電源回路１１０に指示する。電源回路１１０は、vSafeDBを短時間（０．１秒〜０．３秒程度）ずつ間欠的にＶｂｕｓライン３１１に出力する。vSafeDBとは、通常時にＶｂｕｓライン３１１に供給される“vSafe5V”と呼ばれる電力と電圧は同じであるが、電流が低く制限された電力である。
【０１２８】
ノートＰＣ２００の電源回路２１２は、Ｖｂｕｓライン３１１を介して間欠的に供給されるvSafeDBにより、バッテリ２１１を充電する。そして、バッテリ２１１からＰＤコントローラ１１１への供給電圧が一定以上になると、ＰＤコントローラ２１３は動作を再開し、まず、Ｖｂｕｓライン３１１を介したビットストリームの送信を開始する。ビットストリームは、値“０”と値“１”とを３００Ｋｂｐｓで切り替えることで生成される信号である。
【０１２９】
タブレット端末１００のＰＤコントローラ１１１は、ビットストリームを受信すると、その旨をキーボードコントローラ１０８に通知する。キーボードコントローラ１０８は、vSafe5Vを間欠出力するように電源回路１１０に指示する。電源回路１１０は、vSafeDBの出力を停止し、vSafe5Vの出力を開始する（タイミングＴ２）。vSafe5Vも間欠的に出力されるが、出力される１回１回の時間はvSafeDBより長くされる。
【０１３０】
ノートＰＣ２００においては、vSafe5Vの間欠的な供給によりバッテリ２１１の充電量がさらに上がっていく。やがて、バッテリ２１１からの供給電圧が一定値以上になると、キーボードコントローラ２０９およびＰＤコントローラ２１３が通常の動作状態に復帰する。すると、ＰＤコントローラ２１３は、ビットストリームの出力を終了する。
【０１３１】
タブレット端末１００のＰＤコントローラ１１１は、ビットストリームの出力が停止されたことをキーボードコントローラ１０８に通知する。キーボードコントローラ１０８は、ビットストリームの出力が停止されたことで、ノートＰＣ２００がデッドバッテリ状態から脱したと判断し、vSafe5Vを継続出力するように電源回路１１０に指示する。電源回路１１０は、vSafe5Vの出力方法を継続的に出力する方法に変更する（タイミングＴ３）。
【０１３２】
以上の手順によりノートＰＣ２００がデッドバッテリ状態から脱し、キーボードコントローラ２０９およびＰＤコントローラ２１３が復旧すると、図１２に示したようなＰＤネゴシエーションが開始される。ただし、Ｖｂｕｓライン３１１を介した電力の供給は、タブレット端末１００からノートＰＣ２００に対して行われ続ける。
【０１３３】
以上の図１５で説明したように、ノートＰＣ２００がデッドバッテリ状態のときにタブレット端末１００が接続された場合でも、タブレット端末１００からの電力供給によりノートＰＣ２００のキーボードコントローラ２０９およびＰＤコントローラ２１３を復旧させることができる。これにより、ノートＰＣ２００がデッドバッテリ状態であっても、ノートＰＣ２００を外付けキーボードとして使用することが可能になる。
【０１３４】
次に、タブレット端末１００およびノートＰＣ２００の処理について、フローチャートを用いて説明する。
図１６は、タブレット端末の処理手順の例を示すフローチャートである。
【０１３５】
［ステップＳ５１］ＰＤコントローラ１１１は、ノートＰＣ２００が接続されたことを検知する。
［ステップＳ５２］ＰＤコントローラ１１１は、Ｖｂｕｓライン３１１の電圧の検出値をキーボードコントローラ１０８に通知する。キーボードコントローラ１０８は、Ｖｂｕｓライン３１１に所定電圧が印加されているかを判定する。印加されていない場合、ステップＳ５３の処理が実行され、印加されている場合、ステップＳ５５の処理が実行される。
【０１３６】
［ステップＳ５３］キーボードコントローラ１０８は、ステップＳ５２を最初に実行してから所定時間が経過したかを判定する。所定時間が経過していない場合、ステップＳ５２の処理が再度実行される。所定時間が経過した場合、ステップＳ５４の処理が実行される。
【０１３７】
［ステップＳ５４］タブレット端末１００は、デッドバッテリ・シーケンスを実行する。この処理内容は、図１５で説明したタブレット端末１００の処理に対応する。この処理により、ノートＰＣ２００のキーボードコントローラ２０９とＰＤコントローラ２１３とが起動する。
【０１３８】
［ステップＳ５５］タブレット端末１００は、ＰＤネゴシエーションを実行する。この処理内容は、図１２のステップＳ１１〜Ｓ１９におけるタブレット端末１００の処理に対応する。
【０１３９】
［ステップＳ５６］キーボードコントローラ１０８は、接続された相手機器が外付けキーボードとして機能する機器であるかを判定する。図１２において説明したように、キーボードコントローラ１０８は、受信した拡張ＰＤＯのファンクションに「ＰＤキーボード」が設定され、ベンダＩＤに特定の識別情報が設定された拡張ＰＤＯを図１２のステップＳ１２で受信し、かつ、拡張ＰＤＯを選択したことの通知に応じたAcceptメッセージを図１２のステップＳ１５で受信した場合に、接続された相手機器が外付けキーボードとして機能する機器であると判定する。
【０１４０】
相手機器が外付けキーボードとして機能する機器であると判定した場合、ステップＳ５７の処理が実行される。一方、相手機器が外付けキーボードとして機能する機器でないと判定した場合、ＫＢデータの送信要求に関する処理が終了する。
【０１４１】
［ステップＳ５７］キーボードコントローラ１０８は、ノートＰＣ２００からのロールスワップ要求をＰＤコントローラ１１１が受信したかを判定する。ロールスワップ要求を受信した場合、ステップＳ５８の処理が実行される。ロールスワップ要求を受信しなかった場合、ステップＳ５９の処理が実行される。
【０１４２】
［ステップＳ５８］キーボードコントローラ１０８は、Ｖｂｕｓライン３１１に対して電力を供給するように電源回路１１０に指示する。電源回路１１０は、Ｖｂｕｓライン３１１に対する電力の供給を開始する。
【０１４３】
［ステップＳ５９］タブレット端末１００は、ＫＢデータに関するリクエストメッセージの送信を開始する。この処理は、図１４におけるタブレット端末１００の処理に対応する。すなわち、ステップＳ５９により、タブレット端末１００は、ノートＰＣ２００のキーボード２０１に対する入力操作に応じたＫＢデータを受信できるようになる。
【０１４４】
図１７は、ノートＰＣの処理手順の例を示すフローチャートである。
［ステップＳ７１］ノートＰＣ２００が電源オンまたは電源オフの場合、ＰＤコントローラ２１３がタブレット端末１００が接続したことを検知すると、ステップＳ７２の処理が開始される。また、ノートＰＣ２００がデッドバッテリ状態のときにタブレット端末１００が接続されると、図１５で説明したデッドバッテリ・シーケンスが実行された後、ステップＳ７２の処理が開始される。
【０１４５】
［ステップＳ７２］ノートＰＣ２００は、ＰＤネゴシエーションを実行する。この処理内容は、図１２のステップＳ１１〜Ｓ１９におけるノートＰＣ２００の処理に対応する。
［ステップＳ７３］キーボードコントローラ２０９は、接続された相手機器が外付けキーボードの利用側機器であるかを判定する。図１２において説明したように、キーボードコントローラ２０９は、拡張ＰＤＯが選択されたことを示すＲＤＯを図１２のステップＳ１４で受信し、かつ、ファンクションに「ＰＤホスト」が設定され、ベンダＩＤに特定の識別情報が設定された拡張ＰＤＯを図１２ステップＳ１８で受信した場合に、接続された相手機器が外付けキーボードの利用側機器であると判定する。
【０１４６】
相手機器が外付けキーボードの利用側機器であると判定した場合、ステップＳ７４の処理が実行される。一方、相手機器が外付けキーボードの利用側機器でないと判定した場合、ＫＢデータの送信に関する処理が終了する。
【０１４７】
［ステップＳ７４］キーボードコントローラ２０９は、タブレット端末１００が接続された時点でノートＰＣ２００が電源オン状態であったかを判定する。電源オン状態であった場合、ステップＳ７５の処理が実行され、電源オン状態でなかった場合、ステップＳ７７の処理が実行される。
【０１４８】
［ステップＳ７５］キーボードコントローラ２０９は、不揮発メモリ２２２に記録されたＥＮフラグ２２２ａを参照し、ＥＮフラグ２２２ａの値が“１”か“０”かを判定する。ＥＮフラグ２２２ａの値が“１”の場合、ステップＳ７６の処理が実行される。一方、ＥＮフラグ２２２ａの値が“０”の場合、ＫＢデータの送信に関する処理が終了する。この場合、キーボードコントローラ２０９は、キーボード２０１への操作に応じたＫＢデータを、ＣＰＵ２０３に送信し続ける。すなわち、キーボード２０１は、電源オン状態のノートＰＣ２００の入力手段としてそのまま使用される。
【０１４９】
［ステップＳ７６］キーボードコントローラ２０９は、ＣＰＵ２０３へのＫＢデータの送信を停止する。
［ステップＳ７７］キーボードコントローラ２０９は、タブレット端末１００が接続された時点でノートＰＣ２００がデッドバッテリ状態であったかを判定する。デッドバッテリ状態であった場合、ステップＳ８０の処理が実行される。一方、デッドバッテリ状態でなかった場合、すなわち、ノートＰＣ２００が電源オフ状態であった場合には、ステップＳ７８の処理が実行される。
【０１５０】
［ステップＳ７８］キーボードコントローラ２０９は、ロールスワップを要求するようにＰＤコントローラ２１３に指示する。ＰＤコントローラ２１３は、ロールスワップを要求するメッセージをタブレット端末１００に送信する。これにより、タブレット端末１００によるＶｂｕｓライン３１１への電力供給が開始される。
【０１５１】
［ステップＳ７９］キーボードコントローラ２０９は、Ｖｂｕｓライン３１１への電力供給を停止するよう電源回路２１２に指示する。電源回路２１２は、Ｖｂｕｓライン３１１への電力供給を停止し、Ｖｂｕｓライン３１１にタブレット端末１００から供給されている電力によってバッテリ２１１の充電動作を行う。
【０１５２】
［ステップＳ８０］ノートＰＣ２００は、ＫＢデータに関するリクエストメッセージの待ち状態となる。これは、図１４の処理の開始時におけるノートＰＣ２００の状態に対応する。この後、図１４で説明したように、ノートＰＣ２００は、タブレット端末１００からのリクエストに応じて、キーボード２０１に対する操作に応じたＫＢデータをタブレット端末１００に送信する。
【０１５３】
以上説明した第２の実施の形態によれば、タブレット端末１００のユーザは、ノートＰＣ２００のキーボード２０１を外付けキーボードとして使用可能になる。これにより、タブレット端末１００のユーザは、タブレット端末１００専用の外付けキーボードを持ち歩く必要がなくなり、タブレット端末１００のユーザの利便性を向上させることができる。また、タブレット端末１００のユーザは、ノートＰＣ２００の電源状態に関係なく、ノートＰＣ２００のキーボード２０１を外付けキーボードとして使用でき、ユーザの利便性がさらに向上する。
【符号の説明】
【０１５４】
１０  情報処理装置
１１  プロセッサ
１２  キーボード
１３  接続端子
１４  制御回路
２０  他の情報処理装置
【図１】
0006586832.tif 000002
【図２】
0006586832.tif 000003
【図３】
0006586832.tif 000004
【図４】
0006586832.tif 000005
【図５】
0006586832.tif 000006
【図６】
0006586832.tif 000007
【図７】
0006586832.tif 000008
【図８】
0006586832.tif 000009
【図９】
0006586832.tif 000010
【図１０】
0006586832.tif 000011
【図１１】
0006586832.tif 000012
【図１２】
0006586832.tif 000013
【図１３】
0006586832.tif 000014
【図１４】
0006586832.tif 000015
【図１５】
0006586832.tif 000016
【図１６】
0006586832.tif 000017
【図１７】
0006586832.tif 000018