(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-15
(45)【発行日】2023-11-24
(54)【発明の名称】情報入力装置、方法、及びプログラム
(51)【国際特許分類】
G06F 13/38 20060101AFI20231116BHJP
G06F 3/041 20060101ALI20231116BHJP
G06F 13/10 20060101ALI20231116BHJP
【FI】
G06F13/38 320A
G06F3/041 500
G06F13/10 330B
(21)【出願番号】P 2019140063
(22)【出願日】2019-07-30
【審査請求日】2022-07-19
(73)【特許権者】
【識別番号】000139403
【氏名又は名称】株式会社ワコム
(74)【代理人】
【識別番号】110004277
【氏名又は名称】弁理士法人そらおと
(74)【代理人】
【識別番号】100130982
【氏名又は名称】黒瀬 泰之
(72)【発明者】
【氏名】川俣 直子
(72)【発明者】
【氏名】グ ジンファ
(72)【発明者】
【氏名】フク ボン
(72)【発明者】
【氏名】大山 貴也
【審査官】松平 英
(56)【参考文献】
【文献】特開2017-033141(JP,A)
【文献】国際公開第2005/116845(WO,A1)
【文献】特開2014-085857(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/00
3/03
3/041-3/047
3/18
13/10-13/14
13/20-13/42
(57)【特許請求の範囲】
【請求項1】
第1のオペレーティングシステムにより動作する第1の外部機器及び第2のオペレーティングシステムにより動作する第2の外部機器のそれぞれと通信を行えるように構成された通信インタフェースと、
前記通信インタフェースが前記第1の外部機器に接続されたことに応じて前記第1の外部機器で実行される第1のドライバに関する情報を前記第1の外部機器に送信するように前記通信インタフェースを制御し、前記通信インタフェースが前記第2の外部機器に接続されたことに応じて前記第1のドライバに関する情報を前記第2の外部機器に送信するように前記通信インタフェースを制御した後に前記第2の外部機器との通信を終了させ当該通信の終了後に前記第2の外部機器で実行される第2のドライバに関する情報を前記第2の外部機器に送信するように前記通信インタフェースを制御するコントローラと、
を含むことを特徴とする情報入力装置。
【請求項2】
前記第1のドライバに関する情報は、第1のベンダーIDであり、
前記第2のドライバに関する情報は、前記第1のベンダーIDとは異なる第2のベンダーIDである、
ことを特徴とする請求項
1に記載の情報入力装置。
【請求項3】
前記コントローラは、
前記通信インタフェースが前記第2の外部機器に接続されたことに応じて第1のモードで通信を開始し前記第1のドライバに関する情報を前記第2の外部機器に送信するように前記通信インタフェースを制御し、
前記開始した通信の結果に基づき、前記第2の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであると判定し、
前記第2の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであると判定した後に前記第2の外部機器との通信を終了させ当該通信の終了後に前記第1のモードと異なる第2のモードで動作を開始して前記第2のドライバに関する情報を前記第2の外部機器に送信するように前記通信インタフェースを制御する、
ことを特徴とする請求項1又は2に記載の情報入力装置。
【請求項4】
情報入力装置が、当該情報
入力装置の通信インタフェースが第2のオペレーティングシステムにより動作する第2の外部機器に接続されたことに応じて第1のオペレーティングシステムにより動作する第1の外部機器で実行される第1のドライバに関する情報を前記第2の外部機器に送信するステップと、
前記情報入力装置が、前記第1のドライバに関する情報を前記第2の外部機器に送信した後に前記第2の外部機器との通信を終了させ、当該通信の終了後に、前記第2の外部機器で実行される第2のドライバに関する情報を前記第2の外部機器に送信するステップと、
を含むことを特徴とする方法。
【請求項5】
前記第1のドライバに関する情報は、第1のベンダーIDであり、
前記第2のドライバに関する情報は、前記第1のベンダーIDとは異なる第2のベンダーIDである、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記情報入力装置が、前記
第1のドライバに関する情報の送信にかかる通信の結果に基づき、前記第2の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであるか否かを判定するステップと、
前記情報入力装置は、前記第2の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであると判定した後に、前記第1のドライバに関する情報を前記第2の外部機器に送信した後に前記第2の外部機器との通信を終了させ、当該通信の終了後に、前記第2の外部機器で実行される第2のドライバに関する情報を前記第2の外部機器に送信するステップを実行する、
ことを特徴とする請求項4に記載の方法。
【請求項7】
通信インタフェースが第2のオペレーティングシステムにより動作する第2の外部機器に接続されたことに応じて第1のオペレーティングシステムにより動作する第1の外部機器で実行される第1のドライバに関する情報を前記第2の外部機器に対して送信するステップと、
前記第1のドライバに関する情報を前記第2の外部機器に送信した後に前記第2の外部機器との通信を終了させ、当該通信の終了後に、前記第2の外部機器で実行される第2のドライバに関する情報を前記第2の外部機器に対して送信するステップと、
をコンピュータに実行させるためのプログラム。
【請求項8】
前記第1のドライバに関する情報は、第1のベンダーIDであり、
前記第2のドライバに関する情報は、前記第1のベンダーIDとは異なる第2のベンダーIDである、
ことを特徴とする請求項7に記載のプログラム。
【請求項9】
前記
第1のドライバに関する情報の送信にかかる通信の結果に基づき、前記第2の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであるか否かを判定するステップ、
を前記コンピュータにさらに実行させ、
前記第2の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであると判定した後に、前記第1のドライバに関する情報を前記第2の外部機器に送信した後に前記第2の外部機器との通信を終了させ、当該通信の終了後に、前記第2の外部機器で実行される第2のドライバに関する情報を前記第2の外部機器に対して送信するステップを前記コンピュータに実行させる、
ことを特徴とする請求項7に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報入力装置、方法、及びプログラムに関し、特に、PC(Personal Computer)又はスマートフォンに情報を入力するための情報入力装置、並びに、関連する方法及びプログラムに関する。
【背景技術】
【0002】
PCに情報を入力するための情報入力装置の一種であるペンタブレットは、パネル面上における電子ペンの位置を逐次検出し、PCに供給するよう構成された装置である。特許文献1には、この種のペンタブレットの例が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、PC及びスマートフォンなど複数のデバイスを1人で利用するマルチデバイス、並びに、Windows及びAndroidなど複数のOS(Operating System)を1人で利用するマルチOSの環境が進展しており、それに伴って、情報入力装置もマルチデバイス、マルチOSの環境に対応することが必要とされている。
【0005】
したがって、本発明の目的の一つは、マルチデバイス、マルチOSの環境に対応する情報入力装置、方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本発明による情報入力装置は、第1のオペレーティングシステムにより動作する第1の外部機器及び第2のオペレーティングシステムにより動作する第2の外部機器のそれぞれと通信を行えるように構成された通信インタフェースと、前記第1の外部機器にデータを転送する場合には前記第1の外部機器で実行される第1のドライバに対応する第1のモードで動作し、前記第2の外部機器にデータを転送する場合には前記第1のドライバとは異なり前記第2の外部機器で実行される第2のドライバに対応する第2のモードで動作するコントローラと、を含むことを特徴とする。
【0007】
本発明による方法は、通信インターフェイスが外部機器に接続されたことに応じて第1のモードで通信を開始する開始ステップと、前記開始ステップにより開始した通信の結果に基づき、通信相手の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであるか否かを判定する判定ステップと、前記判定ステップにより通信相手の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであると判定された場合に、前記第2のモードでの通信に切り替える切替ステップと、を含むことを特徴とする。
【0008】
本発明によるプログラムは、通信インターフェイスが外部機器に接続されたことに応じて第1のモードで通信を開始する開始ステップと、前記開始ステップにより開始した通信の結果に基づき、通信相手の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであるか否かを判定する判定ステップと、前記判定ステップにより通信相手の外部機器のオペレーティングシステムが前記第2のオペレーティングシステムであると判定された場合に、前記第2のモードでの通信に切り替える切替ステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0009】
本発明によれば、マルチデバイス、マルチOSの環境に対応する情報入力装置、方法、及びプログラムを提供することが可能になる。
【図面の簡単な説明】
【0010】
【
図1】(a)は、本発明の実施の形態によるペンタブレット1をPC10に接続した状態を示す図であり、(b)は、本実施の形態によるペンタブレット1をスマートフォン20に接続した状態を示す図である。
【
図2】ペンタブレット1、電子ペン30、PC10、及びスマートフォン20の内部構成を示す図である。
【
図3】タッチセンサ2及びコントローラ3の内部構成を示す図である。
【
図4】メモリ15,25内に予め記憶されるドライバテーブルを示す図である。
【
図5】ペンタブレット1のUSB通信部4と、PC10のUSB通信部16及びスマートフォン20のUSB通信部26のそれぞれとの間の具体的な接続配線を示す図である。
【
図6】PC10とペンタブレット1との間の処理シーケンスを示す図である。
【
図7】スマートフォン20とペンタブレット1との間の処理シーケンスを示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【0012】
図1(a)は、本発明の実施の形態によるペンタブレット1をPC10に接続した状態を示す図であり、
図1(b)は、本実施の形態によるペンタブレット1をスマートフォン20に接続した状態を示す図である。
【0013】
ペンタブレット1は、タッチ面を構成するタッチセンサ2を有して構成される。また、電子ペン30は、ペン型の端末(スタイラス)である。なお、電子ペン30は、例えばボールペンのようなインク滲出機能を有していてもよい。この場合のペンタブレット1は、タッチ面上に紙を載せた状態で使用される。
【0014】
ペンタブレット1は、静電容量方式又は電磁誘導方式により、タッチ面上における電子ペン30の位置を示す座標を検出可能に構成される。また、電子ペン30は、それぞれのペン先に加わる力を示す筆圧値、それぞれに設けられるサイドスイッチのオンオフ状態を示すサイドスイッチ情報、それぞれが予め記憶しているスタイラスIDなどの各種データをペンタブレット1に対して送信可能に構成される。ペンタブレット1から電子ペン30に対してもデータを送信可能に構成してもよく、この場合、例えば電子ペン30が送信すべきデータを指定するためのコマンドが、ペンタブレット1から電子ペン30に対して送信される。
【0015】
PC10は、例えばノート型のコンピュータであり、例えば、Microsoft Windows(登録商標)のOSで動作するPCである。PC10は、ディスプレイ11を含む出力装置と、キーボード12及びマウスパッド13を含む入力装置とを有して構成される。スマートフォン20は、例えば平板型のコンピュータであり、例えば、Android(登録商標)のOSで動作するスマートフォンである。スマートフォン20は、片手に収まるサイズのタッチスクリーン21を有して構成される。以下ではこの典型例を前提として説明を続けるが、PC10は、例えばデスクトップ型のコンピュータであってもよいし、サーバとして機能するコンピュータであってもよい。また、スマートフォン20は、より大きなタッチスクリーン21を有するタブレット端末であってもよい。
【0016】
本実施の形態によるペンタブレット1は、
図1(a)(b)に示すUSB(Universal Serial Bus)ケーブルCによって、PC10及びスマートフォン20のそれぞれと接続可能に構成される。なお、本実施の形態では、このようにUSB規格による接続を用いる例を説明するが、本発明は、ライトニングやブルートゥース(登録商標)などの他の規格による接続を用いる場合にも適用可能である。
【0017】
図2は、ペンタブレット1、電子ペン30、PC10、及びスマートフォン20の内部構成を示す図である。
図2(a)は
図1(a)に対応し、
図2(b)は
図1(b)に対応している。以下、この
図2を参照しながら、ペンタブレット1、電子ペン30、PC10、及びスマートフォン20それぞれの構成について、より詳しく説明する。
【0018】
電子ペン30は、キャパシタ31及びインダクタ32からなるLC共振回路を有して構成される。インダクタ32は、ペンタブレット1のタッチセンサ2から供給される磁界に応じて誘導電圧を生成し、キャパシタ31を充電する役割を果たす。タッチセンサ2からの磁界の供給が止まった後のインダクタ32は、キャパシタ31に蓄積した電圧を利用して、ペンタブレット1に対して反射信号を送信する。こうして送信される反射信号には、位置検出用の連続信号と、連続信号の終了を示すスタート信号と、電子ペン30がペンタブレット1に対して送信するデータを示すデータ信号とが、この順に含まれる。
【0019】
キャパシタ31は、電子ペン30のペン先に対してタッチ面から加えられる力(=筆圧)によってその容量が変化するよう構成される。キャパシタ31の容量が変化すると共振回路の共振周波数が変化するので、上記のようにして送信される反射信号の周波数も筆圧によって変化することになる。上述した筆圧値は、この周波数の変化によって、電子ペン30からペンタブレット1に伝達される。
【0020】
ペンタブレット1は、
図1にも示したタッチセンサ2に加え、コントローラ3、USB通信部4、メモリ5を有して構成される。
【0021】
図3は、タッチセンサ2及びコントローラ3の内部構成を示す図である。同図に示すように、タッチセンサ2は、長方形の平面領域内に複数のループコイルLCが配置された構成を有している。各ループコイルLCの一端は接地され、他端はコントローラ3に接続される。
図3では、複数のループコイルLCの例として、図示したy方向に延在する40本のループコイルX
1~X
40と、y方向に直交するx方向に延在する40本のY
1~Y
40とを図示しているが、タッチセンサ2に設けるべきループコイルLCの本数はこれに限られない。
【0022】
コントローラ3は、
図3に示すように、選択回路60と、スイッチ回路61と、アンプ62と、検波回路63と、ローパスフィルタ(LPF)64と、サンプルホールド回路(S/H)65と、アナログデジタル変換回路(A/D)66と、制御部67と、発振器68と、電流ドライバ69とを有して構成される。
【0023】
選択回路60には、各ループコイルLCの他端が接続されている。選択回路60は、制御部67からの制御に応じてループコイルX1~X40,Y1~Y40の中の1本又は複数本を選択し、選択したものをスイッチ回路61に接続する回路である。
【0024】
スイッチ回路61は、1つの共通端子と2つの選択端子とを有するスイッチであり、共通端子に接続される選択端子を制御部67からの制御に応じて切り替え可能に構成される。スイッチ回路61の共通端子には選択回路60が、一方の選択端子にはアンプ62の入力端が、他方の選択端子には電流ドライバ69の出力端がそれぞれ接続される。
【0025】
アンプ62は、スイッチ回路61を介して選択回路60から供給される電圧信号を増幅し、検波回路63に出力する回路である。検波回路63は、アンプ62から出力される電圧信号に対して包絡線検波を行うことによって包絡線信号を生成し、ローパスフィルタ64に出力する回路である。ローパスフィルタ64は、検波回路63が生成した包絡線信号から高周波成分を除去する役割を果たす。サンプルホールド回路65は、ローパスフィルタ64によって高周波成分が除去された上記包絡線信号のサンプル動作及びホールド動作を、所定時間間隔で行うよう構成される。アナログデジタル変換回路66は、サンプルホールド回路65によりホールドされている信号にアナログデジタル変換を施すことによってデジタル信号を生成し、制御部67に出力する。
【0026】
制御部67は、
図2に示したメモリ5に記憶されるプログラムに従って動作するプロセッサであり、USB通信部4及びメモリ5に接続される。制御部67は、選択回路60、スイッチ回路61、サンプルホールド回路65、及びアナログデジタル変換回路66の制御を行う他、電子ペン30がコンタクト状態又はホバー状態のいずれであるか否かを識別して検出し、ホバー状態であるときの電子ペン30の位置座標であるホバー座標と、コンタクト状態であるときの電子ペン30の位置座標であるコンタクト座標とを生成する処理、電子ペン30が送信した各種データ(筆圧値、サイドスイッチ情報、スタイラスIDなど)を取得する処理などを実行するように構成される。
【0027】
発振器68は、所定周波数の交流信号を生成するよう構成される。電流ドライバ69は、発振器68から出力される交流信号を電流信号に変換し、スイッチ回路61に供給する役割を果たす。
【0028】
制御部67による電子ペン30の座標及び電子ペン30が送信した各種データの取得について、具体的に説明する。まず初めに、制御部67は、スイッチ回路61の他方の選択端子(電流ドライバ69に接続されている選択端子)を共通端子に接続するとともに、選択回路60にループコイルX1~X40,Y1~Y40の中の一本を選択させる。すると、電流ドライバ69から出力される電流信号により、選択されたループコイルLCに磁界が発生する。なお、ここでは1本のループコイルLCを選択するとしているが、例えばループコイルX1~X40の中から1本、ループコイルY1~Y40の中から1本の計2本を選択することとしてもよい。また、ループコイルX1~X40,Y1~Y40とは別に、タッチセンサ2の外周に沿って磁界発生専用のループコイルを配置し、この段階ではこの専用ループコイルのみを選択することとしてもよい。
【0029】
ループコイルLCに発生した磁界の中に電子ペン30が入ると、上述したように、電子ペン30のインダクタ32(
図2)に誘導電圧が発生し、キャパシタ31(
図2)に電荷が蓄積される。制御部67は、スイッチ回路61の他方の選択端子を共通端子に接続してから所定時間が経過した後、今度は、スイッチ回路61の一方の選択端子(アンプ62に接続されている選択端子)を共通端子に接続する。すると、ループコイルLCからの磁界の発生が終了する。これを受けて、電子ペン30は上述した反射信号の送信を開始する。
【0030】
制御部67は、アナログデジタル変換回路66から供給されるデジタル信号を復号することにより、電子ペン30が送信している反射信号の内容を判定するよう構成される。そして、電子ペン30が連続信号の送信を行っている間に、選択回路60が選択するループコイルLCを連続的に切り替えることにより、ループコイルX1~X40,Y1~Y40のそれぞれに発生した電圧を走査する。こうして検出される電圧は、ループコイルLCと電子ペン30のペン先との間の距離が短いほど大きくなるので、制御部67は、走査結果から電子ペン30の位置を示す座標を得ることができる。
【0031】
なお、走査時間を短縮するため、上記のようにすべてのループコイルLCを走査して位置検出を行うのは初回だけ(この場合、初回の位置検出では、電子ペン30がスタート信号やデータ信号を送信している間にも、これらを連続信号とみなして位置検出を行う)とし、2回目からは、前回検出された位置の近傍に位置するループコイルLCのみを走査することとしてもよい。
【0032】
一方、電子ペン30がデータ信号を送信している間には、制御部67は、検出された電子ペン30の位置に応じていずれか1本のループコイルLC(通常は、検出した電子ペン30の位置に最も近いもの)を、選択回路60に選択させる。そして、こうして選択されたループコイルLCを通じて得られた信号の復号結果から、電子ペン30が送信したサイドスイッチ情報又はスタイラスIDを取得するよう構成される。
【0033】
また、制御部67は、電子ペン30が送信する反射信号の周波数を検出し、検出した周波数から電子ペン30が送信した筆圧値を取得するよう構成される。制御部67は、こうして取得した筆圧値に基づき、電子ペン30がホバー状態及びコンタクト状態のいずれであるかを識別して検出するように構成される。
【0034】
図2に戻る。USB通信部4は、USB規格により、PC10及びスマートフォン20を含む各種の外部機器のそれぞれと通信を行えるように構成された通信インタフェースであり、コントローラ3の制御に従って、外部機器との間でUSBによる通信を確立するよう構成される。
【0035】
ここで、ドライバソフトウェアについて説明する。ペンタブレット1をPC10やスマートフォン20などの外部機器に接続する際には、外部機器側において、接続されたペンタブレット1用のドライバソフトウェア(以下、単に「ドライバ」と称する)を起動する必要がある。この起動を実現するため、外部機器のOSには、ペンタブレットのベンダーを示すベンダーIDと、適用すべきドライバとを対応付けるドライバテーブルが予め格納されている。
【0036】
外部機器のOSは、ペンタブレット1が接続されると、所定のプロトコルを用いてペンタブレット1からベンダーIDを読み出す。そして、読み出したベンダーIDとドライバテーブルとに基づいて起動すべきドライバを決定し、決定したドライバを起動する。
【0037】
起動すべきドライバを決定したものの、そのドライバが外部機器内にインストールされていない場合、外部機器のOSは、ドライバの自動インストールを行い、自動インストールができない場合には、ユーザによる手動インストールを促すための表示を行う。これにより、最終的には、ドライバテーブルの記述どおりのドライバを起動することが可能になる。
【0038】
PC10及びスマートフォン20は、USB規格によってペンタブレット1と接続するために、ドライバを利用するように構成される。
【0039】
このドライバとして、PC10は、ペンタブレット1のベンダーが独自に提供しているペンタブレット用ドライバDAと、汎用のペンタブレット用ドライバDBとの両方を利用可能に構成される。一方、スマートフォン20については、一部の機種はペンタブレット用ドライバDA,DBの両方を利用可能に構成され、また、一部の機種はペンタブレット用ドライバDBのみを利用可能に構成される状況が考えられる。このようなドライバの対応状況に鑑み、コントローラ3は、PC10に対してUSB規格によりデータを転送する場合には、ペンタブレット用ドライバDAに対応するモード(以下、「PCモード」と称する)で動作し、スマートフォン20に対してUSB規格によりデータを転送する場合には、ペンタブレット用ドライバDBに対応するモード(以下、「スマートフォンモード」と称する)で動作するよう構成される。このように対応するドライバが異なることから、コントローラ3がPCモードで動作する場合とスマートフォンモードで動作する場合とでは、外部機器側から見ると、異なるデバイスが接続されているように見えることになる。
【0040】
コントローラ3が外部機器に対して転送するデータには、上述したようにして取得した電子ペン30の座標及び電子ペン30から受信した各種データが含まれる。コントローラ3は、これらのデータを取得する都度、USB通信部4を介して、外部機器に転送するよう構成される。外部機器は、こうして供給された座標及び各種データに基づき、カーソルの制御、ストロークデータの生成及びレンダリングなどの処理を行う。
【0041】
メモリ5は、コントローラ3の動作に関連する各種のプログラムやデータを記憶可能に構成された記憶装置である。本実施の形態で説明するコントローラ3の動作は、コントローラ3(より具体的には、
図3に示した制御部67)がメモリ5に記憶されるプログラムを読み出して実行することにより実現される。
【0042】
次にPC10は、上述したディスプレイ11に加え、プロセッサ14、メモリ15、及びUSB通信部16を有して構成される。なお、
図2においては、
図1(a)に示したキーボード12及びマウスパッド13の記載は省略している。
【0043】
プロセッサ14は、メモリ15に記憶されるプログラムに従って動作するプロセッサであり、ディスプレイ11、メモリ15、及びUSB通信部16に接続される。プロセッサ14によって実行されるプログラムには、PC10のOS17(例えばMiscosoft Windows(登録商標))の他、上述したペンタブレット用ドライバDA,DBが含まれる。
【0044】
メモリ15は、プロセッサ14の動作に関連する各種のプログラムやデータを記憶する他、ペンタブレット1から受信した座標データを記憶する役割を果たす。プロセッサ14は、ペンタブレット1からメモリ15に逐次書き込まれる座標及び各種データに基づき、カーソルの制御、ストロークデータの生成及びレンダリングなどの処理を行う。
【0045】
USB通信部16は、USB規格により、ペンタブレット1を含む各種の外部機器のそれぞれと通信を行えるように構成された通信インタフェースであり、プロセッサ14の制御に従い、ペンタブレット1を含む外部機器との間でUSBによる通信を確立するよう構成される。
【0046】
次にスマートフォン20は、上述したタッチスクリーン21に加え、プロセッサ24、メモリ25、及びUSB通信部26を有して構成される。
【0047】
プロセッサ24は、メモリ25に記憶されるプログラムに従って動作するプロセッサであり、タッチスクリーン21、メモリ25、及びUSB通信部26に接続される。プロセッサ24によって実行されるプログラムには、スマートフォン20のOS27(例えばAndroid(登録商標))の他、上述したペンタブレット用ドライバDBが含まれる。スマートフォン20の機種によっては、さらにペンタブレット用ドライバDAも含まれる場合がある。
【0048】
メモリ25は、プロセッサ24の動作に関連する各種のプログラムやデータを記憶する他、ペンタブレット1から受信した座標及び各種データを記憶する役割を果たす。プロセッサ24は、ペンタブレット1からメモリ25に逐次書き込まれる座標及び各種データに基づき、カーソルの制御、ストロークデータの生成及びレンダリングなどの処理を行う。
【0049】
USB通信部26は、USB規格により、ペンタブレット1を含む各種の外部機器のそれぞれと通信を行えるように構成された通信インタフェースであり、プロセッサ24の制御に従い、ペンタブレット1を含む外部機器との間でUSBによる通信を確立するよう構成される。
【0050】
図4は、メモリ15,25内に予め記憶されるドライバテーブルを示す図である。このドライバテーブルには、同図に示すように、外部機器のプロダクトID及びベンダーIDと、起動すべきドライバとが対応付けて格納される。プロダクトIDは、外部機器の種別(ペンタブレットなど)を示す識別情報であり、ベンダーIDは、外部機器のベンダー(製造メーカー)を示す識別情報である。
【0051】
プロセッサ14,24はそれぞれ、USB通信部16,26を介して外部機器との通信を開始する際、まず外部機器に対してプロダクトID及びベンダーIDの送信を要求する。そして、その結果として外部機器から送られてきたプロダクトID及びベンダーIDに基づいてドライバテーブルを参照することにより、起動するドライバを決定するよう構成される。
【0052】
図4のドライバテーブルにおいては、ペンタブレットを示すプロダクトIDと、ベンダーAを示すベンダーIDとの組み合わせに対して、ペンタブレット用ドライバDAが対応付けられている。このように特定のベンダーIDと対応付けられるドライバは、典型的には、ベンダー独自のドライバである。また、ペンタブレットを示すプロダクトIDに対して、ベンダーIDを指定することなく、ペンタブレット用ドライバDBが対応付けられている。このように特定のベンダーIDと対応付けられないドライバは、典型的には、汎用のドライバである。
図4のドライバテーブルによれば、プロセッサ14,24は、ベンダーAのペンタブレット1についてペンタブレット用ドライバDAを適用し、ベンダーA以外のペンタブレット1についてペンタブレット用ドライバDBを適用することになる。
【0053】
ここで、ドライバテーブルを参照して決定したドライバがPC10内にインストールされていない場合、プロセッサ14は、例えばサーバコンピュータから自動的にダウンロードしてインストールしたうえで、そのドライバを適用するよう構成される。サーバコンピュータからドライバをダウンロードできない場合には、プロセッサ14は、ユーザにインストールを促すための表示を行う。
【0054】
一方、OS27で動作するスマートフォン20は、プロセッサ24がドライバテーブルに基づいてペンタブレット用ドライバDAの起動を決定する。しかしながら、スマートフォン20にペンタブレット用ドライバDAがインストールされていないので、ペンタブレット用ドライバDAを起動することができない。したがって、スマートフォン20とペンタブレット1とは、通信不可の状態になってしまう。
【0055】
スマートフォン20とペンタブレット1とが通信可能な状態になるためには、スマートフォン20は、ペンタブレット用ドライバDBを起動すればよい。。本実施の形態は、ペンタブレット用ドライバDBの起動を、ペンタブレット1側の処理により実現するものである。この処理の詳細については、後述する。
【0056】
図5は、ペンタブレット1のUSB通信部4と、PC10のUSB通信部16及びスマートフォン20のUSB通信部26のそれぞれとの間の具体的な接続配線を示す図である。同図に示すように、USB通信部4と、USB通信部16,26のそれぞれとは、信号配線D+,D-、及び、電源配線VH,VLという4つの配線を介して接続される。USB通信部4にUSB通信部16又はUSB通信部26が接続されると、まず初めに、ペンタブレット1のコントローラ3によって信号配線D+の電位が所定値だけ引き上げられる(プルアップ)。プロセッサ14,24は、このプルアップを検知することによって、USB通信部16,26に外部機器が接続されたことを検知するよう構成される。USB通信部16,26に外部機器が接続されたことを検知したプロセッサ14,24は、信号配線D+,D-を用いてその外部機器との通信を開始するとともに、電源配線VH,VLを通じてその外部機器への電源供給を開始する。
【0057】
次に、ベンダーAのペンタブレット1をスマートフォン20と通信可能にするためのペンタブレット1側の処理について、PC10及びスマートフォン20のそれぞれとペンタブレット1との間の処理シーケンスを参照しながら詳しく説明する。
【0058】
図6は、PC10とペンタブレット1との間の処理シーケンスを示す図である。以下に示すPC10の処理は
図2に示したプロセッサ14によって実行され、ペンタブレット1の処理は
図2に示したコントローラ3によって実行される。
【0059】
図6に示すように、まずペンタブレット1により、USBケーブルCがUSB通信部4に接続されたことが検知され(ステップS1)、次いで、信号配線D+がプルアップされる(ステップS2)。ペンタブレット1はその後、上述したPCモード(ペンタブレット用ドライバDAに対応するモード)で通信を起動する(ステップS3)。
【0060】
PC10は、ステップS2で信号配線D+がプルアップされたことを受けて信号配線D+のプルアップを検知する(ステップS20)と、信号配線D+,D-を用い、ペンタブレット1に対して、プロダクトID及びベンダーIDの送信を要求するためのコマンドGetDeviceDescriptorを送信する(ステップS21)。このコマンドを受信したペンタブレット1は、ペンタブレットを示すプロダクトIDと、ベンダーAを示すベンダーIDとを含む応答DeviceDescriptorを送信する(ステップS4)。
【0061】
この応答を受信したPC10は、
図4に示したドライバテーブルを参照することにより、適用するドライバをペンタブレット用ドライバDAと決定する(ステップS22)。上述したようにPC10ではペンタブレット用ドライバDAを利用できるので、PC10は、決定したペンタブレット用ドライバDAを実際に起動して通信を開始することになる(ステップS23)。
【0062】
一方、ペンタブレット1は、コマンドGetDeviceDescriptor及び応答DeviceDescriptorの送受信やその他の通信のパターンを分析することにより、通信相手の外部機器のOSがOS27であるか否かを判定する(ステップS5)。
図6の場合は通信相手の外部機器がPC10であるので、この判定の結果は否定となる。この場合、ペンタブレット1は、引き続きPCモードによる通信を行う。PC10もペンタブレット用ドライバDAによる通信を実行しているので、この状態で問題なく、PC10とペンタブレット1との間の通信が実行されることになる。
【0063】
次に、
図7は、スマートフォン20とペンタブレット1との間の処理シーケンスを示す図である。以下に示すスマートフォン20の処理は
図2に示したプロセッサ24によって実行され、ペンタブレット1の処理は
図2に示したコントローラ3によって実行される。
【0064】
ステップS1~S5及びステップS20~S22の処理は、
図6に示した処理と同様である。ステップS22でペンタブレット用ドライバDAの起動を決定したスマートフォン20は、ペンタブレット用ドライバDAがスマートフォン20内に存在しないため、通信不可と決定する(ステップS24)。その結果、ここで一旦、スマートフォン20とペンタブレット1の間の通信が終了することになる。
【0065】
一方、ステップS5の判定の結果は、通信相手の外部機器がOS27で動作するスマートフォン20であることから、
図7の例では肯定となる。この場合、ペンタブレット1は、USB通信部4と外部機器との間の接続を一旦切断し、上述したスマートフォンモード(ペンタブレット用ドライバDBに対応するモード)での通信に切り替える処理を行う。具体的には、まず信号配線D+の電位を所定値以下に引き下げた後(プルダウン。ステップS6)、信号配線D+の電位を再度プルアップする(ステップS7)。これにより、スマートフォン20は信号配線D+のプルアップを再度検知し(ステップS25)、ペンタブレット1に対し、コマンドGetDeviceDescriptorを再度送信することになる(ステップS26)。
【0066】
ペンタブレット1は、ステップS7の後、スマートフォンモードで通信を起動する(ステップS8)。そして、ステップS26で送信されたコマンドに応じて、ペンタブレットを示すプロダクトIDと、ベンダーBを示すベンダーIDとを含む応答DeviceDescriptorを送信する(ステップS9)。
【0067】
図4に示すドライバテーブルによれば、ベンダーBを示すベンダーIDは、ペンタブレット用ドライバDBに対応付けられている。したがって、ベンダーBを示すベンダーIDを含む応答DeviceDescriptorを受信したスマートフォン20は、適用するドライバをペンタブレット用ドライバDBと決定する(ステップS27)。ペンタブレット用ドライバDBはスマートフォン20でも利用できるので、スマートフォン20は、決定したペンタブレット用ドライバDBを実際に起動して(ステップS28)、ペンタブレット1との通信を実行することになる。
【0068】
本実施の形態によるペンタブレット1によれば、ペンタブレット1側での処理により、ベンダーAのペンタブレット1と、スマートフォン20とを通信可能にすることができる。
【0069】
以上説明したように、本実施の形態によれば、ペンタブレット1は、Microsoft Windows(登録商標)のOS17で動作するPC10にデータを転送する場合には、ベンダー独自のドライバに対応するPCモードで動作し、Android(登録商標)のOS27で動作するスマートフォン20にデータを転送する場合には、ベンダー独自のドライバとは異なる汎用ドライバに対応するスマートフォンモードで動作することが可能となる。
【0070】
したがって、ペンタブレット1は、Microsoft Windows(登録商標)のOS17で動作するPC10及びAndroid(登録商標)のOS27で動作するスマートフォン20のいずれとも通信することができることになるので、マルチデバイス、マルチOSの環境に対応できるペンタブレット1を提供することが可能になると言える。また、ベンダー独自のドライバをインストールできないというスマートフォン20の仕様にもかかわらず、ドライバテーブルにベンダー独自のドライバが記憶されているためにベンダー独自のドライバが起動の対象として決定された結果、スマートフォン20のOS27がベンダー独自のドライバの起動に失敗し、ペンタブレット1を利用できないという状況を回避することが可能となる。
【0071】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【符号の説明】
【0072】
1 ペンタブレット
2 タッチセンサ
3 コントローラ
4,16,26 USB通信部
5,15,25 メモリ
10 PC
11 ディスプレイ
12 キーボード
13 マウスパッド
14,24 プロセッサ
17,27 OS
20 スマートフォン
21 タッチスクリーン
30 電子ペン
31 キャパシタ
32 インダクタ
60 選択回路
61 スイッチ回路
62 アンプ
63 検波回路
64 ローパスフィルタ
65 サンプルホールド回路
66 アナログデジタル変換回路
67 制御部
68 発振器
69 電流ドライバ
C USBケーブル
D+,D- 信号配線
DA,DB ペンタブレット用ドライバ
LC,X1~X40,Y1~Y40 ループコイル
VH,VL 電源配線