Вычислительная техника и сети.


Клавиатура

Клавиатура – устройство с которым, как и с монитором, пользователь сталкивается в первый момент знакомства с компьютером. Действительно, клавиатура является основным интерфейсным устройством, и, хотя получили широкое распространение такие интерфейсные устройства как манипуляторы “мышь”, трекбол, световое перо или планшетное перо, они никогда не смогут полноценно заменить клавиатуру в функциях ввода текстовой информации и управления интерфейсами программ. Внешний вид клавиатур отличается в зависимости от индивидуального дизайна и исполнения. Многие производители разрабатывают собственные эргономические стандарты на дизайн и исполнение клавиатуры и ее отдельных частей.
Основными функциями клавиатуры являются ввод текстовой информации и управление интерфейсами. Клавиатура – комплексное устройство, основным элементом которого является клавиша. Клавиша представляет собой управляемый механический или сенсорный элемент, принимающий два состояния – нажатое и отжатое и генерирующий два сигнала – нажатие и отпускание. Различные типы клавиатур имеют в своем составе разное число клавиш (83, 84, 101, 102 и др.). Большинство клавиатур состоят из стандартного набора клавиш, расположенных как правило, в определенном месте и различных дополнительных клавиш – не имеющих четко определенного постоянного положения. В первую группу входят: алфавитно-цифровая клавиатура, функциональные клавиши и клавиши-переключатели. Ко второй группе относят дополнительную клавиатуру и дополнительные клавиши. Каждая клавиша имеет одно или несколько обозначений или названий в связи с наиболее часто выполняемыми ею в программах или назначаемыми ей пользователями функциями. Многие клавиатуры имеют клавиши и/или их обозначения различного цвета, в зависимости от их группы или функций. Различные цвета символьных обозначений на клавишах алфавитно-цифровой клавиатуры помогают настроиться и более продуктивно работать с символами, начертание которых сходно в разных национальных раскладках. Часто, для обозначения клавиш используются не буквенные или символьные, а знаковые идентификаторы – значки и картинки, устраняющие необходимость переводить надписи. Это удобно, в случаях, когда функции клавиш, обозначенные тем или иным знаком, хорошо известны, а их расположение часто меняется в зависимости от реализации. Рассмотрим функциональное назначение и состав основных групп клавиш.

Алфавитно-цифровая клавиатура – в эту группу клавиш входят все клавиши, предназначенные, непосредственно, для набора текстовых символов – букв и цифр в текстовых диалогах. Расположение и назначение каждой клавиши, как правило, соответствует таковому в раскладке клавиш для печатной машинки соответствующей языковой группы. Практически все клавиатуры снабжаются надписями на клавишах алфавитно-цифровой клавиатуры на двух языках – национальном и английском, что связано со спецификой используемого программного обеспечения.

Функциональные клавиши – в эту группу входят клавиши обозначаемые как Esc, F1-F12, Tab, Back Space, Enter, Print Screen, Insert, Home, Page Up, Delete, End, Page Down и клавиши управления курсором. Название этих клавиш не случайно. Каждая клавиша из группы функциональных, как правило, имеет набор распространенных в различных программах функций. Так, например, клавиша Esc (полное название Escape), как правило, служит для отмены какого-либо события, действия, диалога и возврата к предыдущему состоянию. Клавиши от F1 до F12 даже называются функциональными (отсюда первая буква в их названии) – им, как правило, назначаются различные функции, специфичные для разного программного обеспечения. Клавиша Tab – клавиша табуляции, используется, в основном, для осуществления перемещения в заданной последовательности между элементами пользовательских диалогов в программах. Клавиша Back Space – главным образом служит для удаления символа, расположенного слева от курсора в элементах пользовательского диалога, осуществляющих ввод текстовой информации. Клавиша Enter – чаще всего используется для подтверждения некоторой информации, выражения согласия или выбора того или иного элемента в интерфейсной части пользовательских диалогов или вставки новой строки или абзаца в диалогах, осуществляющих ввод текста. Клавиша Insert, как правило, используется текстовыми диалогами для переключения между режимами вставки или замещения символов, либо, в комбинации с другими клавишами, для функций вставки. Клавиша Home обычно используется для возврата в начальную позицию, например, в текстовых диалогах перемещает курсор в начало текущей строки. Клавиша End обычно осуществляет действие противоположное по значению действию клавиши Home, например, в текстовых диалогах осуществляет перемещение курсора в конец текущей строки. Клавиша Page Up, как правило, используется для продвижения свертки экрана любых диалогов на страницу вверх, а клавиша Page Down – наоборот на страницу вниз. Клавиша Delete, как правило, служит для обозначения функции удаления чего-либо, например, в текстовых диалогах осуществляет функцию удаления символа в текущей позиции курсора. Клавиши управления курсором служат именно для управления положением курсоров различного вида в пользовательских диалогах, также, часто, служат для перемещения “фокуса” (состояния выделенности или активности) между их объектами и элементами.

