(57)【要約】【課題】  ホストコンピュータとＵＳＢインタフェースを介して接続されるキーボードにおいて、マウス、タッチパネルあるいはジョイスティックなどキーボード以外の入力デバイスの機能を追加および変更することが容易に実現できるキーボードを実現する。【解決手段】  ホストコンピュータ２とＵＳＢインタフェース３を介して接続されるキーボード１は、書換え可能な記憶手段１１と、入力デバイスの識別情報であるディスクリプタ情報を、記憶手段１１に書き込む第１の書込み手段２１と、ホストコンピュータ１からのゲットディスクリプタリクエストに応答して、記憶手段１１からディスクリプタ情報を読み出す第１の読出し手段２２と、第１の読出し手段２２によって読み出されたディスクリプタ情報を、ホストコンピュータ１へ通知するディスクリプタ通知手段２３と、を備える。【選択図】      図１
2005275957.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータとＵＳＢインタフェースを介して接続されるキーボードであって、
書換え可能な記憶手段と、
入力デバイスの識別情報であるディスクリプタ情報を、前記記憶手段に書き込む第１の書込み手段と、
前記ホストコンピュータからのゲットディスクリプタリクエストに応答して、前記記憶手段から前記ディスクリプタ情報を読み出す第１の読出し手段と、
該第１の読出し手段によって読み出された前記ディスクリプタ情報を、前記ホストコンピュータへ通知するディスクリプタ通知手段と、
を備えることを特徴とするキーボード。
【請求項２】
前記入力デバイスに対応するキーエミュレーション情報を、前記記憶手段に書き込む第２の書込み手段と、
前記記憶手段から前記キーエミュレーション情報を読み出す第２の読出し手段と、
該第２の読出し手段によって読み出された前記キーエミュレーション情報の解析結果に基づいて、前記キーボードのキー押下により生じるキーコードを前記入力デバイスに係るパケットデータに変換するエミュレーション手段と、
該エミュレーション手段により得られた前記データパケットを、前記ホストコンピュータへ出力する出力手段と、をさらに備える請求項１に記載のキーボード。
【請求項３】
前記ディスクリプタ情報は、前記入力デバイスに固有のレポートＩＤと当該入力デバイスに関するデバイス情報とを有する請求項１または２に記載のキーボード。
【請求項４】
前記記憶手段は、前記キーボードに実装される不揮発性メモリである請求項１または２に記載のキーボード。
【請求項５】
前記第１の書込み手段は、前記ホストコンピュータからのベンダリクエストに応答して、前記ディスクリプタ情報を前記記憶手段に書き込む請求項４に記載のキーボード。
【請求項６】
前記記憶手段は、前記キーボードに着脱可能な不揮発性メモリである請求項１または２に記載のキーボード。
【請求項７】
前記第１の書込み手段は、前記記憶手段が前記キーボードに装着されているときにおける前記ホストコンピュータからのベンダリクエストに応答して、前記ディスクリプタ情報を前記記憶手段に書き込む請求項６に記載のキーボード。
【請求項８】
前記キーボードは、前記第１の書込み手段による書込みの後、前記ＵＳＢインタフェースのデータラインＤ＋／Ｄ−を所定の期間ローレベルに設定した後にさらにデータラインＤ−をハイレベルに設定するホットプラグ通知手段、をさらに備え、
前記第１の読出し手段は、前記ホットプラグ通知手段による前記の設定に応答した前記ホストコンピュータからのゲットディスクリプタリクエストに応答して、前記記憶手段から前記ディスクリプタ情報を読み出す請求項１、５または７のいずれか一項に記載のキーボード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータとＵＳＢインタフェースを介して接続されるキーボードに関する。
【背景技術】
【０００２】
コンピュータによる入力方法には、キーボードによるキー入力、マウスによる相対座標入力、指やスタイラスでタッチパネルにタッチすることによる絶対座標入力等がある。近年では、あらゆるアプリケーションにおいてＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）化および多機能化が進んでおり、キーボードとマウス、タッチパネルもしくはジョイスティックを併用する場合が多くなっている。具体的には、キーボードから手を離して、マウスを掴んで操作したり、スタイラスを持ってタッチパネルまで手を伸ばすような操作機会が増えている。アプリケーションのＧＵＩ化および多機能化は、一方ではユーザにとってみれば操作の煩わしさをもたらす原因ともなっているのが現状である。
【０００３】
上述のようなキーボードから手を離してマウスなどを操作することによる作業効率の低下を防止するために、１つのキーボードでマウス、タッチパネル等による作業を可能にするキー入力デバイス（例えば、特許文献１参照）や、１つの特定キーを通常の機能とポインティングデバイスエミュレーション機能との併用とし、両機能を交互に使う場合の切替え操作の簡単なキーボード（例えば、特許文献２参照）などが提案されている。
【０００４】
【特許文献１】特開２００１−１４２５９５号公報
【特許文献２】特開平５−１９７４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように、キーボードに対して、マウスやタッチパネルなどのキーボード以外の入力デバイスの機能を持たせれば、キーボードから手を離す機会が減少し、作業効率が上がる。しかしながら、従来は、１つのキーボードで実現できるキーボード以外の入力デバイスの機能は、予め規定されており、さらに入力デバイスの機能を追加したい場合やユーザ所望の機能にカスタマイズしたい場合には対応できないという問題があった。
【０００６】
従って本発明の目的は、上記問題に鑑み、ホストコンピュータとＵＳＢインタフェースを介して接続されるキーボードにおいて、マウス、タッチパネルあるいはジョイスティックなどキーボード以外の入力デバイスの機能を追加および変更することが容易に実現できるキーボードを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を実現するために、本発明では、ホストコンピュータとＵＳＢインタフェースを介して接続されるキーボードにおいて、書換え可能な記憶手段にディスクリプタ情報を記憶させることでユーザが任意にディスクリプタ情報を書き換えることができるようにすると共に、このディスクリプタ情報に、マウスやタッチパネルなどキーボード以外の入力デバイスに固有のレポートＩＤ（Ｒｅｐｏｒｔ  ＩＤ）およびこれに係るデバイス情報を追加および変更などの編集を行うことで、１つのキーボードに対して、マウス、タッチパネルあるいはジョイスティックなどキーボード以外の入力デバイスの機能の追加および変更がユーザ自身により容易に実現できるようにする。すなわち本発明により、キーボード内のマイコンが有するエンドポイント以上の任意の入力デバイスの機能が実現可能となる。
【０００８】
図１は、本発明によるキーボードの原理ブロック図である。以降、異なる図面において同じ参照番号が付されたものは同じ機能を有することを意味するものとする。
【０００９】
本発明によれば、ホストコンピュータ２とＵＳＢインタフェース３を介して接続されるキーボード１は、書換え可能な記憶手段１１と、入力デバイスの識別情報であるディスクリプタ情報を、記憶手段１１に書き込む第１の書込み手段２１と、ホストコンピュータ１からのゲットディスクリプタリクエストに応答して、記憶手段１１からディスクリプタ情報を読み出す第１の読出し手段２２と、第１の読出し手段２２によって読み出されたディスクリプタ情報を、ホストコンピュータ１へ通知するディスクリプタ通知手段２３と、を備える。
【発明の効果】
【００１０】
本発明によれば、ホストコンピュータとＵＳＢインタフェースを介して接続されるキーボードにおいて、マウス、タッチパネルあるいはジョイスティックなどキーボード以外の入力デバイスの機能をユーザ自身により追加および変更することができる。
【発明を実施するための最良の形態】
【００１１】
図２は、一般的なＵＢＳキーボードの回路構成を示す基本ブロック図である。
【００１２】
一般に、ＵＳＢキーボード５１は、メイン処理制御部１０とキースイッチ群１２とを備える。メイン処理制御部１０は、キースイッチ群１２におけるキースキャン処理を制御する。また、メイン処理制御部１１はマイコンで構成され、ＲＯＭなどに代表される書換え不可能な記憶手段６１を内蔵する。この記憶手段６１には、当該デバイスがキーボードであるということを示すディスクリプタ情報が予め記憶される。
【００１３】
ＵＳＢキーボード５１をＵＳＢインタフェース３を介してホストコンピュータ２に接続すると、ＵＳＢキーボード５１は、ホストコンピュータ２からゲットディスクリプタ（Ｇｅｔ＿Ｄｅｓｃｒｉｐｔｏｒ）リクエストを受信し、要求されたディスクリプタ情報をホストコンピュータ２に通知する。これによりホストコンピュータ２は、デバイスインタフェースの数、デバイスの種別（図２の例ではキーボード）、およびデータパケット形式などのデバイスのコンフィグレーションを識別できるようになる。なお、ＵＳＢデバイスにおけるディスクリプタ情報を用いたデバイスの識別については、「ＵＳＢ  ｓｐｅｃ．１．１」などに代表されるＵＳＢ規格で規定されており、例えばマイクロソフト（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム上では、標準のＨＩＤクラスドライバ（ＨＩＤ：Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｖｉｃｅ）で動作する。
【００１４】
上述のように従来のＵＳＢキーボード５１では、ディスクリプタ情報はメイン処理制御部１０であるマイコン内のＲＯＭに記憶されており、書換えは不可能である。このため、デバイスのコンフィグレーションは固定である。
【００１５】
これに対し、本発明によるキーボードでは、書換え可能な記憶手段にディスクリプタ情報を記憶させることでユーザが任意にディスクリプタ情報を書き換えることができるようにすると共に、このディスクリプタ情報に、マウスやタッチパネルなどキーボード以外の入力デバイスに固有のレポートＩＤ（Ｒｅｐｏｒｔ  ＩＤ）およびこれに係るデバイス情報を追加および変更などの編集を行うことで、１つのキーボードに対して、マウス、タッチパネルあるいはジョイスティックなどキーボード以外の入力デバイスの機能の追加および変更がユーザ自身により容易に実現できるようにする。
【００１６】
本発明の実施例では、一例として、１つのキーボードにおいてキーボード機能とマウス機能とを実現する場合を取り上げる。
【００１７】
図３は、本発明の実施例におけるディスクリプタ情報を例示する図である。
【００１８】
一般にディスクリプタ情報は、デバイスに固有のレポートＩＤ（ＲｅｐｏｒｔＩＤ）と当該デバイスに関するデバイス情報とを有する。ホストコンピュータは、ディスクリプタに記述されたレポートＩＤを参照してデバイスの種別を識別する。
【００１９】
本実施例におけるディスクリプタ情報では、レポートＩＤと当該入力デバイスに関するデバイス情報とが、キーボード機能およびマウス機能のそれぞれについて同じディスクリプタ情報内に記述される。すなわち、図３に示すように、キーボードのレポートＩＤは「１」であり、マウスのレポートＩＤは「２」であり、これらレポートＩＤがデバイス情報と共に１つのディスクリプタ情報内に記述される。このレポートＩＤを、キーボードが出力するパケットデータの先頭に付加することにより、ホストコンピュータは、受信したパケットデータがキーボード機能に基づくものなのか、あるいはマウス機能に基づくものなのかを区別することができる。
【００２０】
本実施例によれば、ディスクリプタ情報を記憶する記憶手段は書換えが可能であるので、１つのディスクリプタ情報内にレポートＩＤおよびデバイス情報の組を所望に応じて複数記述することが可能であり、したがって、１つのキーボード上で複数の入力デバイスの機能を容易に実装可能であり、またその変更も容易である。このためディスクリプタ情報の設定如何によっては、キーボード内のマイコンが有するエンドポイント数以上の入力インタフェース（入力デバイス）の実現が可能となる。
【００２１】
なお、本実施例におけるディスクリプタ情報も「ＵＳＢ  ｓｐｅｃ．１．１」などに代表されるＵＳＢ規格に基づいて記述されるべきであり、これにより、例えばマイクロソフト（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム上では、標準のＨＩＤクラスドライバ（ＨＩＤ：Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｖｉｃｅ）で動作することができ、特殊な機能を追加しない限り専用ドライバは必要としない。
【００２２】
キーボードのキー押下によりキーボードからはキーコードが出力されるが、キーボードをマウスとして用いる場合は、当該キーコードをマウスデータに変換する、いわゆるエミュレーション処理を実行する必要がある。本実施例では、このエミュレーション処理の基準となる変換テーブルを「キーエミュレーション情報」として規定する。本実施例では、キーエミュレーション情報は、上述のディスクリプタ情報と同様に、書換え可能な記憶手段に記憶するものとし、これにより、ユーザ自身が自由に定義することができる。
【００２３】
ここでは、キーボードをマウスとしてエミュレートする場合に必要なキーエミュレーション情報を例に挙げて説明する。
【００２４】
図４は、本発明の実施例におけるキーエミュレーション情報を例示する図である。
【００２５】
この図では、キーボード上の「↑」、「→」、「↓」および「←」の各矢印キーの１回のキー押下を、マウス操作のＹ軸方向の正方向、Ｘ軸方向の正方向、Ｙ軸方向の負方向、Ｘ軸方向の負方向、の各方向の１カウントの相対移動量にそれぞれ割り当てる場合を例示している。
【００２６】
一般にマウスのパケットデータにおいては、その１バイト目にレポートＩＤ、２バイト目にマウスのクリックボタンのステータス（以下、単に「ボタンステータス」と称する。）、３バイト目にＸ座標方向の移動量、４バイト目にＹ座標方向の移動量、５バイト目にいわゆるホイール付きマウスにおけるホイール移動量、がそれぞれ規定される。
【００２７】
図４に示す例では、パケットデータの１バイト目は、マウスのレポートＩＤである「２」を割り当てる。３バイト目および４バイト目については、「↑」、「→」、「↓」および「←」の各矢印キーのキー押下により発生したキーコードが上述の各方向のマウスの相対移動量となるよう、対応するバイトに、「ＦＦｈ（−１）」、「１」、「−１」および「ＦＦｈ（−１）」をそれぞれ割り当てる。このようにエミュレーション情報を設計すれば、例えば、「↑」キーを押下するとことにより生ずる「↑」キーのキーコードは「０２ｈ」、「００ｈ」、「００ｈ」、「ＦＦｈ」および「００ｈ」からなるマウス用のパケットデータに変換される。これにより、「↑」キーの押下により、ディスプレイ画面上のマウスカーソルをＹ軸方向の正方向に移動させることができる。
【００２８】
さらに、操作性向上のために、複数の矢印キーの同時押下によりディスプレイ画面上のマウスカーソルが斜め方向に移動するよう合成移動量を算出できるようエミュレーション情報を設計したり、矢印キーを長時間押下することによりディスプレイ画面上のマウスカーソルの移動が加速するよう加速移動量を算出できるようエミュレーション情報を設計してもよい。
【００２９】
また、キーボード上の他のキーを、マウスの右クリックボタン、左クリックボタン、中クリックボタンに割り当てる場合は、当該キーのキー押下により出力されるキーコードを、２バイト目のボタンステータスが定義されたパケットデータに変換するようなキーエミュレーション情報を設計すればよい。同様に、キーボード上の他のキーを、ホイール付きマウスにおけるホイール操作のために割り当ててもよい。
【００３０】
また、エミュレーション情報の設計に加え、ディスクリプタ情報内のデバイス情報について、マウスデータが相対座標形式によるものではなく絶対座標形式によるものであると設計してもよい。これにより、例えば、キーボードのあるキーの押下を「マウスの左クリックボタンのオン」および「マウスの移動」に割り当て、当該キーのリリースを「マウスの左クリックボタンのオフ」に割り当てたようなパケットデータとホストコンピュータに通知すれば、ディスプレイ画面上においてＸＹ絶対座標値で指定した位置を一発クリックする操作を実現することができる。
【００３１】
図５は、本発明の実施例によるキーボードの回路構成を示す基本ブロック図である。
【００３２】
本実施例によれば、ホストコンピュータ２とＵＳＢインタフェース３を介して接続されるキーボード１は、メイン処理制御部１０に、書換え可能な記憶手段１１およびキースイッチ群１２が接続されている。
【００３３】
記憶手段１１は不揮発性メモリで構成され、例えばＥＥＰＲＯＭなどであるが、後述するようにキーボード１に対して着脱可能とする場合はコンパクトフラッシュカード、メモリスティック、ＳＤカードなどの可搬記録媒体でもよい。
【００３４】
メイン処理制御部１０は、入力デバイスの識別情報であるディスクリプタ情報を、記憶手段１１に書き込む第１の書込み手段２１と、ホストコンピュータ１からのゲットディスクリプタリクエストに応答して、記憶手段１１からディスクリプタ情報を読み出す第１の読出し手段２２と、第１の読出し手段２２によって読み出されたディスクリプタ情報を、ホストコンピュータ１へ通知するディスクリプタ通知手段２３と、を備える。
【００３５】
また、キーボード１は、入力デバイスに対応するキーエミュレーション情報を、記憶手段１１に書き込む第２の書込み手段２４と、記憶手段１１からキーエミュレーション情報を読み出す第２の読出し手段２５と、第２の読出し手段２５によって読み出されたキーエミュレーション情報の解析結果に基づいて、キーボードのキー押下により生じるキーコードを入力デバイスに係るパケットデータに変換するエミュレーション手段２６と、エミュレーション手段２６により得られたデータパケットを、ホストコンピュータ２へ出力する出力手段２７と、第１の書込み手段２１による書込みの後、ＵＳＢインタフェース３のデータラインＤ＋／Ｄ−を所定の期間ローレベルに設定した後にさらにデータラインＤ−をハイレベルに設定するホットプラグ通知手段２８と、をさらに備える。
【００３６】
ディスクリプタ情報は、記憶手段１１内のディスクリプタ情報の記憶領域１１−Ａに記憶され、キーエミュレーション情報はキーエミュレーション情報の記憶領域１１−Ｂに記憶される。
【００３７】
第１の読出し手段２２は、ホストコンピュータ１からのゲットディスクリプタリクエストに応答して、上述のようにユーザが任意に設計したディスクリプタ情報を記憶手段１１内のディスクリプタ情報の記憶領域１１−Ａから読み出し、ディスクリプタ通知手段２３は、第１の読出し手段２２によって読み出されたディスクリプタ情報をホストコンピュータ１へ通知する。これにより、ホストコンピュータ２は、キーボード１について実装された入力デバイスを認識する。
【００３８】
ホストコンピュータ２による上記の認識後は、第２の読出し手段２５は、上述のようにユーザが任意に設計したキーエミュレーション情報を記憶手段１１内のキーエミュレーション情報の記憶領域１１−Ｂから読み出す。エミュレーション手段２６は、キーボードのキー押下により生じるキーコードを、第２の読出し手段２５によって読み出されたキーエミュレーション情報を解析して入力デバイスに係るパケットデータに変換する。出力手段２７は、エミュレーション手段２６により変換されたデータパケットをホストコンピュータ２へ出力する。ホストコンピュータ２は受信したパケットデータに基づいて処理を実行する。
【００３９】
このように、本実施例によれば、１つのキーボードにおいて複数の入力デバイスの機能を実現することができるが、複数の入力デバイスの機能を同時に実現する場合は、キーボード以外の入力デバイスの操作のために割り当てられたキーは、通常のキーボードのキーとして操作することはできない。一方、複数の入力デバイスの機能を切替えて実現する場合は、例えば、予め規定したホットキー操作もしくは新規に設けたハードキーの押下により当該切替え処理が実行できるようにすればよい。
【００４０】
ユーザが定義したディスクリプタ情報は、第１の書込み手段２１によって記憶手段１１に書き込まれる。
【００４１】
このうち、記憶手段１１がキーボードに内蔵されている場合、あるいは、着脱可能な記憶手段１１がキーボード１に装着されている場合は、第１の書込み手段１１は、ホストコンピュータ２からのベンダリクエストに応答して、ディスクリプタ情報を記憶手段１１に書き込む。図６は、本発明の実施例で用いられるベンダリクエストを例示する図である。「ｂｍＲｅｑｕｅｓｔＴｙｐｅ」＝「４１ｈ」は当該リクエストがベンダリクエストであることを示し、「ｂＲｅｑｕｅｓｔ」で特定のリクエストを識別する。メイン処理制御部１０は、「ｂＲｅｑｕｅｓｔ」の値に対応する処理を実行する。本実施例では、「ｂＲｅｑｕｅｓｔ」＝「０１ｈ」で第１の書込み手段１１による記憶手段１１への書込み処理を指示する。なお、「ｄａｔａ」（５０バイト）にはディスクリプタ情報およびキーエミュレーション情報、「ｗＬｅｎｇｔｈ」には「ｄａｔａ」のデータ長（「３２ｈ」とすることにより５０バイト）が設定される。第２の書込み手段による書込み処理についても同様のベンダリクエストに基づいて実行される。
【００４２】
一方、コンパクトフラッシュカード、メモリスティック、ＳＤカード等の着脱可能な記憶手段１１の場合は、上述のような書込み処理以外にも、記憶手段１１をキーボード１から取り外し、メモリライタを用いて書込み処理を実行するようにしてもよい。
【００４３】
ディスクリプタ情報が記憶手段１１に書き込まれた後は、メイン処理制御部１０内のホットプラグ通知手段２８は、ＵＳＢインタフェース３のデータラインＤ＋／Ｄ−を所定の期間ローレベルに設定し、その後さらにデータラインＤ−をハイレベルに設定する。この設定により、ホストコンピュータ２はホットプラグを検出することにより、したがってゲットディスクリプタリクエストをキーボード１へ送出する。そして、第１の読出し手段２２は、ホストコンピュータ２からのゲットディスクリプタリクエストに応答して、記憶手段１１からディスクリプタ情報を読み出す。ディスクリプタ通知手段２３は、第１の読出し手段２２によって読み出されたディスクリプタ情報をホストコンピュータ１へ通知する。これにより、ホストコンピュータ２は、ディスクリプタ情報に基づいてキーボード１について実装された入力デバイスを認識する。
【産業上の利用可能性】
【００４４】
ＧＵＩ化および多機能化の進んだアプリケーションを利用する場合は、キーボードから手を離して、マウスを掴んで操作したり、スタイラスを持ってタッチパネルまで手を伸ばすといったような煩わしい操作を伴うが、本発明によれば、マウス、タッチパネルあるいはジョイスティックなどキーボード以外の入力デバイスの機能も１つのキーボード上で実現することができ操作性が向上する。また、これらの設定の追加および変更も、ユーザ自らが気軽に行うことができる。
【図面の簡単な説明】
【００４５】
【図１】本発明によるキーボードの原理ブロック図である。
【図２】一般的なＵＢＳキーボードの回路構成を示す基本ブロック図である。
【図３】本発明の実施例におけるディスクリプタ情報を例示する図である。
【図４】本発明の実施例におけるキーエミュレーション情報を例示する図である。
【図５】本発明の実施例によるキーボードの回路構成を示す基本ブロック図である。
【図６】本発明の実施例で用いられるベンダリクエストを例示する図である。
【符号の説明】
【００４６】
１…キーボード
２…ホストコンピュータ
３…ＵＳＢインタフェース
１０…メイン処理制御部
１１…記憶手段
１２…キースイッチ群
２１…第１の書込み手段
２２…第１の読出し手段
２３…ディスクリプタ通知手段
２４…第２の書込み手段
２５…第２の読出し手段
２６…エミュレーション手段
２７…出力手段
２８…ホットプラグ通知手段
【図１】
2005275957.tif 000003
【図２】
2005275957.tif 000004
【図３】
2005275957.tif 000005
【図４】
2005275957.tif 000006
【図５】
2005275957.tif 000007
【図６】
2005275957.tif 000008