JP2012213859A - Printer, program, and printer system - Google Patents
Printer, program, and printer system Download PDFInfo
- Publication number
- JP2012213859A JP2012213859A JP2011078890A JP2011078890A JP2012213859A JP 2012213859 A JP2012213859 A JP 2012213859A JP 2011078890 A JP2011078890 A JP 2011078890A JP 2011078890 A JP2011078890 A JP 2011078890A JP 2012213859 A JP2012213859 A JP 2012213859A
- Authority
- JP
- Japan
- Prior art keywords
- key code
- printer
- application
- computer
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、プリンタ、プログラム、およびプリンタシステムに関する。 The present invention relates to a printer, a program, and a printer system.
コンピュータと、キーボード、マウス、及びプリンタなどの各種コンピュータ周辺機器との接続インタフェースに、ユニバーサルシリアルバス(Universal Serial Bus:USB)が用いられることが多い。USBは、コンピュータ周辺機器に関するプラグ&プレイ機能、コネクタケーブルの共通化など、ユーザの使い易さを考慮した設計になっている。 In many cases, a universal serial bus (USB) is used as a connection interface between a computer and various computer peripheral devices such as a keyboard, a mouse, and a printer. The USB is designed in consideration of ease of use by the user, such as a plug and play function related to computer peripheral devices and a common connector cable.
コンピュータとプリンタとの間では、コンピュータからプリンタへ印刷データが通信されるほか、プリンタからコンピュータへ例えばプリンタステータスのデータが通信される。特許文献1には、プリンタが有するデータ記憶領域の空き状態データをコンピュータにインタラプト転送する技術が開示されている。特許文献2には、コンピュータからのゲット・ディスクリプタに対して、製品名などのデータに続けて製品属性データを付加して送信する技術が開示されている。特許文献3には、デジタルプリンタからデジタルカメラにプリンタステータスデータをバルク転送する技術が開示されている。
Between the computer and the printer, print data is communicated from the computer to the printer, and for example, printer status data is communicated from the printer to the computer.
コンピュータとプリンタとがUSBインタフェースを介して接続されている場合において、コンピュータとプリンタとの間の通信は一般的にバルク転送が使用される。即ち、プリンタからコンピュータに例えばプリンタステータスのデータを送信する場合にはバルク転送が使用される。コンピュータに送信されたプリンタステータスのデータは、最終的にはコンピュータの所定のアプリケーション(例えば、印刷アプリケーション)に通知されることとなる。 When the computer and the printer are connected via the USB interface, bulk transfer is generally used for communication between the computer and the printer. That is, when transferring printer status data from a printer to a computer, for example, bulk transfer is used. The printer status data transmitted to the computer is finally notified to a predetermined application (for example, a printing application) of the computer.
しかしながら、例えば印刷アプリケーションにプリンタステータスのデータを通知しようとすると、複雑な処理を要することになる。そこで、本発明は、このような課題に鑑みなされたものであり、アプリケーションにデータを容易に通知することが可能なプリンタ、プログラム、およびプリンタシステムを提供することを目的とする。 However, for example, when trying to notify the printer application of printer status data, complicated processing is required. Therefore, the present invention has been made in view of such a problem, and an object of the present invention is to provide a printer, a program, and a printer system capable of easily notifying data to an application.
本発明は、コンピュータとの通信に使用される複数のエンドポイントと、前記複数のエンドポイントのうちHIDクラスの通信に使用する少なくとも1つのエンドポイントからキーコードを前記コンピュータにインタラプト転送する制御部と、を備えることを特徴とするプリンタである。本発明によれば、複雑な処理を行うデバイスドライバやソフトウェアを使用することなく、コンピュータに備わるアプリケーションにデータを容易に通知できる。 The present invention includes a plurality of endpoints used for communication with a computer, and a control unit that interrupt-transfers a key code to the computer from at least one of the plurality of endpoints used for HID class communication; A printer comprising: According to the present invention, data can be easily notified to an application provided in a computer without using a device driver or software that performs complicated processing.
上記構成において、前記キーコードは、プリンタステータスに対応したキーコードである構成とすることができる。 In the above configuration, the key code may be a key code corresponding to a printer status.
上記構成において、前記キーコードを記憶する記憶部を有し、前記制御部は、前記記憶部に記憶された前記キーコードを前記コンピュータにインタラプト転送すると共に、前記コンピュータからの指示に基づき、前記記憶部に記憶された前記キーコードを変更する構成とすることができる。この構成によれば、ユーザ毎の使用状況に応じたキーコードの設定ができる。 In the above configuration, the storage unit stores the key code, and the control unit interrupt-transfers the key code stored in the storage unit to the computer and also stores the storage based on an instruction from the computer. The key code stored in the section can be changed. According to this configuration, it is possible to set a key code according to the usage situation for each user.
本発明は、複数のエンドポイントを有するプリンタに接続され、前記複数のエンドポイントのうちHIDクラスの通信に使用される少なくとも1つのエンドポイントからキーコードがインタラプト転送されるコンピュータを、前記1つのエンドポイントからインタラプト転送される前記キーコードがキーボードイベントとしてアクティブなアプリケーションに通知される前に前記キーコードを取得する取得手段、前記取得手段で取得した前記キーコードを、記憶部に記憶された前記キーコードに対応したウィンドウメッセージに変換する変換手段、前記変換手段で変換した前記ウィンドウメッセージを、前記記憶部に通知先として記憶されたアプリケーションに通知する通知手段、として機能させることを特徴とするプログラムである。本発明によれば、プリンタから送信されたデータを、アクティブなアプリケーションだけではなく、任意のアプリケーションに通知することができる。 The present invention relates to a computer connected to a printer having a plurality of endpoints, wherein a key code is interrupt-transferred from at least one endpoint used for HID class communication among the plurality of endpoints. Acquisition means for acquiring the key code before the active application is notified to the active application as a keyboard event, and the key code acquired by the acquisition means is stored in the storage unit A program for causing a conversion means for converting into a window message corresponding to a code, and a notification means for notifying an application stored as a notification destination in the storage section of the window message converted by the conversion means. is there. According to the present invention, data transmitted from a printer can be notified not only to an active application but also to an arbitrary application.
上記構成において、前記キーコードは、プリンタステータスに対応したキーコードである構成とすることができる。 In the above configuration, the key code may be a key code corresponding to a printer status.
上記構成において、前記変換手段は、前記取得手段で取得した前記キーコードを、前記キーコードに対応したキーボードイベントに変換する構成とすることができる。 The said structure WHEREIN: The said conversion means can be set as the structure which converts the said key code acquired by the said acquisition means into the keyboard event corresponding to the said key code.
上記構成において、前記記憶部に記憶された前記通知先のアプリケーションを変更する第1変更手段、を有する構成とすることができる。 The said structure WHEREIN: It can be set as the structure which has a 1st change means to change the said application of the notification destination memorize | stored in the said memory | storage part.
上記構成において、前記記憶部に記憶された前記ウィンドウメッセージを変更する第2変更手段、を有する構成とすることができる。 The said structure WHEREIN: It can be set as the structure which has the 2nd change means to change the said window message memorize | stored in the said memory | storage part.
本発明は、コンピュータと、前記コンピュータとの通信に使用される複数のエンドポイントのうちHIDクラスの通信に使用する少なくとも1つのエンドポイントからプリンタステータスに対応したキーコードを前記コンピュータにインタラプト転送するプリンタと、を備えることを特徴とするプリンタシステムである。本発明によれば、複雑な処理を行うデバイスドライバやソフトウェアを使用することなく、コンピュータに備わるアプリケーションにデータを容易に通知できる。 The present invention relates to a printer for interrupt-transferring a key code corresponding to a printer status from at least one endpoint used for HID class communication among a plurality of endpoints used for communication between the computer and the computer to the computer. A printer system comprising: According to the present invention, data can be easily notified to an application provided in a computer without using a device driver or software that performs complicated processing.
上記構成において、前記コンピュータは、前記1つのエンドポイントからインタラプト転送される前記キーコードがキーボードイベントとしてアクティブなアプリケーションに通知される前に前記キーコードを取得し、前記キーコードを記憶部に記憶された前記キーコードに対応したウィンドウメッセージに変換し、前記ウィンドウメッセージを前記記憶部に通知先として記憶されたアプリケーションに通知する構成とすることができる。この構成によれば、プリンタから送信されたデータを、アクティブなアプリケーションだけではなく、任意のアプリケーションに通知することができる。 In the above configuration, the computer acquires the key code before the active application is notified as a keyboard event of the key code interrupt-transferred from the one endpoint, and the key code is stored in the storage unit. The window message may be converted into a window message corresponding to the key code, and the window message may be notified to an application stored as a notification destination in the storage unit. According to this configuration, the data transmitted from the printer can be notified not only to the active application but also to an arbitrary application.
本発明によれば、複雑な処理を行うデバイスドライバやソフトウェアを使用することなく、コンピュータに備わるアプリケーションにデータを容易に通知できる。 According to the present invention, data can be easily notified to an application provided in a computer without using a device driver or software that performs complicated processing.
まず初めに、比較例1に係るプリンタシステムを用いて、本発明が解決しようとする課題について詳細に説明する。図1は、比較例1に係るプリンタシステムを示す機能ブロック図の例である。図1のように、プリンタシステム300は、コンピュータ70とプリンタ80とがUSBインタフェースを介して接続している。コンピュータ70は、印刷アプリケーション12、GDI(Graphics Device Interface)14、プリンタドライバ16、スプーラ18、言語モニタ20、ポートモニタ22、USBバルクドライバ24、USBドライバスタック26、USBホストコントローラ28、およびドライバAPI(Application Programming Interface)72を備えている。ドライバAPI72は、プリンタ80のプリンタステータスデータを印刷アプリケーション12に通知するための専用のアプリケーションである。USBバルクドライバ24は、プリンタ80との通信に用いられるプリンタ用のドライバであり、USBドライバスタック26は、マイクロソフト(登録商標)社のWindows(登録商標)オペレーティングシステムで、USBホストコントローラ28を動かすためのドライバである。USBホストコントローラ28は、コンピュータ70のインタフェースに設けられ、プリンタ80との通信を管理する。
First, the problem to be solved by the present invention will be described in detail using the printer system according to Comparative Example 1. FIG. 1 is an example of a functional block diagram illustrating a printer system according to the first comparative example. As shown in FIG. 1, in the
プリンタ80のインタフェースには、複数のエンドポイント(EP0からEPx)が設けられている。エンドポイントEP0はコントロール転送に使用する。エンドポイントEP1は印刷データを受信するためのエンドポイントであり、コンピュータ70からみてOUTの一方向のバルク転送に使用する。エンドポイントEP2は例えばプリンタステータスデータを送信するためのエンドポイントであり、コンピュータ70からみてINの一方向のバルク転送に使用する。
The interface of the
エンドポイントEP2からバルク転送されたプリンタステータスデータは、USBホストコントローラ28、USBドライバスタック26、USBバルクドライバ24、ポートモニタ22、言語モニタ20を経由してスプーラ18に渡される。このようなプリンタステータスデータを印刷アプリケーション12に通知する方法として例えば以下の4通りの方法が考えられる。
The printer status data bulk-transferred from the end point EP2 is passed to the
一つ目の通知方法は、言語モニタ20がポートモニタ22に対して通信を行い、プリンタ80から送信されるデータを常時監視し、プリンタステータスデータを取得したらドライバAPI72を介して印刷アプリケーション12に通知する方法である。
The first notification method is that the
二つ目の通知方法は、ドライバAPI72がUSBバルクドライバ24に対して通信を行い、プリンタ80から送信されるデータを常時監視し、プリンタステータスデータを取得したら印刷アプリケーション12に通知する方法である。
The second notification method is a method in which the
三つ目の通知方法は、印刷アプリケーション12がUSBバルクドライバ24に対して通信を行い、直接プリンタ80からのデータの監視を行い、プリンタステータスデータを取得する方法である。
The third notification method is a method in which the
四つ目の通知方法は、USBバルクドライバ24がUSBドライバスタック26に対して通信を行い、プリンタ80からのデータを常時監視し、プリンタステータスデータを取得したらドライバAPI72を介してあるいは直接印刷アプリケーション12に通知する方法である。
In the fourth notification method, the
これら4通りの通知方法いずれにおいても、アプリケーションやドライバなどが周期的に通信を行い、プリンタステータスデータを読みに行かなければならない。また、プリンタステータスデータを印刷アプリケーション12に通知するための専用のアプリケーションであるドライバAPI72を用いる場合もある。このように、プリンタステータスデータを印刷アプリケーションに通知するには複雑な処理を要する。そこで、このような課題を解決すべく、以下において、アプリケーションにデータを容易に通知することが可能な実施例を説明する。
In any of these four notification methods, an application, a driver, or the like must periodically communicate to read printer status data. In some cases, a
図2は、実施例1に係るプリンタシステムの全体構成を示すブロック図の例である。図2のように、実施例1に係るプリンタシステム100は、コンピュータ10とプリンタ40とがUSBインタフェースケーブル52を介して接続されている。コンピュータ10は、CPU30、ROMおよびRAMからなるメモリ32、およびI/F(インタフェース)34を有する。CPU30は、メモリ32に記憶された制御プログラムに従い、コンピュータ10全体を制御する。I/F34は、コンピュータ10とプリンタ40とを接続するインタフェースである。
FIG. 2 is an example of a block diagram illustrating the overall configuration of the printer system according to the first embodiment. As shown in FIG. 2, in the
プリンタ40は、CPU42、ROMおよびRAMからなるメモリ44、I/F46、フラッシュROMなどからなる記憶部48、およびプリント部50を有する。CPU42は、メモリ44に記憶された制御プログラムに従い、プリンタ40全体を制御する。I/F46は、プリンタ40とコンピュータ10とを接続するインタフェースである。I/F46には、後述するように複数のエンドポイントが設けられている。記憶部48は、プリンタステータスと対応付けされたキーコードを記憶する。プリント部50は、コンピュータ10から送られてきた印刷データに基づいて印刷を実行する。
The
図3は、実施例1に係るプリンタシステムの機能ブロック図の例である。図3のように、コンピュータ10は、印刷アプリケーション12、GDI(Graphics Device Interface)14、プリンタドライバ16、スプーラ18、言語モニタ20、ポートモニタ22、ユーザインタフェース23、USBバルクドライバ24、HID(Human Interface Device)ドライバ25、およびUSBドライバスタック26を備えている。また、I/F34に、プリンタ40との通信を管理するUSBホストコントローラ28を備えている。
FIG. 3 is an example of a functional block diagram of the printer system according to the first embodiment. As shown in FIG. 3, the
印刷アプリケーション12、GDI14、プリンタドライバ16、スプーラ18、言語モニタ20、ポートモニタ22、およびユーザインタフェース23はユーザモードに設けられている。USBバルクドライバ24、HIDドライバ25、およびUSBドライバスタック26はカーネルモードに設けられている。カーネルモードに設けられたUSBバルクドライバ24は、プリンタ40との通信に用いられるプリンタ用のドライバである。HIDドライバ25は、プリンタ40との通信に用いられるキーボード用のドライバである。USBドライバスタック26は、マイクロソフト(登録商標)社のWindows(登録商標)オペレーティングシステムで、USBホストコントローラ28を動かすためのドライバである。
The
プリンタ40が有するI/F46には、複数のエンドポイント(EP0からEPx)が設けられている。エンドポイントEP0はコントロール転送に使用する。このコントロール転送を使って、コンフィグレーションを行い、プリンタ40の使い方の設定情報を、コンピュータ10とプリンタ40との間で双方向通信する。エンドポイントEP1は印刷データを受信するためのエンドポイントである。エンドポイントEP1は、コンピュータ10からみてOUTの一方向の通信である。転送方式としてはバルク転送を使用する。エンドポイントEP2は、プリンタステータスに対応したキーコードを送信するためのエンドポイントであり、コンピュータ10からみてINの一方向の通信である。転送方式としてはインタラプト転送を使用する。
The I /
ここで、図4のシーケンス図を用い、コンピュータ10とプリンタ40との間のコントロール転送の通信手順について説明する。図4のように、コンピュータ10とプリンタ40とが接続された状態でプリンタ40の電源がONになった場合(ステップS10)、コンピュータ10は、プリンタ40の電源がONになったことを確認した後(ステップS12)、プリンタ40に対してゲット・ディスクリプタを転送する(ステップS14)。なお、ステップS10およびS12は、電源ON状態のプリンタ40が接続された場合でもよい。ゲット・ディスクリプタに対して、プリンタ40は、メモリ44に記憶されているディスクリプタ情報をコンピュータ10に返送する(ステップS16)。コンピュータ10は、返送されたディスクリプタ情報に基づき、適当なドライバの準備などの設定をする(ステップS18)。
Here, a communication procedure of control transfer between the
図5および図6に、メモリ44に記憶されたディスクリプタ情報の例を示す。図5および図6に示すディスクリプタ情報の例では、インタフェース1・ディスクリプタとエンドポイント1・ディスクリプタによって、プリンタクラスとバルク転送が指定されている。また、インタフェース2・ディスクリプタとエンドポイント2・ディスクリプタによって、HIDキーボードクラスとインタラプト転送が指定されている。これにより、コンピュータ10は、プリンタ40をプリンタとキーボードの2つのデバイスとして認識をし、図2および図4で説明したように、プリンタ用のドライバとしてUSBバルクドライバ24を準備し、キーボード用のドライバとしてHIDドライバ25を準備する。
5 and 6 show examples of descriptor information stored in the
また、インタフェース1・ディスクリプタとエンドポイント1・ディスクリプタによってプリンタクラスとバルク転送が指定されていることから、エンドポイントEP1は、バルク転送された印刷データを受信するためのエンドポイントとして使用される。一方、インタフェース2・ディスクリプタとエンドポイント2・ディスクリプタによってHIDキーボードクラスとインタラプト転送が指定されていることから、エンドポイントEP2は、プリンタステータスに対応したキーコードをインタラプト転送で送信するためのエンドポイントとして使用される。
Since the printer class and the bulk transfer are specified by the
ここで、印刷アプリケーション12で印刷処理が開始された場合に、プリンタ40のプリント部50で印刷されるまでの印刷処理について説明する。図3のように、印刷アプリケーション12で印刷処理が開始されると、印刷アプリケーション12はGDI14を呼び出し、GDI14がプリンタデバイスコンテキストへ描画を行う。その後、GDI14はプリンタドライバ16を呼び出し、プリンタドライバ16はプリンタ言語に基づいてプリンタ40で印刷可能な形の印刷データを生成する。生成された印刷データはスプーラ18に渡される。
Here, the printing process until printing is performed by the
次いで、必要な場合は言語モニタ20で処理が行われた後、ポートモニタ22はプリンタポートの種類に合わせて印刷データの出力処理を行う。印刷データは、カーネルモードに設けられたUSBバルクドライバ24およびUSBドライバスタック26に通知された後、USBホストコントローラ28の管理の下でプリンタ40にバルク転送により送信される。
Next, if necessary, the language monitor 20 performs processing, and then the port monitor 22 performs print data output processing in accordance with the type of printer port. The print data is notified to the
プリンタ40のエンドポイントEP1でバルク転送された印刷データを受信した後、CPU42の制御の下、印刷データに基づいてプリント部50で印刷が実行される。
After receiving the bulk transfer print data at the end point EP1 of the
図7は、プリンタステータスに対応したキーコードの送信について説明するフローチャートである。図7のように、プリンタ40のCPU42は、プリンタステータスに異常が発生し、コンピュータ10に通知すべきプリンタステータスがあるかどうかを判断する(ステップS20)。通知すべきプリンタステータスがあると判断した場合は、CPU42は、記憶部48に記憶されたプリンタステータスと対応付けされたキーコードに基づき、通知すべきプリンタステータスに対応したキーコードをエンドポイントEP2からコンピュータ10に送信する(ステップS22)。通知すべきプリンタステータスがないと判断した場合は、CPU42は、エンドポイントEP2からコンピュータ10にNAKを送信する(ステップS24)。エンドポイントEP2における転送方式はインタラプト転送であり、インタラプト転送の動作は、エンドポイント2・ディスクリプタのEP_bIntervalで指定した間隔[ms]でINトランザクションが発生する。つまり、CPU42は、INトランザクションに対してプリンタステータスに対応したキーコードあるいはNAKを送信する。
FIG. 7 is a flowchart illustrating transmission of a key code corresponding to the printer status. As shown in FIG. 7, the
図3に戻り、エンドポイントEP2から送信されたプリンタステータスに対応したキーコードは、USBホストコントローラ28、USBドライバスタック26、およびキーボード用のドライバであるHIDドライバ25を介してWindows(登録商標)に標準装備されたユーザインタフェース23に通知される。キーコードは、ユーザインタフェース23でキーボードイベント(WM_KEYDOWN/WM_KEYUPのウィンドウメッセージと仮想キーコード)に変換され、キーボードイベントとして印刷アプリケーション12に通知される。
Returning to FIG. 3, the key code corresponding to the printer status transmitted from the endpoint EP2 is sent to Windows (registered trademark) via the
ここで、図8に、プリンタステータスと対応付けされたUSBキーコードの例および夫々のUSBキーコードに対応する実際のキーおよびWindows(登録商標)仮想キーコードの例を示す。図8のように、プリンタステータスの例として、用紙なし、ニアエンド、マーク未検出、カバーオープン、カッタ異常、ハードウェア異常、電源電圧異常、ヘッド温度異常などが挙げられ、夫々に対してUSBキーコード6Aから6F、70、71が割り当てられている。USBキーコード6Aから6F、70、71は、実際のキーではF15からF22に対応し、ユーザインタフェース23でWindows(登録商標)仮想キーコードに変換されると、例えばUSBキーコード6AはWindows(登録商標)仮想キーコード7E(VK_F15)となる。
Here, FIG. 8 shows an example of a USB key code associated with the printer status, an example of an actual key corresponding to each USB key code, and an example of a Windows (registered trademark) virtual key code. As shown in FIG. 8, examples of printer status include no paper, near end, mark not detected, cover open, cutter error, hardware error, power supply voltage error, head temperature error, etc. 6A to 6F, 70 and 71 are assigned. The USB
なお、プリンタステータスと対応付けされたUSBキーコードとして6Aから6F、70、71を割り当てた理由は、USBキーコード6Aから6F、70、71に対応する実際のキーF15からF22は一般的には使用されないキーであるためである。したがって、プリンタステータスとの対応付けに割り当てるUSBキーコードは、6Aから6F、70、71に限られる訳ではないが、通常使用されないキーに対応するUSBキーコードを割り当てる場合が好ましい。
The reason for assigning 6A to 6F, 70, 71 as the USB key codes associated with the printer status is that the actual keys F15 to F22 corresponding to the USB
図9(a)および図9(b)は、プリンタステータスを通知する際に、プリンタ40から送信されるパケットデータの例である。図9(a)は、用紙なしのプリンタステータスが発生した場合および解除された場合のパケットデータの例である。図9(b)は、カバーオープンと用紙なしのプリンタステータスが同時に発生した場合、カバーオープンのプリンタステータスが解除された場合、カバーオープンと用紙なしのプリンタステータスが解除された場合のパケットデータの例である。パケットデータ数は、エンドポイント2・ディスクリプタのEP_wMaxPacketSizeによって指定されたバイト数によって行われ(実施例1では8バイト)、プリンタステータスに対応したキーコードが第3バイト目から順に格納される。したがって、図9(a)の用紙なしのプリンタステータスが発生した場合では、用紙なしのキーコード0x6Aが第3バイト目に格納される。図9(b)のカバーオープンと用紙なしのプリンタステータスが発生した場合では、カバーオープンのキーコード0x6Dが第3バイト目に、用紙なしのキーコード0x6Aが第4バイト目に格納される。
FIGS. 9A and 9B are examples of packet data transmitted from the
図9(a)に示す用紙なし発生時のパケットデータがプリンタ40から送信され、ユーザインタフェース23にキーコードが通知されると、ユーザインタフェース23でキーコード0x6Aがキーボードイベントに変換され、最終的には、WM_KEYDOWNと仮想キーコード7E(VK_F15)とのキーボードイベントが印刷アプリケーション12に通知される。同様に、図9(b)に示すカバーオープンと用紙なし発生時のパケットデータの場合は、WM_KEYDOWNと仮想キーコード81(VK_F18)、7E(VK_F15)とのキーボードイベントが印刷アプリケーション12に通知される。
9A is transmitted from the
また、図9(a)のように、用紙なしのプリンタステータスが解除されると0x6Aがクリアされたパケットデータがプリンタ40から送信され、WM_KEYUPと仮想キーコード7E(VK_F15)とのキーボードイベントが印刷アプリケーション12に通知される。図9(b)のように、カバーオープンのプリンタステータスのみが解除された場合は、0x6Dがクリアされ、0x6Aが第3バイト目に格納されたパケットデータが送信され、WM_KEYUPと仮想キーコード81(VK_F18)とが印刷アプリケーション12に通知される。その後に、用紙なしのプリンタステータスが解除された場合は、0x6Aがクリアされたパケットデータが送信され、WM_KEYUPと仮想キーコード7E(VK_F15)とのキーボードイベントが印刷アプリケーション12に通知される。
Also, as shown in FIG. 9A, when the printer status without paper is released, packet data with 0x6A cleared is transmitted from the
次に、キーボードイベントが通知された場合に、印刷アプリケーション12で行なわれるプリンタステータスの判定処理について説明する。図10は、印刷アプリケーション12でのプリンタステータス判定処理を説明するフローチャートの例である。図10のように、印刷アプリケーション12は、ウィンドウメッセージを受信すると(ステップS30)、ウィンドウメッセージがWM_KEYDOWNであるかどうか判断する(ステップS32)。WM_KEYDOWNである場合(Yesの場合)は、印刷アプリケーション12は、仮想キーコードが7E(VK_F15)から85(VK_F22)のいずれかであるかを判断する(ステップS34)。ステップS34でYesの場合は、印刷アプリケーション12は、仮想キーコードに対応したプリンタステータスを発生させる(ステップS36)。ステップS34でNoの場合は、印刷アプリケーション12は、ウィンドウメッセージに従った処理を実行する(ステップS38)。
Next, a printer status determination process performed by the
ステップS32でNoの場合、印刷アプリケーション12は、ウィンドウメッセージがWM_KEYUPであるかどうかを判断する(ステップS40)。WM_KEYUPである場合(Yesの場合)は、印刷アプリケーション12は、仮想キーコードが7E(VK_F15)から85(VK_F22)のいずれかであるかを判断する(ステップS42)。ステップS42でYesの場合は、印刷アプリケーション12は、仮想キーコードに対応したプリンタステータスを解除する(ステップS44)。
If No in step S32, the
ステップS42でNoの場合およびステップS40でNoの場合は、印刷アプリケーション12は、ウィンドウメッセージに従った処理を実行する(ステップS38)。
In the case of No in step S42 and in the case of No in step S40, the
以上説明してきたように、実施例1によれば、プリンタ40は、複数のエンドポイントEP0からEPxのうちの1つのエンドポイントEP2をHIDクラスの通信に使用し、プリンタステータスに対応したキーコードをインタラプト転送する。これにより、コンピュータ10は、Windows(登録商標)に標準装備のHIDドライバ25とユーザインタフェース23とを用いることで、インタラプト転送により一定周期で送信されてきたキーコードをキーボードイベントに変換でき、プリンタステータスをキーボードイベントとして印刷アプリケーション12に通知できる。このため、複雑な処理を行うデバイスドライバやソフトウェアを使用することなく、Windows(登録商標)に標準装備のHDIドライバ25とユーザインタフェース23とにより、プリンタステータスに関するデータを容易に印刷アプリケーション12に通知できる。
As described above, according to the first embodiment, the
プリンタ40は、コンピュータ10からのプリンタコマンドやベンダリクエストなどの指示に基づき、記憶部48に記憶されたプリンタステータスと対応付けされたキーコードを変更できる場合が好ましい。これにより、例えばユーザ毎の使用状況に応じて通常使用していないキーコードをプリンタステータスに対応したキーコードとして使用することができる。また、プリンタステータスと対応付けされたキーコードの変更は、印刷アプリケーションでのプリンタステータス判定処理との整合を取りつつ変更する場合が好ましい。
It is preferable that the
実施例1において、HIDクラスの通信に使用するエンドポイントEP2からインタラプト転送されるキーコードは、プリンタステータスに対応したキーコードである場合を例に示したがこれに限られるわけではない。プリンタ40からコンピュータ10に送信されるデータであれば、プリンタステータス以外の事項に対応したキーコードである場合でもよい。また、エンドポイントEP1とエンドポイントEP2とを、実施例1とは反対の方法で使用する場合でもよい。即ち、エンドポイントEP1を、プリンタステータスに対応したキーコードをインタラプト転送で送信するエンドポイントに使用し、エンドポイントEP2を、バルク転送で送信された印刷データを受信するエンドポイントに使用してもよい。また、プリンタステータスに対応したキーコードをインタラプト転送で送信するエンドポイントを2つ以上設けた場合でもよい。即ち、複数のエンドポイントのうちの少なくとも1つのエンドポイントをHIDクラスの通信に使用し、プリンタステータスに対応したキーコードをインタラプト転送する場合であればよい。
In the first embodiment, the key code interrupt-transferred from the end point EP2 used for HID class communication is a key code corresponding to the printer status. However, the present invention is not limited to this. As long as the data is transmitted from the
また、実施例1では、コンピュータ10はWindows(登録商標)オペレーティングシステムを備えている場合を例に示したが、プリンタ40から送信されたキーコードをキーボードイベントに変換して印刷アプリケーション12に通知する機能を有すれば、その他のオペレーティングシステムを備えている場合でもよい。また、プリンタ40から送信されるプリンタステータスに対応したキーコードはUSBキーコードの場合を例に示したが、割り当てられたキーの識別が可能なキーコードであればUSBキーコード以外のキーコードである場合でもよい。
In the first embodiment, the
実施例1に係るプリンタシステム100では、プリンタステータスに対応したキーコードに基づいてユーザインタフェース23でキーボードイベントを発生させ、キーボードイベントとして印刷アプリケーション12に通知している。このため、キーボードイベントはアクティブなアプリケーションにのみ通知されることになる。そこで、実施例2では、アクティブでないアプリケーションなど、任意のアプリケーションにプリンタステータスに関するデータを通知することが可能な例を説明する。
In the
図11は、実施例2に係るプリンタシステムの全体構成を示すブロック図の例である。図11のように、実施例2に係るプリンタシステム200は、プリンタ40とUSBインタフェースケーブル52で接続するコンピュータ60が、例えばハードディスクである記憶部62を有している点で、実施例1に係るプリンタシステム100と異なる。記憶部62は例えばレジストリであり、記憶部62には、キーコードと対応付けされたウィンドウメッセージ、およびウィンドウメッセージを通知する通知先のアプリケーションのウィンドウ情報(ウィンドウ名とウィンドウクラス名)またはウィンドウハンドルが記憶されている。その他の構成については実施例1と同じであり、図2に示しているため、ここでは説明を省略する。
FIG. 11 is an example of a block diagram illustrating the overall configuration of the printer system according to the second embodiment. As shown in FIG. 11, the
図12は、実施例2に係るプリンタシステムの機能ブロック図の例である。図12のように、コンピュータ60は、図3で示したコンピュータ10の機能ブロックに、第1アプリケーション64、第2アプリケーション66、および常駐アプリケーション68を加えた構成をしている。第1アプリケーション64および第2アプリケーション66は、印刷アプリケーション12以外の他の印刷アプリケーションやプリンタ40を監視する専用のアプリケーションである。
FIG. 12 is an example of a functional block diagram of the printer system according to the second embodiment. As shown in FIG. 12, the
Windows(登録商標)オペレーティングシステムには、SetWindows(登録商標)HookEx()のWin32API関数が用意されており、第1引数にWH_KEYBOARD(0x00000002)を指定することにより、プリンタ40から送信されたキーコードをフックし、キーボードイベントが発生する前にキーコードを取得することができる。そこで、常駐アプリケーション68では、SetWindows(登録商標)HookExによるキーコードフックを行い、プリンタ40から送信されたキーコードがキーボードイベントとしてアクティブなアプリケーションに通知される前にキーコードを取得する。そして、記憶部62に記憶されたキーコードと対応付けされたウィンドウメッセージに基づき、取得したキーコードをウィンドウメッセージに変換した後、ウィンドウメッセージを記憶部62に記憶された通知先のアプリケーション(例えば、印刷アプリケーション12、第1アプリケーション64、および第2アプリケーション66の中のいずれか1つのアプリケーションまたは選択した複数のアプリケーション)にPostMessage()で送信する。その他の構成については実施例1と同じであり、図3で示しているため、ここでは説明を省略する。
The Windows (registered trademark) operating system has a Win32 API function of SetWindows (registered trademark) HookEx (). By specifying WH_KEYBOARD (0x00000002) as the first argument, the key code transmitted from the
次に、図13のフローチャートを用いて、プリンタ40からプリンタステータスに対応したキーコードが送信された場合に、常駐アプリケーション68で行われる制御処理を説明する。図13のように、常駐アプリケーション68は、まず起動後に、記憶部62から通知先のアプリケーションのウィンドウ情報またはウィンドウハンドルを取得する(ステップS50)。続いて、常駐アプリケーション68は、記憶部62からキーコードと対応付けされたウィンドウメッセージを取得する(ステップS52)。実施例2では、プリンタステータスに対応したキーコードがWM_KEYDOWN/WM_KEYUPのウィンドウメッセージに変換される場合を例に説明する。即ち、実施例1と同様に、プリンタステータスに対応したキーコードがキーボードイベントに変換される場合を例に説明する。
Next, a control process performed by the resident application 68 when a key code corresponding to the printer status is transmitted from the
次いで、常駐アプリケーション68は、キーコードフックルーチンを登録する(ステップS54)。これは、前述したように、SetWindows(登録商標)HookEx()の第1引数にWH_KEYBOARD(0x00000002)が指定されることで行われる。キーコードフックルーチンを登録することで、常駐アプリケーション68は、キーコードがキーボードイベントとしてアクティブなアプリケーションに通知される前にキーコードを取得できる。即ち、例えばプリンタ40からプリンタステータスに対応したキーコードが送信された場合、常駐アプリケーション68は、ユーザインタフェース23でキーボードイベントが発生する前にプリンタステータスに対応したキーコードを取得する(ステップS56)。
Next, the resident application 68 registers a key code hook routine (step S54). As described above, this is performed by specifying WH_KEYBOARD (0x00000002) as the first argument of SetWindows (registered trademark) HookEx (). By registering the key code hook routine, the resident application 68 can obtain the key code before the key code is notified to the active application as a keyboard event. That is, for example, when the key code corresponding to the printer status is transmitted from the
次いで、常駐アプリケーション68は、ステップS52で取得したキーコードと対応付けされたウィンドウメッセージに基づき、ステップS56で取得したキーコードをウィンドウメッセージに変換する(ステップS58)。実施例2では、プリンタステータスに対応したキーコードをWM_KEYDOWN/WM_KEYUPのウィンドウメッセージと仮想キーコードに変換する。 Next, the resident application 68 converts the key code acquired in step S56 into a window message based on the window message associated with the key code acquired in step S52 (step S58). In the second embodiment, the key code corresponding to the printer status is converted into a WM_KEYDOWN / WM_KEYUP window message and a virtual key code.
次いで、常駐アプリケーション68は、ウィンドウメッセージがWM_DESTROYであるかどうかを判断し(ステップS60)、WM_DESTROYではないと判断した場合(Noの場合)、各ウィンドウメッセージの処理を行う(ステップS62)。ステップS62では、WM_KEYDOWN/WM_KEYUP以外のウィンドウメッセージの処理を行う。また、ステップS60でウィンドウメッセージがWM_DESTROYであると判断された場合(Yesの場合)、常駐アプリケーション68は、UnhookWindows(登録商標)HookEx()により、キーコードフックルーチンを抹消する(ステップS64)。 Next, the resident application 68 determines whether the window message is WM_DESTROY (step S60). If it is determined that the window message is not WM_DESTROY (in the case of No), each window message is processed (step S62). In step S62, window messages other than WM_KEYDOWN / WM_KEYUP are processed. When it is determined in step S60 that the window message is WM_DESTROY (in the case of Yes), the resident application 68 deletes the key code hook routine by using UnoWindows (registered trademark) HookEx () (step S64).
ここで、図14のフローチャートを用い、常駐アプリケーション68内のキーコードフックルーチンの処理について詳しく説明する。図14のように、常駐アプリケーション68は、キーコードと共に受信するキーON/OFF情報からキーダウンであるかどうかを判断する(ステップS70)。キーダウンであると判断した場合(Yesの場合)、常駐アプリケーション68は、仮想キーコードが7E(VK_F15)から85(VK_F22)であるかどうかを判断する(ステップS72)。ステップS72でYesの場合、常駐アプリケーション68は、ステップS50で取得した通知先のアプリケーションのウィンドウを検索し(ステップS74)、ウィンドウがある場合(ステップS76でYesの場合)は、通知先のアプリケーションにキーボードイベントを通知して、当該ウィンドウにプリンタステータスを発生させる(ステップS78)。 Here, the processing of the key code hook routine in the resident application 68 will be described in detail using the flowchart of FIG. As shown in FIG. 14, the resident application 68 determines whether or not the key is down from the key ON / OFF information received together with the key code (step S70). If it is determined that the key is down (in the case of Yes), the resident application 68 determines whether the virtual key code is 7E (VK_F15) to 85 (VK_F22) (step S72). In the case of Yes in step S72, the resident application 68 searches for the window of the notification destination application acquired in step S50 (step S74). If there is a window (in the case of Yes in step S76), the resident application 68 sets the notification destination application. A keyboard event is notified and a printer status is generated in the window (step S78).
ステップS70でNoの場合、常駐アプリケーション68は、キーアップであるかどうかを判断する(ステップS80)。キーアップであると判断した場合(Yesの場合)、常駐アプリケーション68は、仮想キーコードが7E(VK_F15)から85(VK_F22)であるかどうかを判断する(ステップS82)。ステップS82でYesの場合、常駐アプリケーション68は、ステップS50で取得した通知先のアプリケーションのウィンドウを検索し(ステップS84)、ウィンドウがある場合(ステップS86でYesの場合)は、通知先のアプリケーションにキーボードイベントを通知して、当該ウィンドウのプリンタステータスを解除する(ステップS88)。 In the case of No in step S70, the resident application 68 determines whether or not the key is up (step S80). When it is determined that the key is up (in the case of Yes), the resident application 68 determines whether the virtual key code is 7E (VK_F15) to 85 (VK_F22) (step S82). In the case of Yes in step S82, the resident application 68 searches for the window of the notification destination application acquired in step S50 (step S84). If there is a window (in the case of Yes in step S86), the resident application 68 sets the notification destination application. A keyboard event is notified, and the printer status of the window is canceled (step S88).
ステップS80でNoの場合、または、ステップS78およびステップS88を実行した後、常駐アプリケーション68は、CallNextHookEx()により別のアプリケーション等が登録しているキーコードフックルーチンに処理を渡す(ステップS90)。 In the case of No in step S80, or after executing step S78 and step S88, the resident application 68 passes the processing to the key code hook routine registered by another application or the like by CallNextHookEx () (step S90).
次に、図15のフローチャートを用いて、常駐アプリケーション68により記憶部62に記憶された内容を変更する処理について説明する。図15のように、常駐アプリケーション68は、ユーザから入力された命令が、記憶部62に記憶された通知先のアプリケーションを変更するものであるかどうかを判断する(ステップS100)。通知先のアプリケーションを変更するものである場合(Yesの場合)、常駐アプリケーション68は、記憶部62に記憶された通知先のアプリケーションを、ユーザから入力された命令に基づき変更する(ステップS102)。 Next, processing for changing the contents stored in the storage unit 62 by the resident application 68 will be described using the flowchart of FIG. As shown in FIG. 15, the resident application 68 determines whether or not the command input from the user is to change the notification destination application stored in the storage unit 62 (step S100). When the notification destination application is to be changed (in the case of Yes), the resident application 68 changes the notification destination application stored in the storage unit 62 based on a command input by the user (step S102).
次いで、常駐アプリケーション68は、ユーザから入力された命令が、記憶部62に記憶されたキーコードと対応付けされたウィンドウメッセージを変更するものであるかどうかを判断する(ステップS104)。ウィンドウメッセージを変更するものである場合(Yesの場合)、常駐アプリケーション68は、記憶部62に記憶されたキーコードと対応付けされたウィンドウメッセージを、ユーザから入力された命令に基づき変更する(ステップS106)。 Next, the resident application 68 determines whether or not the command input from the user is to change the window message associated with the key code stored in the storage unit 62 (step S104). When the window message is to be changed (in the case of Yes), the resident application 68 changes the window message associated with the key code stored in the storage unit 62 based on a command input from the user (step). S106).
以上説明してきたように、実施例2によれば、常駐アプリケーション68は、プリンタステータスに対応したキーコードがキーボードイベントとしてアクティブなアプリケーションに通知される前に、プリンタステータスに対応したキーコードを取得する。そして、常駐アプリケーション68は、記憶部62に記憶されたキーコードと対応付けされたウィンドウメッセージに基づき、取得したキーコードをウィンドウメッセージに変換し、変換したウィンドウメッセージを記憶部62に記憶された通知先のアプリケーションに通知する。このような制御により、プリンタステータスに関するデータを、アクティブなアプリケーションだけではなく、任意のアプリケーションに通知することができる。 As described above, according to the second embodiment, the resident application 68 acquires the key code corresponding to the printer status before the key code corresponding to the printer status is notified to the active application as a keyboard event. . The resident application 68 converts the acquired key code into a window message based on the window message associated with the key code stored in the storage unit 62, and the notification stored in the storage unit 62 of the converted window message. Notify the destination application. By such control, data relating to the printer status can be notified not only to an active application but also to an arbitrary application.
実施例2において、常駐アプリケーション68は、プリンタステータスに対応したキーコードをキーボードイベント(WM_KEYDOWN/WM_KEYUPのウィンドウメッセージと仮想キーコード)に変換する場合を例に示したがこれに限られる訳ではない。常駐アプリケーション68は、記憶部62に記憶されたキーコードと対応付けされたウィンドウメッセージに基づき、任意のウィンドウメッセージに変換する場合でもよい。 In the second embodiment, the case where the resident application 68 converts the key code corresponding to the printer status into a keyboard event (WM_KEYDOWN / WM_KEYUP window message and virtual key code) is described as an example, but the present invention is not limited thereto. The resident application 68 may be converted into an arbitrary window message based on the window message associated with the key code stored in the storage unit 62.
また、ウィンドウメッセージは、1つのアプリケーションに通知するようにしてもよいし、複数のアプリケーションに同時に通知するようにしてもよい。即ち、記憶部62には、通知先のアプリケーションとして、1つのアプリケーションが記憶されている場合でも、複数のアプリケーションが記憶されている場合でもよい。また、記憶部62に複数のアプリケーションが記憶され、その中から、通知先のアプリケーションを選択できるようにしてもよい。 Further, the window message may be notified to one application, or may be simultaneously notified to a plurality of applications. That is, the storage unit 62 may store one application or a plurality of applications as notification destination applications. In addition, a plurality of applications may be stored in the storage unit 62, and a notification destination application may be selected from them.
図15で説明したように、常駐アプリケーション68は、記憶部62に記憶されたウィンドウメッセージの通知先のアプリケーションおよびキーコードと対応付けされたウィンドウメッセージを変更できる場合が好ましい。なお、通知先のアプリケーションの変更およびキーコードと対応付けされたウィンドウメッセージの変更は、常駐アプリケーション68が行う場合に限らず、例えば印刷アプリケーション12、第1アプリケーション64、第2アプリケーション66が行う場合でもよい。
As described with reference to FIG. 15, it is preferable that the resident application 68 can change the window message associated with the window message notification destination application and key code stored in the storage unit 62. Note that the change of the notification destination application and the change of the window message associated with the key code are not limited to being performed by the resident application 68, but may be performed by, for example, the
実施例2では、コンピュータ10は、Windows(登録商標)オペレーティングシステムを備えている場合を例に説明したが、プリンタ40から送信されたキーコードをキーボードイベント発生前に取得するキーコードフックが可能であれば、その他のオペレーティングシステムを備えている場合でもよい。また、実施例2では、プリンタ40からのキーコードを取得する方法としてキーコードフックを用いているが、キーボードイベント発生前にキーコードの取得が可能であればその他の方法を用いてもよい。
In the second embodiment, the case where the
なお、本発明は、上述した実施例に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。 In addition, this invention is not limited to the Example mentioned above, In the range which does not deviate from the summary, it can change and implement variously.
10 コンピュータ
12 印刷アプリケーション
14 GDI
16 プリンタドライバ
18 スプーラ
20 言語モニタ
22 ポートモニタ
23 ユーザインタフェース
24 USBバルクドライバ
25 HIDドライバ
26 USBドライバスタック
28 USBホストコントローラ
30 CPU
32 メモリ
34 I/F
40 プリンタ
42 CPU
44 メモリ
46 I/F
48 記憶部
50 プリント部
52 USBインタフェースケーブル
60 コンピュータ
62 記憶部
64 第1アプリケーション
66 第2アプリケーション
68 常駐アプリケーション
100 プリンタシステム
200 プリンタシステム
EP0からEPx エンドポイント
10
16
32 memory 34 I / F
40
44 Memory 46 I / F
48
Claims (10)
前記複数のエンドポイントのうちHIDクラスの通信に使用する少なくとも1つのエンドポイントからキーコードを前記コンピュータにインタラプト転送する制御部と、を備えることを特徴とするプリンタ。 Multiple endpoints used to communicate with the computer;
And a control unit that interrupt-transfers a key code from at least one of the plurality of endpoints used for HID class communication to the computer.
前記制御部は、前記記憶部に記憶された前記キーコードを前記コンピュータにインタラプト転送すると共に、前記コンピュータからの指示に基づき、前記記憶部に記憶された前記キーコードを変更することを特徴とする請求項1または2記載のプリンタ。 A storage unit for storing the key code;
The control unit interrupt-transfers the key code stored in the storage unit to the computer, and changes the key code stored in the storage unit based on an instruction from the computer. The printer according to claim 1 or 2.
前記1つのエンドポイントからインタラプト転送される前記キーコードがキーボードイベントとしてアクティブなアプリケーションに通知される前に前記キーコードを取得する取得手段、
前記取得手段で取得した前記キーコードを、記憶部に記憶された前記キーコードに対応したウィンドウメッセージに変換する変換手段、
前記変換手段で変換した前記ウィンドウメッセージを、前記記憶部に通知先として記憶されたアプリケーションに通知する通知手段、として機能させることを特徴とするプログラム。 A computer connected to a printer having a plurality of endpoints and having a key code interrupted from at least one of the plurality of endpoints used for HID class communication;
An acquisition means for acquiring the key code before the active application is notified as a keyboard event of the key code interrupt-transferred from the one endpoint;
Conversion means for converting the key code acquired by the acquisition means into a window message corresponding to the key code stored in a storage unit;
A program which causes the window message converted by the conversion means to function as notification means for notifying an application stored as a notification destination in the storage unit.
前記コンピュータとの通信に使用される複数のエンドポイントのうちHIDクラスの通信に使用する少なくとも1つのエンドポイントからプリンタステータスに対応したキーコードを前記コンピュータにインタラプト転送するプリンタと、を備えることを特徴とするプリンタシステム。 A computer,
A printer that interrupt-transfers to the computer a key code corresponding to a printer status from at least one endpoint used for HID class communication among a plurality of endpoints used for communication with the computer. Printer system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011078890A JP2012213859A (en) | 2011-03-31 | 2011-03-31 | Printer, program, and printer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011078890A JP2012213859A (en) | 2011-03-31 | 2011-03-31 | Printer, program, and printer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012213859A true JP2012213859A (en) | 2012-11-08 |
Family
ID=47267172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011078890A Pending JP2012213859A (en) | 2011-03-31 | 2011-03-31 | Printer, program, and printer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012213859A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016167312A (en) * | 2016-06-06 | 2016-09-15 | キヤノン株式会社 | Information processing apparatus, method and program |
JP2019525591A (en) * | 2016-07-29 | 2019-09-05 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | Method and system implemented by blockchain |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003018427A (en) * | 2001-07-05 | 2003-01-17 | Toshiba Corp | Electronic equipment and its control method |
JP2004139386A (en) * | 2002-10-18 | 2004-05-13 | Canon Inc | Control method of print system |
-
2011
- 2011-03-31 JP JP2011078890A patent/JP2012213859A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003018427A (en) * | 2001-07-05 | 2003-01-17 | Toshiba Corp | Electronic equipment and its control method |
JP2004139386A (en) * | 2002-10-18 | 2004-05-13 | Canon Inc | Control method of print system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016167312A (en) * | 2016-06-06 | 2016-09-15 | キヤノン株式会社 | Information processing apparatus, method and program |
JP2019525591A (en) * | 2016-07-29 | 2019-09-05 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | Method and system implemented by blockchain |
JP7203009B2 (en) | 2016-07-29 | 2023-01-12 | エヌチェーン ライセンシング アーゲー | Methods and systems implemented by blockchain |
JP7454035B2 (en) | 2016-07-29 | 2024-03-21 | エヌチェーン ライセンシング アーゲー | Methods and systems implemented by blockchain |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752029B2 (en) | Method to change USB device descriptors from host to emulate a new device | |
JP4837659B2 (en) | Bus controller for processing split transactions | |
US8898349B1 (en) | IPMI over USB data transfer between host computer and baseboard management controller (BMC) | |
TW439043B (en) | Utility, method and device for handling a first set of higher-priority functions and a second set of lower-priority functions | |
US8665474B2 (en) | Method, system, apparatus and medium for minimizing unnecessary processing associated with connection/disconnection of a same host | |
JP6140937B2 (en) | Network device, program, system and method | |
US11204852B2 (en) | Information processing apparatus, method of controlling the same, information processing system and storage medium | |
JP2001256170A (en) | Peripheral device and printer | |
TWI413915B (en) | Ps/2 to usb keyboard adaptor supporting n-key rollover | |
WO2010077813A2 (en) | Composite device emulation | |
JP2012213859A (en) | Printer, program, and printer system | |
JP2009259094A (en) | Information processor, status monitoring program, image forming device driver and program set | |
WO2018003841A1 (en) | Serial communication method and sensor controller | |
JP2002229967A (en) | Computer system, cpu/memory-mounted device and input- output device | |
US7506082B2 (en) | Data transferring system using USB and method thereof | |
JP2001184296A (en) | Usb communication interface, computer, hub, electronic equipment, and function switching method in the electronic equipment | |
JP6216909B1 (en) | Serial communication method and sensor controller | |
KR20070024600A (en) | Bus controller for transferring data | |
KR101374801B1 (en) | Usb keyboard apparatus and method capable of supporting n-key rollover with bios compatibility | |
JPH11161591A (en) | Data communication equipment, data communication method, storage medium and device driver | |
JP3754930B2 (en) | Printer and printer system | |
JP6531446B2 (en) | UPS management apparatus and method using HID_USB communication | |
KR101340892B1 (en) | Usb keyboard apparatus and method capable of supporting n-key rollover over 62 keys | |
JP2001199132A (en) | Method for detecting state of printer having usb interface and printing system using the method | |
JP2018195209A (en) | Device control device, device control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141014 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141015 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150224 |