Os teclados USB só enviam sinais ou eles também os recebem?
A maioria de nós nunca dá muita atenção aos nossos teclados enquanto eles funcionam bem, mas se você parar para pensar por um momento, eles só enviam sinais para nossos computadores ou há um processo ativo de ir e voltar no trabalho? ? O post de perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um curioso leitor.
A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
A questão
O leitor SuperUser Ne Mo quer saber se os teclados USB só enviam sinais ou se os recebem também:
Um teclado USB não precisa receber nenhum sinal de um computador, apenas energia, certo? Ou precisa receber sinais, bem como enviá-los?
Os teclados USB só enviam sinais ou eles também os recebem??
A resposta
Os contribuidores do SuperUser LawrenceC e Dmitry Grigoryev têm a resposta para nós. Primeiro, LawrenceC:
Na especificação “Device Class Definition for Human Interface Devices (HID)”:
Para alterar os LEDs do teclado, o teclado aceita um comando para isso. Portanto, não é um dispositivo “apenas de entrada” (significando que apenas envia dados para o host). Dito isto, há um processo de negociação e enumeração com todos os dispositivos USB que exigem uma conversa de ida e volta entre o host e o dispositivo. Você não pode ter um dispositivo USB “somente leitura”. Mesmo antes do USB, o controlador de teclado do computador aceitaria comandos porque fazia algumas coisas além de ler o teclado (referência):
Seguido pela resposta de Dmitry Grigoryev:
Qualquer dispositivo USB, independentemente de sua classe, requer comunicação bidirecional para funcionar. Cada dispositivo USB (ou função em termos de especificações USB) é representado como um conjunto de terminais que podem ser considerados como buffers que aceitam ou recebem dados. Entretanto, mesmo os terminais que podem enviar dados apenas aguardam por um pacote especial chamado token antes de poderem responder:
As caixas cinzas representam o host USB enquanto as caixas brancas representam as funções USB (origem da carta).
Mesmo as chamadas transferências de interrupção são feitas dessa maneira, com o host USB pesquisando dispositivos conectados usando pacotes de token. O que difere entre transferências regulares (a granel) e interrupção de transferências é que o tempo de votação é pequeno e garantido no último caso. Ainda assim, todas as transferências são iniciadas pelo host.
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.
Crédito de imagem: Luke Jones (Flickr)