Манипуляторы. Клавиатура
Компьютерная клавиатура - устройство, позволяющее пользователю вводить информацию в компьютер (устройство ввода). Представляет собой набор клавиш (кнопок), расположенных в определённом порядке.
Взаимодействие:
- Нажать на клавишу (или специальную комбинацию клавиш)
- Радоваться, что на экране что-то произошло :)
Процессы, происходящие после нажатия клавиши:
- Специальная микросхема, встроенная в клавиатуру, генерирует и выдает так называемый скан-код.
- Скан-код поступает в микросхему, выполняющую функции порта клавиатуры. (Порты - специальные аппаратно-логические устройства, отвечающие за связь процессора с другими устройствами.) Порт клавиатуры — это довольно простое устройство, интегрированное в одну из микросхем материнской платы.
- Порт клавиатуры выдает процессору прерывание с фиксированным номером. Для клавиатуры номер прерывания - 9 (Interrupt 9, Int9).
- Получив прерывание, процессор откладывает текущую работу и по номеру прерывания обращается в специальную область оперативной памяти, в которой находится так называемый вектор прерываний. Вектор прерываний - это список адресных данных с фиксированной длиной записи. Каждая запись содержит адрес программы, которая должна обслужить прерывание с номером, совпадающим с номером записи.
- Определив адрес начала программы, обрабатывающей возникшее прерывание, процессор переходит к ее исполнению. Простейшая программа обработки клавиатурного прерывания «зашита» в микросхему ПЗУ, но программисты могут «подставить» вместо нее свою программу, если изменят данные в векторе прерываний.
- Программа-обработчик прерывания направляет процессор к порту клавиатуры, где он находит скан-код, загружает его в свои регистры, потом под управлением обработчика определяет, какой код символа соответствует данному скан-коду.
- Далее обработчик прерываний отправляет полученный код символа в небольшую область памяти, известную как буфер клавиатуры, и прекращает свою работу, известив об этом процессор.
- Процессор прекращает обработку прерывания и возвращается к отложенной задаче.
- Введенный символ хранится в буфере клавиатуры до тех пор, пока его не заберет оттуда та программа, для которой он предназначался, например текстовый редактор или текстовый процессор. Если символы поступают в буфер чаще, чем забираются оттуда, возможен эффект переполнения буфера. В этом случае ввод новых символов на некоторое время прекращается. На практике в этот момент при нажатии на клавишу мы слышим предупреждающий звуковой сигнал и не наблюдаем ввода данных.
Надеюсь, вы не умерли от большого количества текста. Надеюсь, картинка со схемой реанимирует ваше сознание:
Типы клавиш:
- Функционального типа
- Специальные клавиши
- Алфавитно-цифровые клавиши
- Управление курсором
- Дополнительная числовая клавиатура
- Управления питанием
- Индикаторы
В настоящее время клавиатуры изменяются только внешне (размер, подсветка и так далее), реже стали использоваться функциональные клавиши.
Мы привыкли писать на клавиатуре с раскладкой QWERTY. Многие думают, что расположение букв таким образом, как видим мы их сейчас на клавиатуре - нерациональное. Существует много других раскладок, более удобных. Одной из таких наработок было представлено Артуром Двораком - профессором Вашингтонского университета. Он разработал вариант раскладки, где часто употребляемые символы расположены в верхних и средних рядах. Рядом с левой рукой среднего ряда находятся клавиши с гласными. Рядом с правой рукой находятся согласные. На картинке ниже представлены клавиатура с раскладкой QWERTY и клавиатура Дворака:
Перемещения пальцев среднего человека за 8 часов работы
QWERTY | Клавиатура Дворака |
Около 7км | Около 2км |