Разве USB-клавиатуры только посылают сигналы или получают ли они их слишком?

Оглавление:

Разве USB-клавиатуры только посылают сигналы или получают ли они их слишком?
Разве USB-клавиатуры только посылают сигналы или получают ли они их слишком?

Видео: Разве USB-клавиатуры только посылают сигналы или получают ли они их слишком?

Видео: Разве USB-клавиатуры только посылают сигналы или получают ли они их слишком?
Видео: Linux для начинающих | Терминал Linux | Основные команды - YouTube 2024, Апрель
Anonim
Большинство из нас никогда не задумываются над нашими клавиатурами, пока они работают хорошо, но если вы перестанете думать об этом на мгновение, они только посылают сигналы на наши компьютеры или там работает активный back-and-forth процесс на работе ? Сегодняшний вопрос о Q & A SuperUser имеет ответ на вопрос любопытного читателя.
Большинство из нас никогда не задумываются над нашими клавиатурами, пока они работают хорошо, но если вы перестанете думать об этом на мгновение, они только посылают сигналы на наши компьютеры или там работает активный back-and-forth процесс на работе ? Сегодняшний вопрос о Q & A SuperUser имеет ответ на вопрос любопытного читателя.

Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser - подразделению Stack Exchange, основанной на сообществах сайтам Q & A.

Вопрос

Считыватель SuperUser Ne Mo хочет знать, только ли USB-клавиатуры посылают только сигналы или если они их получают:

A USB keyboard does not need to receive any signals from a computer, just power, right? Or does it need to receive signals as well as send them?

Клавиатуры USB только посылают сигналы или получают их тоже?

Ответ

У нас есть ответ для авторов SuperUser LawrenceC и Дмитрия Григорьева. Сначала, LawrenceC:

From the “Device Class Definition for Human Interface Devices (HID)” specification:

To change the keyboard LEDs, the keyboard accepts a command to do so. So it is not an “input-only” device (meaning it only outputs data to the host). That being said, there is a negotiation and enumeration process with all USB devices that require a back-and-forth conversation between the host and the device. You cannot have a “read-only” USB device. Even before USB, the computer’s keyboard controller would accept commands because it did a few things besides read the keyboard (reference):
To change the keyboard LEDs, the keyboard accepts a command to do so. So it is not an “input-only” device (meaning it only outputs data to the host). That being said, there is a negotiation and enumeration process with all USB devices that require a back-and-forth conversation between the host and the device. You cannot have a “read-only” USB device. Even before USB, the computer’s keyboard controller would accept commands because it did a few things besides read the keyboard (reference):
Image
Image

Вслед за ответом Дмитрия Григорьева:

Any USB device regardless of its class requires bidirectional communication to function. Every USB device (or function in terms of USB specifications) is represented as a set of endpoints which can be thought of as buffers which accept or receive data. However, even endpoints which can only send data wait for a special packet called a token before they can reply:

The gray boxes represent the USB host while the white boxes represent USB functions (chart source).
The gray boxes represent the USB host while the white boxes represent USB functions (chart source).

Even so-called interrupt transfers are done in this way, with the USB host polling connected devices using token packets. What differs between regular (bulk) transfers and interrupt transfers is that the polling time is small and guaranteed in the latter case. Still, all transfers are initiated by the host.

Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других пользователей Windows? Посмотрите здесь полную дискуссионную тему.

Image Credit: Люк Джонс (Flickr)

Рекомендуемые: