- Как подключить клавиатуру к компьютеру
- Подключение клавиатуры к компьютеру
- Вариант 1: USB-порт
- Вариант 2: PS/2
- Вариант 3: USB-ресивер
- Вариант 4: Bluetooth
- Заключение
- Какие бывают разъемы для клавиатуры: их типы и как называются
- Старые типы
- Порт USB
- Как переделать на USB
- 2 Клавиатура
- Как работает клавиатура
- Клавиатурная матрица
- Скан-код клавиши
- Код ASCII нажатой клавиши
- Режим автоповтора
- Типы клавиатур
- Порты для работы с клавиатурой
- Компьютер IBM PC/XT
- Современные компьютеры
- Программа KBDLED
- Аппаратное прерывание клавиатуры
- Стандартный обработчик прерывания INT 09h
- Буфер клавиатуры
- Переключающие клавиши
Как подключить клавиатуру к компьютеру
Клавиатура — это неотъемлемый компонент персонального компьютера, выполняющий функцию ввода информации. При покупке данного устройства у некоторых пользователей возникает вопрос о том, как его правильно подключить. Данная статья поможет в этом разобраться.
Подключение клавиатуры к компьютеру
Способ подключения клавиатуры зависит от типа её интерфейса. Их существует четыре: PS/2, USB, USB Receiver и Bluetooth. Ниже вместе с подробным руководством будут представлены и изображения, которые помогут определить необходимый разъём.
Вариант 1: USB-порт
Данный вариант является самым распространённым, причина этому проста — в каждом современном компьютере есть несколько USB-портов. В свободный разъём необходимо подключить кабель от клавиатуры.
Windows установит необходимые драйвера и затем покажет сообщение, что устройство готово к использованию. В противном случае ОС выдаст оповещение о неготовности девайса к работе, что случается крайне редко.
Вариант 2: PS/2
Перед подключением клавиатуры к разъёму PS/2 необходимо отметить, что существует два похожих разъёма, различающихся лишь цветом: один фиолетовый, другой зелёный. В данном случае нас интересует первый, так как именно он предназначен для клавиатуры (второй же нужен для подключения компьютерной мыши). Чтобы подключить клавиатуру с кабелем к разъёму PS/2, необходимо выполнить следующее:
На тыльной части системного блока нужно найти разъём PS/2 — круглое отверстие с шестью маленькими дырочками и замочком, куда и необходимо вставить кабель от клавиатуры.
Вариант 3: USB-ресивер
Если клавиатура беспроводная, то в комплекте с ней должен идти специальный приёмник. Обычно это небольшое устройство с USB-разъёмом. Алгоритм подключения клавиатуры с таким адаптером следующий:
Нужно просто вставить этот переходник в USB-порт компьютера. Об успешном подключении должен свидетельствовать загоревшийся светодиод (но он есть не всегда) или уведомление от операционной системы.
Вариант 4: Bluetooth
Если компьютер и клавиатура снабжены Bluetooth-модулем, то для подключения необходимо активировать данный тип связи на компьютере любым доступным способом (статьи по ссылкам ниже содержат инструкции по включению данной функции) и активировать его на клавиатуре, нажав на кнопку включения (обычно расположена с обратной стороны или в каком-то из краёв устройства). Они сопрягутся, после чего появится возможность использовать свой девайс.
Стоит отметить, что многие персональные компьютеры не оснащены Bluetooth-модулем, поэтому для подключения клавиатуры необходимо будет сначала приобрести такой девайс и вставить его в USB-разъём, а затем выполнить действия, описанные выше.
Заключение
В статье были рассмотрены варианты подключения клавиатур разного типа к персональному компьютеру. Мы советуем вам также устанавливать официальные драйвера для данного устройства ввода информации, найти их можно на сайтах производителей.
Какие бывают разъемы для клавиатуры: их типы и как называются
Привет, друзья! Сегодня мы с вами разберемся с разъемом для клавиатуры – какие бывают виды, как называется каждый из них, где они используются и для чего, в чем их преимущества и недостатки. Вариантов не так и много – всего их два с половиной вида.
Старые типы
Пятиконтактный разъем DIN применялся IBM PC совместимых компьютерах, оборудованных системными платами Baby-AT. Такой разъем назывался АТ. Из обихода они вышли настолько давно, что сегодня сложно найти работоспособный компьютер, оборудованный таким портом, или подходящую клавиатуру.
На текущий момент все еще применяется PS/2 – порт, который появился еще в 1987 году в компьютерах IBM. Представляет он собой, круглый штекер типа DIN диаметром 9.5 мм с шестью контактами.
Также в продаже можно встретить и компьютерные мыши с круглым разъемом. Различаются они по цвету: штекер и гнездо мыши обычно маркируют зеленым цветом, а клавиатурные фиолетовым.
Сегодня в компьютере можно найти оба типа портов для подключения устройств ввода, независимо от модели материнской платы. Хотя стандарт старый, он отлично себя зарекомендовал, так как с возложенными задачами, в большинстве случаев прекрасно справляется.
Эти порты не являются взаимозаменяемыми: если перепутать PS 2 штекера клавиатуры и мыши, то компьютер не увидит оба устройства.
Экземпляры такого стандарта не требуют установки драйверов, так как весь функционал изначально прописан в БИОСе. В современных ноутбуках, для подключения периферических устройств, порты с круглым разъемом отсутствуют.
Детальнее о подключении к компьютеру, вы можете почитать в этой публикации.
Порт USB
Такой интерфейс, благодаря универсальности, можно использовать для подключения любого устройства. Впрочем, эта аббревиатура и является сокращением от Universal Serial Bus, то есть «Универсальная последовательная шина».
Фактически, сегодня такой порт стал основным, так как используется для большинства пользовательских задач: подключения мыши, клавиатуры, джойстика, педалей, игрового руля, геймпада и прочих устройств ввода, накопителей памяти любой емкости, смартфонов, планшетов, веб-камер, а также совсем уж специфических устройств – например, вентилятора или подогревателя для чашки.
Клавиатуры ЮСБ(USB) работают как Plug’n’Play устройства: драйвера записаны в специальном чипе и устанавливаются автоматически после присоединения устройства ввода к компьютеру.
Такие устройства имеют более широкие возможности: например, универсальная шина позволяет задействовать подсветку клавиш или специальные макросы, запускаемые с помощью программируемых кнопок.
Немного отличаются алгоритмы, которые используют для определения нажатия клавиш. У PS/2 нажатие клавиши определяется после сигнала прерывания, подаваемого замкнутым контактом.
ЮСБ вариант постоянно сканирует состояние матрицы клавиш, определяя набранный символ при каких-либо изменениях.
Впрочем, разница непринципиальна: эффективность использования, особенно в киберспортивных дисциплинах, в первую очередь определяет механизмом и качеством материала клавиш, а не используемым для подключения портом.
Как переделать на USB
Отдельно стоит упомянуть беспроводные экземпляры, у которых сигнал передается через радиоканал, Bluetooth или Wi-Fi. Как правило, приемопередатчик у них поставляется как отдельный модуль и подключается к компьютеру через разъем USB.
Опытные пользователи знают, где находится разъем для подключения: на задней стенке системного блока, куда выведены все разъемы материнской платы.
Обычно слоты для подключения мыши и клавиатуры расположены выше всех остальных. Но это зависит от конструкции материнки, так что возможны вариации.
Бывает и так, что один из этих портов выходит из строя. Перепаивать разъем на ЮСБ – пустая затея, так как проще и быстрее приобрести копеечный переходник, с помощью которого ПС/2 клавиатуру или мышку можно подключить к порту USB.
Справедливо и обратное: существуют «зеркальные» переходники, с помощью которых клавиатуру нового образца можно подключить в старый порт.
Вот, собственно, и все виды портов, которые сегодня используют для подключения клавиатуры и мышки. Также на эту тему вам будет полезно почитать про типы и о том, что такое ножничная клавиатура.
И я напоминаю, что оформление подписки на новостную рассылку, позволит вам своевременно получать уведомления о свежих интересных публикациях. Не забывайте поделиться этим постом в социальных сетях – буду весьма признателен. До завтра!
2 Клавиатура
В этом разделе мы подробно рассмотрим одно из важнейших устройств персонального компьютера — клавиатуру. Практически ни одна программа не обходится без обращения к клавиатуре.
Программа может использовать клавиатуру по-разному. Она может задерживать свое выполнение до тех пор, пока пользователь не введет какое-нибудь число или пока не нажмет какую-нибудь клавишу. Выполняя некоторую работу, программа может периодически проверять, была ли нажата клавиша, изменяющая режим работы программы. Резидентные программы могут активизироваться, когда пользователь нажимает заранее определенную комбинацию. Можно использовать прерывание, вырабатываемое клавиатурой, например, для завершения работы программы.
Мы расскажем о работе с клавиатурой в среде MS-DOS на разных уровнях — от использования клавиатурных портов ввода/вывода до средств, предоставляемых стандартными библиотеками трансляторов C. Какой уровень вам следует выбрать, зависит от решаемой задачи. Единственное, что можно порекомендовать — это использовать по возможности средства высокого уровня. Если ваша программа обращается к клавиатуре через порты ввода/вывода, ее работоспособность может оказаться зависимой от типа клавиатуры и от модели компьютера.
Что же касается методики работы с клавиатурой в операционных системах Microsoft Windows, то она была описана в 11 томе «Библиотеки системного программиста», который называется «Операционная система Microsoft Windows для программиста».
Как работает клавиатура
Клавиатура выполнена, как правило, в виде отдельного устройства, подключаемого к компьютеру тонким кабелем. Малогабаритные блокнотные компьютеры содержат встроенную клавиатуру.
Что же находится внутри клавиатуры?
Оказывается, там есть компьютер! Только этот компьютер состоит из одной микросхемы и выполняет специализированные функции. Когда вы нажимаете на клавиши, он посылает номер нажатой клавиши в центральный компьютер.
Клавиатурная матрица
Если рассмотреть сильно упрощенную принципиальную схему клавиатуры, представленную на рисунке, можно заметить, что все клавиши находятся в узлах матрицы (рис. 2.1).
Рис.2.1. Упрощенная схема клавиатуры
Все горизонтальные линии матрицы подключены через резисторы к источнику питания +5 В. Клавиатурный компьютер имеет два порта — выходной и входной. Входной порт подключен к горизонтальным линиям матрицы (X0-X4), а выходной — к вертикальным (Y0-Y5).
Устанавливая по очереди на каждой из вертикальных линий уровень напряжения, соответствующий логическому нулю, клавиатурный компьютер опрашивает состояние горизонтальных линий. Если ни одна клавиша не нажата, уровень напряжения на всех горизонтальных линиях соответствует логической единице (так как все эти линии подключены к источнику питания +5 В через резисторы).
Если вы нажмете на какую-либо клавишу, то соответствующая вертикальная и горизонтальная линии окажутся замкнутыми. Когда на этой вертикальной линии процессор установит значение логического нуля, то уровень напряжения на горизонтальной линии также будет соответствовать логическому нулю.
Как только на одной из горизонтальных линий появится уровень логического нуля, клавиатурный процессор фиксирует нажатие на клавишу. Он посылает в центральный компьютер запрос на прерывание и номер клавиши в матрице. Аналогичные действия выполняются и тогда, когда вы отпускаете нажатую ранее клавишу.
Скан-код клавиши
Номер клавиши, посылаемый клавиатурным процессором, однозначно зависит от схемы клавиатурной матрицы, но не от обозначений, нанесенных на поверхность клавиш. Этот номер называется скан-кодом (Scan Code). Слово scan («сканирование»), подчеркивает тот факт, что клавиатурный компьютер сканирует клавиатуру для поиска нажатой клавиши.
Код ASCII нажатой клавиши
Обычно программе нужен не порядковый номер нажатой клавиши, а код, соответствующий обозначению на этой клавише (код ASCII).
Код ASCII не связан напрямую со скан-кодом, так как одной и той же клавише могут соответствовать несколько значений кода ASCII в зависимости от состояния других клавиш. Например, клавиша с обозначением «1» используется еще и для ввода символа «!» (если она была нажата вместе с клавишей ).
Поэтому все преобразования скан-кода в код ASCII выполняются программно. Как правило, в операционной системе MS-DOS эти преобразования выполняют модули BIOS. Для использования символов кириллицы эти модули расширяются клавиатурными драйверами, как входящими в состав локализованных версий MS-DOS, так и созданными в виде отдельных программ.
Режим автоповтора
Если нажать на клавишу и не отпускать ее, клавиатура перейдет в режим автоповтора. При этом в компьютер автоматически через некоторый период времени, называемый периодом автоповтора, посылается код нажатой клавиши. Режим автоповтора облегчает ввод с клавиатуры большого количества одинаковых символов.
Следует отметить, что клавиатура содержит внутренний 16-байтовый буфер, через который она осуществляет обмен данными с компьютером.
Типы клавиатур
До недавнего времени существовали три различных типа клавиатуры. Это клавиатура для компьютеров IBM PC/XT, 84-клавишная клавиатура для IBM PC/AT и 101-клавишная (расширенная) клавиатура для IBM PC/AT. Некоторые клавиатуры имеют переключатель режима работы (XT/AT), расположенный на нижней крышке. Он должен быть установлен в правильное положение.
После того как операционная система Microsoft Windows получила широкое распространение, специально для нее был создан новый тип клавиатуры. К обычной клавиатуре типа IBM PC/AT были добавлены две кнопки, первая из которых дублирует вызов меню Start, выполняемый при помощи левой клавиши мыши, а вторая – вызов того же меню при помощи правой клавиши мыши.
Порты для работы с клавиатурой
Назначение портов, предназначенных для работы с клавиатурой, зависят от типа компьютера.
Компьютер IBM PC/XT
Для работы с клавиатурой типа IBM PC/XT используются порты с адресами 60h и 61h.
Порт 60h доступен только для чтения. После выполнения этой операции он содержит скан-код последней нажатой клавиши.
Порт 61h доступен как для чтения, так и для записи. Он управляет не только клавиатурой, но и другими устройствами компьютера, например, работой встроенного динамика. Если в старший бит порта 61h записать значение 1, клавиатура будет заблокирована, если 0 — разблокирована.
Так как порт 61h управляет не только клавиатурой, при изменении содержимого старшего бита необходимо сохранить состояние остальных битов этого порта. Для этого можно сначала выполнить чтение содержимого порта в регистр, изменить состояние старшего бита, затем выполнить запись нового значения в порт:
Современные компьютеры
Современные компьютеры позволяют управлять скоростными характеристиками клавиатуры, а также зажигать или гасить светодиоды Scroll Lock, Num Lock и Caps Lock, расположенные на лицевой панели клавиатуры.
Для расширенного управления клавиатурой применяется порт 60h в режиме записи. Этот порт служит для управления подчиненным процессором Intel 8042, ответственным за обмен данными с клавиатурным компьютером, или его аналогом, установленным на системной плате компьютера.
При использовании порта 60h на запись программа дополнительно получает следующие возможности:
· установка времени ожидания перед переходом клавиатуры в режим автоповтора;
· установка периода генерации скан-кода в режиме автоповтора;
· управление светодиодами, расположенными на лицевой панели клавиатуры.
Процессор 8042 обслуживает не только клавиатуру, но и другие системы компьютера. Через порт 64h, например, выполняется сброс (отключение) процессора 80286 для возврата из защищенного режима работы в реальный. Подробности об этом вы можете узнать из 6 тома «Библиотеки системного программиста», который называется «Защищенный режим процессоров Intel 80286/80386/80486».
Перед тем как посылать команду процессору 8042, необходимо убедиться в том, что его внутренняя очередь команд пуста. Это можно сделать, прочитав слово состояния 8042 из порта с адресом 64h. Бит с номером 1 должен быть равен нулю.
Приведем фрагмент программы, составленной на языке ассемблера, проверяющий состояние очереди команд процессора 8042:
После того, как программа дождется готовности процессора 8042, она может послать ему команду, записав ее в порт с адресом 60h:
Некоторые команды состоят более чем из одного байта. Второй и следующие байты таких команд необходимо записывать в порт 60h, предварительно убедившись в готовности процессора 8042 с помощью приведенной выше последовательности команд. В большинстве случаев можно также использовать простую временную задержку:
Мы приведем формат двух команд процессора 8042, имеющих отношение к работе с клавиатурой — команду установки задержки и периода автоповтора и команду управления светодиодами, расположенными на клавиатуре.
Для установки характеристик режима автоповтора в порт 60h необходимо записать код команды 0F3h, затем байт, определяющий характеристики режима. Ниже вы найдете описание полей байта режима автоповтора:
Период автоповтора, который определяет количество посылок скан-кода, генерируемых процессором клавиатуры в одну секунду. Можно использовать не только те значения, которые приведены ниже, но и промежуточные, например, 9 или 15h.
Задержка включения режима автоповтора, mc:
Зарезервировано и должно быть равно нулю
Первоначально при инициализации системы BIOS устанавливает период задержки для включения режима автоповтора равным 500 мс при периоде автоповтора, равным 10 повторам в секунду. Если это слишком медленно для вас, вы можете установить другие значения.
Для управления светодиодами, расположенными на лицевой панели клавиатуры, используйте команду 0EDh. Вслед за этой командой в порт 60h необходимо записать байт, имеющий следующий формат:
1 – включить светодиод Scroll Lock;
0 – выключить светдиод Scroll Lock
1 – включить светодиод Num Lock;
0 – выключить светодиод Num Lock
1 – включить светодиод Caps Lock;
0 – включить светодиод Caps Lock
Программа KBDLED
Приведем пример простейшей программы KBDLED, управляющей светодиодами, расположенными на лицевой панели клавиатуры (листинг 2.1). Такое управление может выполняться только при использовании порта 60h, так как BIOS не содержит никаких подходящих для этого функций. Наша программа после запуска включит все светодиоды и будет ожидать, пока вы не нажмете любую клавишу. Затем программа выключит светодиоды.
Заметим, что программа KBDLED может не работать на виртуальной машине DOS, создаваемой, например, в операционной системе Microsoft Windows NT.
Листинг 2.1. Файл kbdled\kbdled.c
Аппаратное прерывание клавиатуры
Клавиатура подключена к линии прерывания IRQ1. Этой линии соответствует прерывание INT 09h.
Клавиатурное прерывание обслуживается BIOS, однако драйверы клавиатуры и резидентные программы могут организовывать дополнительную обработку прерывания INT 09h. Для этого может быть использована цепочка обработчиков прерывания.
Стандартный обработчик прерывания INT 09h
Как работает стандартный обработчик клавиатурного прерывания, входящий в состав BIOS?
Этот обработчик выполняет следующие действия:
· читает из порта 60h скан-код нажатой клавиши;
· записывает вычисленное по скан-коду значение кода ASCII нажатой клавиши в специальный буфер клавиатуры, расположенный в области данных BIOS;
· устанавливает в единицу бит 7 порта 61h, разрешая дальнейшую работу клавиатуры;
· возвращает этот бит в исходное состояние;
· записывает в порт 20h значение 20h для правильного завершения обработки аппаратного прерывания.
Обработчик прерывания INT 09h не просто записывает значение кода ASCII в буфер клавиатуры, но также выполняет и другие действия. Например, он дополнительно отслеживает нажатие пользователем таких комбинаций клавиш, как , обрабатывает специальные клавиши
и . При вычислении кода ASCII нажатой клавиши учитывается состояние клавиш и .
Буфер клавиатуры
Буфер клавиатуры имеет длину 32 байта и расположен в компьютере IBM PC/XT по адресу 0000h:041Eh.
В компьютерах моделей IBM PC/AT и IBM PS/2 расположение клавиатурного буфера задается содержимым двух слов памяти с адресами 0000h:0480h (смещение адреса начала буфера) и 0000h:0482h (смещение конца буфера). Обычно эти ячейки памяти содержат значения, соответственно, 001Eh и 003Eh. Так как смещения заданы относительно сегментного адреса 0040h, то стандартное расположение клавиатурного буфера в IBM PC/AT и IBM PS/2 соответствует его расположению в IBM PC/XT.
Буфер клавиатуры организован циклически. Это означает, что при его переполнении самые старые значения будут потеряны. Две ячейки памяти, находящиеся в области данных BIOS с адресами 0000h:041Ah и 0000h:041Ch содержат, соответственно, указатели на начало и конец буфера. Если значения этих указателей равны друг другу, буфер пуст.
Заметим, что вы можете удалить все символы из буфера клавиатуры, установив оба указателя на начало буфера. Однако есть более предпочтительный способ с использованием прерывания BIOS INT 16h, функции которого мы опишем позже в этой главе.
Указателями на начало и конец клавиатурного буфера обычно управляют обработчики прерываний INT 09h и INT 16h. Программа извлекает из буфера коды нажатых клавиш, используя различные функции прерывания INT 16h.
При переполнении внутреннего буфера клавиатуры или буфера, расположенного в области данных BIOS программа-обработчик прерывания INT 09h генерирует звуковой сигнал.
В программах MS-DOS у вас едва ли появится необходимость непосредственного манипулирования содержимым буфера клавиатуры — вы можете использовать прерывание BIOS INT 16h для выполнения практически всех клавиатурных операций.
Переключающие клавиши
Помимо управления содержимым буфера клавиатуры, обработчик прерывания INT 09h отслеживает так называемые переключающие клавиши — , , , . Состояние этих клавиш записывается в область данных BIOS в два байта с адресами 0000h:0417h и 0000h:0418h.