Клавиши – переключатели – в эту группу входят клавиши обозначаемые как Caps Lock, левая и правая клавиши Shift, левая и правая клавиши Ctrl (Control), левая и правая клавиши Alt, клавиши Num Lock, Scroll Lock и Pause. Данная группа клавиш полностью соответствует своему названию, т.к. служит для переключения (временного – на время нажатия и фиксации, или постоянного – после однократного нажатия и отпускания) различных других групп клавиш в различные режимы. Так, клавиша Caps Lock осуществляет переключение режима работы алфавитно-цифровой клавиатуры, меняя регистр символов с заглавного на малый и наоборот на постоянное время, а клавиши левый и правый Shift – осуществляют аналогичное временное переключение, только на время удержания клавиши в нажатом состоянии. Клавиши Ctrl и Alt, как правило, используются в комбинации с другими клавишами для переключения режимов, функций или для осуществления какой либо конкретной назначенной в программе функции. Клавиша Num Lock осуществляет постоянное переключение режимов работы дополнительной клавиатуры между режимом дублирования функциональных или алфавитно-цифровых клавиш. Клавиша Scroll Lock первоначально получила свое название из-за назначения ей функции запрещения/разрешения сворачивания экрана в текстовых терминалах и была сохранена по принципу программно-аппаратной совместимости. Клавиша Pause полностью соответствует своему названию и служит для приостанавливания работы программы после ее нажатии до нажатия любой клавиши. Состояние трех клавиш переключателей Caps Lock, Num Lock и Scroll Lock, как правило, индицируется на передней панели клавиатуры тремя светящимися индикаторами состояния.

Дополнительная клавиатура – клавиши дополнительной клавиатуры дублируют клавиши основной алфавитно-цифровой или функциональные в зависимости от состояния клавиши переключателя Num Lock. Дополнительная клавиатура, главным образом, предназначена для выполнения действий в программах с калькуляционными свойствами, т.к. ее панель в точности соответствует расположению клавиш на обычном калькуляторе. Дополнительные клавиши Enter, +, -, * и /, также, независимо от состояния переключателей, дублируют соответствующие функциональные и алфавитно-цифровые клавиши.

Дополнительные клавиши – такими клавишами комплектуются расширенные клавиатуры, дизайн и свойства которых разрабатываются по специальному заказу. Так, встречаются дополнительные функциональные клавиши – Macro, WinAct, WinSel и др., служащие специфическим функциям определенного класса программного обеспечения (чаще всего операционных систем).

Необходимо отметить, что использование клавиш программами ни сколько не ограничено их расположением или обычными функциям. Авторы программного обеспечения могут совершенно свободно использовать и назначать любой клавише любую функцию, ей присущую или неприсущую. В сложной программной среде, как правило, существует множество фиксированных или определенных пользователем назначений клавиш и их комбинаций каким-либо функциям. Многие программные интерфейсы стандартизируют использование и функции клавиш.

Внутренняя организация клавиатуры, в сравнении с другими устройствами, достаточно проста. Клавиатура комплектуется собственным контроллером, располагающимся на материнской плате и процессором, осуществляющим сканирование отдельных клавиш, расположенным в корпусе устройства. Нажатие клавиши приводит к генерации специального кода называемого кодом сканирования клавиши (scan code). Коды сканирования имеют уникальные двухбайтовые номера. В клавиатурах компьютеров класса АТ есть возможность определить была клавиша нажата или опущена, а в машинах класса ХТ – было возможно определение лишь нажатия клавиши. В дальнейшем, код нажатой клавиши помещается в специализированные порты и могут быть извлечены (считаны) и обработаны программными процедурами, называемыми обработчиками сигналов клавиатуры.
Простые варианты таких программ находятся в ROM BIOS и составляют часть базовой системы ввода вывода компьютера – являются внутренними обработчиками клавиатуры. Все обработчики клавиатуры, входящие в состав внешнего программного обеспечения (операционные системы, среды и отдельные программы) называются внешними обработчиками клавиатуры. Как внутренние, так и внешние обработчики используют небольшую область памяти, называемую буфером клавиатуры. Результатом работы обработчиков клавиатуры является чтение из порта, закрепленного за контроллером клавиатуры, кода сканирования нажатой клавиши, сброс состояния контроллера, разрешение сканирования следующей клавиши, разбор кода сканирования и запись в область буфера кодов символов или их комбинаций, сгенерированных в процессе разбора из кодов сканирования. Именно программы-обработчики клавиатуры генерируют различные коды символов, при нажатии одной и той же клавиши совместно или без клавиш-переключателей (например Shift). Так как, число клавиш на клавиатурах значительно больше числа символов в стандартном знакогенераторе компьютера, большинство клавиш и их комбинаций (за исключением алфавитно-цифровых и некоторых функциональных – Esc, Enter, Back Space) генерируют два или более кода символа, которые, в таком случае, называются расширенными кодами символов.
Существует три различных режима работы клавиатуры, которые предполагают совершенно разную систему формирования кодов символов из кодов нажатия клавиш. Номер используемого режима работы клавиатуры определяется системным программным обеспечением. Пользовательские программы, как правило, запрашивают у внешнего обработчика клавиатурного ввода последний введенный символ – нажатую клавишу и определяют какая клавиша или комбинация клавиш была нажата, или читают коды нажатых символов напрямую из буфера клавиатуры. Гораздо реже, встречаются программы, самостоятельно обрабатывающие сигналы аппаратного прерывания клавиатуры, обслуживающие ее контроллер и осуществляющие самостоятельную обработку кодов сканирования клавиш.

Буфер клавиатуры позволяет несколько сгладить тот факт, что запрос на обслуживание клавиатуры, как и любого другого устройства, может быть отложен по причине занятости программного обеспечения более важными задачами, вследствие чего, поступающие символы могут накапливаться в буфере, а затем быть востребованы все сразу, до опустошения буфера. Стандартный объем буфера клавиатуры для режимов работы 1 и 2 достаточно мал – 16 символов и, в случае его заполнения, обслуживание вновь поступающих нажатий клавиш приостанавливается до появления свободного места в буфере. Большинство обработчиков выдают в таком случае звуковой сигнал. При достаточно долгом удерживании клавиши в нажатом состоянии контроллер клавиатуры вырабатывает сигналы повторения ее нажатия через определенные равные промежутки времени. Время задержки (repeat delay) перед началом процесса повторения и частота повторения (repeat rate) программируются и могут быть заданы пользователем при помощи системного программного обеспечения. Если удерживаются в нажатом состоянии больше одной клавиши, повторение нажатия касается только последней из них.

В настоящее время все производители клавиатур разрабатывают собственные формы и варианты дизайна. Клавиатуры выполняются в мини и макро вариантах офисного и домашнего исполнения, ориентированные на определенного рода операции. Многие клавиатуры, например клавиатуры портативных компьютеров, содержат в своем составе координатное устройство ввода – манипулятор трекбол или аналогичный. Дизайн клавиатур не знает границ