USBキーボードは信号を送信するだけなのか、それとも受信しすぎるのか?
私たちのほとんどはうまく機能する限り私たちのキーボードをあまり考えていませんが、しばらく考えてみるのをやめたとしても、彼らは私たちのコンピュータに信号を送るだけなのでしょうか。 ?本日のSuperUser Q&A投稿には、興味をそそられる読者の質問に対する答えがあります。.
本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。.
質問
SuperUserの読者Ne Moは、USBキーボードが信号を送信するだけなのか、それともそれらも受信するのかを知りたがっている。
USBキーボードはコンピュータから信号を受け取る必要はなく、電源だけでいいのですか?それとも、それを送信するだけでなく、信号を受信する必要がありますか?
USBキーボードは信号を送信するだけなのか、それともそれらも受信するのか。?
答え
SuperUserの貢献者LawrenceCとDmitry Grigoryevが私たちに答えを持っています。最初に、LawrenceC:
「ヒューマンインターフェイスデバイス(HID)のデバイスクラス定義」仕様から:
キーボードのLEDを変更するには、キーボードは変更するコマンドを受け入れます。そのため、これは「入力専用」デバイスではありません(つまり、ホストにデータを出力するだけです)。そうは言っても、ホストとデバイスの間で双方向の会話が必要なすべてのUSBデバイスとのネゴシエーションおよび列挙プロセスがあります。 「読み取り専用」のUSBデバイスは使えません。 USBの前でさえも、コンピュータのキーボードコントローラはコマンドを受け付けるでしょう。なぜならそれはキーボードを読むこと以外にいくつかのことをしたからです(参考文献):
Dmitry Grigoryevからの回答が続きます。
クラスに関係なくすべてのUSBデバイスが機能するには双方向通信が必要です。すべてのUSBデバイス(またはUSB仕様では機能)は、データを送受信するバッファと見なすことができる一連のエンドポイントとして表されます。ただし、データしか送信できないエンドポイントでも、トークンと呼ばれる特別なパケットを待ってから返信できます。
灰色のボックスはUSBホストを表し、白いボックスはUSB機能を表します(チャートソース).
USBホストがトークンパケットを使用して接続されたデバイスをポーリングすることで、いわゆる割り込み転送もこの方法で行われます。通常の(バルク)転送と割り込み転送の違いは、ポーリング時間が短く、後者の場合は保証されることです。それでも、すべての転送はホストによって開始されます。.
説明に追加するものがありますか?コメントで音を消す。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.
画像クレジット:Luke Jones(Flickr)