Что происходит с момента, мы нажимаем клавишу на клавиатуре, пока это не появляется в Вашем [закрытом] документе слова

12
задан Matthew Flaschen 21 June 2010 в 09:22
поделиться

3 ответа

  • короткое замыкание механического переключателя подтягивает конец резистора R1 к земле
  • специальный мультиплексор преобразует его в сообщение, чтобы уменьшить количество проводов
  • сообщение, интерпретируемое ЦП встроенное в клавиатуру
  • сообщение, преобразованное в сообщение протокола USB и модулированное как последовательность электрических импульсов переменного напряжения от нуля до 5 вольт
  • Приемный USB-концентратор периодически измеряет образцы линейного напряжения
  • контроллер хост-концентратора преобразует сообщение к данным
  • данные поступают на ПК через контроллер шины USB, подключенный к шине PCIE, посредством комбинации уведомлений IRQ и передачи DMA, выдаваемых драйвером шины
  • Драйвер шины интерпретирует сообщение и пересылает его по стеку драйверов , в конечном счете, с драйвером HID
  • Драйвер HID общается с окнами, что в конечном итоге приводит к передаче оконного сообщения окну, принадлежащему процессу msword
  • . WM_KEYDOWN транслируется в WM_CHAR с помощью DefWindowProc (). Пока клавиша нажата, может быть создано несколько WM_CHAR.
  • Приложение Word улавливает WM_CHAR для добавления еще одного символа в модель документа и выполняет повторную визуализацию пользовательского интерфейса.
  • Механизм визуализации пользовательского интерфейса переводит кодовую точку Юникода в графическое изображение путем загрузки соответствующего шрифта.
  • графический движок вычисляет новое изображение всего область, чтобы избежать мерцания, и выводит ее попиксельно на экран
40
ответ дан 2 December 2019 в 03:06
поделиться

Эээ, если у вас есть старый старый старый бинарный компьютер: http://en.wikipedia.org/wiki/Punched_card

Тогда, в то время вы нажали клавишу, вы, наверное, могли бы заварить чашку чая!

1
ответ дан 2 December 2019 в 03:06
поделиться
  1. вы слышите щелчок;) [но не обязательно на этом этапе, может быть, на 10-м или 20-м]
  2. сигналы клавиатуры к контроллеру kb
  3. контроллер выдает прерывание для CPU
  4. ядро ​​ОС видит прерывание
  5. Ядро ОС отправляет прерывание соответствующему драйверу
  6. драйвер сообщает ЦП, чтобы он считал кодировку из контроллера kb
  7. ЦП делает
  8. драйвер каким-то образом сообщает ядру отправить событие 'KEY_DOWN' в подсистему пользовательского интерфейса
  9. Ядро отправляет событие
  10. Подсистема пользовательского интерфейса проверяет наличие активного окна
  11. , она отправляет событие пользовательского интерфейса KEY_DOWN активному окну

... эээ ... надоело :) поэтому, после этого она отправит ключ, обновит содержимое окна и вызовет видеодрайвер / подсистема для рисования этого символа

11
ответ дан 2 December 2019 в 03:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: