1

Я подключил к компьютеру две разные клавиатуры. (Оба используют порт USB для связи с компьютером.) Вопрос в том:

Почему, когда я нажимаю Caps-Lock или Num-Lock на одной клавиатуре, включается и выключается соответствующий индикатор (светодиод на клавиатуре) на другой !?

Как упомянуто в первом комментарии @Tetsujin, я думаю, что компьютер получает запрос от одной клавиатуры и отправляет ответ, транслируемый на все порты.Если так, то почему? Разве у каждого порта нет определенного адреса для отправки ответа только по этому адресу? Разве этот текущий механизм не увеличивает уязвимость? (Например аппаратный кейлоггер)

1 ответ1

5

Windows одновременно принимает только одну клавиатуру (без специального программного драйвера), поэтому взаимодействие с одной клавиатурой влияет на все клавиатуры. Несмотря на то, что вы можете подключить несколько клавиатур, и все они работают, все они обрабатываются через один и тот же интерфейс в ОС, и все обрабатываются одинаково.

Сами клавиатуры отправляют только коды клавиш в Windows, сообщая ей, какая клавиша нажата, все клавиатуры отправляют одинаковые коды клавиш (в целом), и ОС (Windows) должна решить, что с ними делать. Из-за этого ОС фактически контролирует состояние клавиш-модификаторов, таких как Caps и Num.

Поскольку все подключенные клавиатуры работают одинаково, ОС обновляет все клавиатуры, чтобы они находились в одинаковом состоянии при переключении Caps Lock (и т.д.), Независимо от того, какой ключ Caps Lock был использован.

Вы можете расширить эффект, включив экранную клавиатуру Windows. Вы заметите, что его визуальные нажатия клавиш отражают клавиши-модификаторы (Shift, Control, Alt, Caps Lock и т.д.), Которые вы нажимаете на своей физической клавиатуре (-ах).

Для дальнейшего чтения, возможно, проверьте эти другие вопросы SU:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .