Принцип работы клавиатуры
Принцип работы клавиатуры разделен на несколько нижеописанных шагов, а именно
Когда нажимаешь кнопку, контроллер выдает скэн-ко
Скэн-код поступает в контроллер на материнской плате
Порт клавиатуры выдает прерывание (Interrupt 9)
Получив прерывание, процессор откладывает текущую работу и по номеру прерывания обращается в специальную область ОЗУ, в которой находится сектор прерывания
Определив адрес начала программы процессор переходит к ее выполнению (она находится в ROM BIOS)
Программа обработчик прерываний считывает скэн-коди загружает его в свои регистры. Затем определяет какой код символа соответствует данному скэн-коду
Далее обработчик прерываний отправляет полученный код символа в буфер памяти и прекращает работу
Процессор прекращает обработку прерывания и возвращается к отложенной программе (FIFO)
Введенный символ хранится в буфере клавиатуры до тех пор, пока его не заберет программа для которой он предназначен.