23Aug

Est-ce que les claviers USB envoient seulement des signaux ou les reçoivent-ils aussi?

La plupart d'entre nous n'accordons jamais beaucoup d'importance à nos claviers tant qu'ils fonctionnent bien, mais si vous arrêtez d'y réfléchir un instant, ne font-ils qu'injecter des signaux à nos ordinateurs ou y a-t-il un processus de va-et-vient actif?travail? Le SuperUser Q & A d'aujourd'hui a la réponse à la question d'un lecteur curieux.

Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.

La question Lecteur

SuperUser Ne Mo veut savoir si les claviers USB envoient seulement des signaux ou s'ils les reçoivent aussi:

Un clavier USB n'a pas besoin de recevoir de signaux d'un ordinateur, juste de la puissance, non? Ou a-t-il besoin de recevoir des signaux et de les envoyer?

Est-ce que les claviers USB envoient seulement des signaux ou les reçoivent-ils aussi?

La réponse

SuperUser contributeurs LawrenceC et Dmitry Grigoryev ont la réponse pour nous. Tout d'abord, LawrenceC:

A partir de la spécification "Device Class Definition for Human Interface Devices( HID)":

Pour modifier les voyants du clavier, le clavier accepte une commande pour ce faire. Il ne s'agit donc pas d'un périphérique "en entrée uniquement"( ce qui signifie qu'il ne délivre que des données à l'hôte).Cela étant dit, il existe un processus de négociation et d'énumération avec tous les périphériques USB qui nécessitent une conversation entre l'hôte et le périphérique. Vous ne pouvez pas avoir un périphérique USB "en lecture seule".Même avant USB, le contrôleur de clavier de l'ordinateur accepterait des commandes car il a fait quelques choses en plus de lire le clavier( référence):

Suivi par la réponse de Dmitry Grigoryev:

Tout périphérique USB indépendamment de sa classe nécessite une communication bidirectionnelle pour fonctionner. Chaque périphérique USB( ou fonction en termes de spécifications USB) est représenté comme un ensemble de points d'extrémité qui peuvent être considérés comme des tampons qui acceptent ou reçoivent des données. Cependant, même les terminaux qui ne peuvent envoyer que des données attendent un paquet spécial appelé jeton avant de pouvoir répondre:

Les cases grises représentent l'hôte USB tandis que les cases blanches représentent les fonctions USB( source graphique).

Même les soi-disant transferts d'interruption sont effectués de cette manière, l'hôte USB interrogeant les périphériques connectés à l'aide de paquets de jetons. Ce qui diffère entre les transferts réguliers( en vrac) et les transferts d'interruption, c'est que le temps d'interrogation est petit et garanti dans ce dernier cas. Cependant, tous les transferts sont initiés par l'hôte.

Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.

Crédit d'image: Luke Jones( Flickr)