Клавиатура

Клавиатура

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

Далее
 

Второй подход

Второй подход: драйвер обрабатывает все редактирование внутри строки, а пользовательской программе предоставляются уже скорректированные строки. Первый подход является символьно-ориентированным, а второй — строчно-ориентированным. Первоначально они назывались соответственно режимом без обработки и режимом с обработкой. Для описания строчно-ориентированного подхода в стандарте POSIX используется менее образный термин канонический режим.

Далее
  
Проблема эквивалентности устройств

Проблема эквивалентности устройств. Логически в конце строки текста одним из них нужен код возврата каретки, чтобы переместить курсор обратно на первую позицию, и код перевода строки, чтобы перейти на новую строку. Требования к пользователям ставить оба этих кода в конце каждой строки вряд ли было бы встречено с восторгом. Поэтому драйвер устройства должен конвертировать все в формат, используемый операционной системой, независимо от того, что именно было введено. В UNIX код клавиши ENTER конвертируется для внутреннего запоминания в код перевода строки, а в Windows он конвертируется в код возврата каретки, за которым следует код перевода строки.

Далее