МикроЭВМ в клаве всё-равно обрабатывает нажатия клавиш последовательно. Какая из клавиш будет обработана первой - уже вопрос архитектуры микроэвм-ки и погоды на Марсе. Но клавиатура даст компу два последовательных нажатия.
Хм, а не сделает ли она прерывание после начала обработки сигнала от первой клавиши? Попробуйте нажать 4,5,6 клавиш одновременно. Вам же не 6 символов выдаст.
Миллисекунда - на самом деле огромное время для электроники. Если же сигналы действительно придут одновременно - будет сначала выбрана та, которая раньше просканируется в клавиатуре (если в последние годы ничего не поменялось, то там внутри идет последовательный опрос состояния клавиш).
Причем, сканирование осуществляет такая смешная микросхемка, которая "живет" на плате в клавиатуре. Так что две кнопки по любому не выйдет. Контроллер все равно выберет только одну из них. Если, конечно же, это не клавиши-модификаторы типа Shift, Alt и Control. Когда мы нажимаем, например, Ctrl+Alt+Del - мы вообще нажимаем три кнопки одновременно и ничего :-)
А это уже от обработчика (текстового редактора) должно зависеть. Если я бегу вперед, влево, прыгаю, выбираю другое оружие и бросаю гранату, то ни одна сволочь не помешает мне ещё и присесть.
Прерывание таки произойдёт, да. На основной машине. И второе произойдёт после обработки первого - с выдачей сканкода второй нажатой клавиши. Прерывание на микроконтроллере в клавиатуре формально необязательно. На XT к примеру оно вообще не требуется - достаточно просто замкнутый цикл гонять. На AT уже требуется прерывание на сигналы по последовательному порту - с компа могут прийти управляющие команды. Четыре и больше клавиш - пример не показательный, извините. Требования к клавиатурным контроллерам - обеспечивать чёткую обработку двух одновременно нажатых клавиш. Уже то, что клавиатура коректно обрабатывает одновременно зажатые 5-6 (даже не одновременно нажатые) - бонус от производителя клавиатуры. Но 2 обрабатывать просто необходимо, потому как иначе никакой геймер такую клаву не купит.
no subject
no subject
no subject
Попробуйте нажать 4,5,6 клавиш одновременно. Вам же не 6 символов выдаст.
no subject
no subject
no subject
Если же сигналы действительно придут одновременно - будет сначала выбрана та, которая раньше просканируется в клавиатуре (если в последние годы ничего не поменялось, то там внутри идет последовательный опрос состояния клавиш).
no subject
Причем, сканирование осуществляет такая смешная микросхемка, которая "живет" на плате в клавиатуре. Так что две кнопки по любому не выйдет. Контроллер все равно выберет только одну из них. Если, конечно же, это не клавиши-модификаторы типа Shift, Alt и Control. Когда мы нажимаем, например, Ctrl+Alt+Del - мы вообще нажимаем три кнопки одновременно и ничего :-)
no subject
В таком случае, обработается та, которая была нажата на несколько микросекунд раньше. :)))
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Прерывание на микроконтроллере в клавиатуре формально необязательно. На XT к примеру оно вообще не требуется - достаточно просто замкнутый цикл гонять. На AT уже требуется прерывание на сигналы по последовательному порту - с компа могут прийти управляющие команды.
Четыре и больше клавиш - пример не показательный, извините. Требования к клавиатурным контроллерам - обеспечивать чёткую обработку двух одновременно нажатых клавиш. Уже то, что клавиатура коректно обрабатывает одновременно зажатые 5-6 (даже не одновременно нажатые) - бонус от производителя клавиатуры. Но 2 обрабатывать просто необходимо, потому как иначе никакой геймер такую клаву не купит.
no subject
Кстати, по идее, ещё должно исправно распознаваться нажатие Ctrl+Alt+Del. :) И прочие Ctrl+Alt+...
no subject