Подключаем ps/2 клавиатуру к pic

Записки инженера

Со временем возникает вопрос, как вводить данные в микроконтроллер? Классическое решение, которое приходит большинство нам — использовать кнопки… протравить на плате дорожки и контактные площадки для кнопок, далее их припаять, решить как отслеживать нажатие кнопки — по прерыванию или через опрос состояния кнопок по циклу. Если кнопок много, они будут занимать значительное количество pin-ов микроконтроллера.  Путь тернистый.

Я предлагаю использовать, то что у нас под рукой — простую PS/2 компьютерную клавиатуру. Из плюсов:

  • вещь не дорогая;
  • продается в любом компьютерном магазине
  • нам доступно 101 клавиша
  • займет клавиатура всего 2-pin микроконтроллера для синхросигнала и данных.

 

В качестве микроконтроллера я буду использовать ATmega328P или Arduino UNO.

Немного теории

Если вы вскроете оплетку кабеля для клавиатуры, то вы обнаружите 4-е провода:

  • провод питания (5 В)
  • провод земли
  • провод синхросигнала (CLK)
  • провод данных (DATA)

Каждая клавиша на клавиатуре имеет свой 8-и битный код, называемый скан-кодом и записывается в шестнадцатеричном виде (HEX), смотри ниже.

Когда вы нажимаете на клавишу, по SLK передаются прямоугольные импульсы а по DATA 11-и битный код:

Биты данных считываются компьютером при переходе CLK с высокого уровня на низкий.

Первый бит всегда равен — это стартовый бит, далее идет 8-емь бит скан-кода, после чего бит контроля четности и в конце стоповый бит, который всегда равен 1.

Как подключить PS/2 клавиатуру к микроконтроллеру?

На самом деле порт PS/2 компьютерный клавиатуры это разновидность разъема Mini-DIN, её 6-и пиновый вариант.
В клавиатуре установлен min-din 6 pin штекер (папа), мы все его видели на конце кабеля клавиатуры.

Гнездо min-din 6 pin (мама) находится на материнской плате, для подключения к микроконтроллеру нам придется его выпаивать из старой клавиатуры, что не удобно.

Я советую приобрести нормальное гнездо min-din 6 pin для кабеля, например на ebay.ru он стоит ~ 1$. Выглядит он следующим образом:

(слева в собранном виде, справа в разобранном)

В качестве примера я буду подключать клавиатуру к Arduino UNO (контроллер ATmega328P), от нас требуется подключить проводки по следующей распиновки.

Помощь паяльника не понадобится, провода обжимаются пассатижами в металлические зажимы, в результате у меня получился следующий переходник.

В вашем случае концы проводков вы можете припаять к плате микроконтроллера, я буду использовать pin-ы Arduino UNO.

  • GND подключаем к GND Arduino UNO
  • Vcc подключим к 5V Arduino UNO
  • DATA подключим 2-pin Arduino UNO
  • CLK подключим к 3-pin Arduino UNO

Далее останется только подключить клавиатуру к гнезду.

Исходный код прошивки

В интернете для работы с PS/2 клавиатурой в больше половины случаев используют библиотеку ps2keyboard, где через цикл проверяют состояние «переменной — буфера» обмена с клавиатурой.

Я не сторонник проверять что-то через цикл, прошивка будет занята только работой с клавиатурой.

А если нам нужно производить расчеты или работать с каким-нибудь медленным оборудованием? Тут будет что-то страдать или наши расчеты или скорость реакции на клавиатуру.

Я предлагаю использовать прерывание…

PIN контроллера принимающий CLK (синхроимпульсы) от клавиатуры нужно настроить как внешнее прерывание при переходе из высокого состояние в низкий и в обработчике считывать бит данных с DATA. Алгоритм обработчика прерывания должен побитно накапливать посылаемый скан-код с клавиатуры.

Код для Arduino, подключаем DATA к 2-ому пину, CLK подключим к 3-ему пину.

123456789101112131415161718192021222324252627282930313233343536373839 const int DataPin = 2; // канал DATA клавиатурыconst int IRQpin =  3; // канал CLK клавиатурыint count=1;          // счетчик текущего бита 11-битного кода от клавиатурыint m=0;              // счетчик текущего бита скан-кодаuint8_t scan_code=0;  // скан-код нажатой клавишиvoid ps2interrupt(void) {        /* обработчик прерывания от CLK клавиатуры */  /* считываем скан-код с клавиатуры по битно в переменную scan_code */  if ((count>1) and (count

Источник: http://s-engineer.ru/mikrokontroller-podklyuchaem-ps2-klaviaturu/

Описание интерфейса PS2

ПодробностиКатегория: РазноеСоздано 20 Апрель 2010Автор: Николай КовачПросмотров: 60716

Несмотря на то, что USB клавиатур и мышей становится все больше и больше, компьютеры со «старым» PS2 интерфейсом все еще выпускаются. Посмотрите на системный блок Вашего компьютера сзади. Вы видите два небольших шестиконтактных разъемчика, один над другим, зеленый и фиолетовый? Это они. Они служат для подключения мыши и клавиатуры стандарта PS2.

Для начала, немного технической информации.

Как работает интерфейс PS2?
Порывшись в интернете находим наиболее достоверную информацию о PS2 здесь: http://www.computer-engineering.org/, автор Adam Chapweske, за что мы ему крайне признательны. Статья эта большая и на английском языке, поэтому попробуем перевести на русский самое необходимое.Первое – это описание контактов разъема PS2.

В разъеме MINIDIN 6 контактов, но используются только 4 из них.

Слева нарисован разъем, который вставляется. Он устанавлявается на шнур мыши или клавиатуры. Справа нарисован разъем устанавливаемый на материнскую плату компьютера. Нумерация контактов у них, естественно зеркальная, потому, что при вставлянии одного разъема в другой сигналы одного имени должны совпадать.

Сигналы интерфейса:

  1. Data (передаваемые данные)
  2. Not Implemented (не используетя)
  3. Ground (Земля)
  4. VCC (+5V) (Питание)
  5. Clock (сигнал синхронизации передаваемых данных)
  6. Not Implemented (не используется).

Второе – это электрический интерфейс.
Клавиатура (или мышь) подключена к контроллеру на материнской плате по схеме «открытый коллектор». Что это такое? Схему можно нарисовать примерно так:

Схема «открытый коллектор» используется когда одним сигналом могут управлять несколько устройств. В нашем случае это контроллер на материнской плате и контроллер внутри клавиатуры. Они могут передавать данные навстречу друг другу.

Например Клавиатура посылает коды нажатых клавиш, а компьютер посылает в клавиатуру команду зажечь светодиоды CAPS/NUM/SCROLL LOCK.
В исходном состоянии, когда данные не передаются, оба сигнала Data и Clock находятся в логической единице (на них напряжение +5В).

Такое состояние будет если оба контроллера снимут управляющее напряжение с транзисторов (ClockOut и DataOut) и они закрыты. Так как транзисторы закрыты, то сигналы «подтянуты вверх» к напряжению питания резисторами. Читать текущее состояние сигналов оба контроллера могут прямо с контактов DataIn и ClockIn.

Управлять линией очень легко. Контроллер подает управляющее напряжение на базу транзистора (сигналы DataOut и ClockOut), он открывается, через него течет ток и соответствующий сигнал Data или Clock получается «притянут к земле», на нем получается логический ноль.

Что делать если оба контроллера захотят одновременно передать навстречу друг другу? Ну во-первых, ничего страшного на физическом уровне не случится, ведь «притянутый к земле» сигнал «притянуть» еще раз не получится. Во-вторых, конечно это проблема для уровня передачи данных.

Оба контроллера, как два вежливых собеседника, должны уметь слушать друг друга и дослушать до конца. Это обеспечивается специальным протоколом. Например контроллер, перед передачей своих данных не должен начинать передачу данных если состояние сигналов недавно менялось.

Третье – это протокол.
При передаче от устройства (PS2 клавиатуры или PS2 мыши) к компьютеру используется следующий протокол. Устройство не начинает передачу, если Clock не находился в «1» по крайней мере 50 микросекунд. Устройство передает последовательно:

  1. старт бит – всегда ноль;
  2. 8 бит данных;
  3. бит четности;
  4. стоп бит – всегда единица.

Устройство устанавливает/меняет сигнал Data когда Clock находится в логической единице. Контроллер на материнской плате читает данные, когда Clock находится в логическом нуле. Примерно так:

Частота сигнала Clock примерно 10-16.7кГц. Время от фронта сигнала Clock до момента изменения сигнала Data не менее 5 микросекунд. Так написано в той статье, на которую я сделал ссылку в начале. Четно говоря я очень сомневаюсь, что производители придерживаются этих значений.

Контроллер материнской платы может сигнализировать устройству о невозможности приема опустив сигнал Clock в логический ноль. На практике этого по моему тоже никто не делает.

При передаче в обратную сторону команд от контроллера на материнской плате компьютера к клавиатуре или мыши протокол отличается от описанного выше.

Последовательность передаваемых бит здесь хитрее:

  1. хост контроллер опускает сигнал Clock в ноль на время примерно 100 микросекунд;
  2. хост контроллер опускает сигнал Data в ноль формируя старт бит;
  3. хост контроллер отпускает сигнал Clock в логическую единицу, клавиатура фиксирует старт бит;
  4. далее клавиатура генерирует сигнал Clock, а хост контроллер подает передаваемые биты;
  5. после того, как хост контроллер передал все свои биты, включая бит четности и стоп бит, клавиатура посылает последний бит «ноль», который является подтверждением приема.

Поскольку одним сигналом управляют два устройства, то довольно трудно понять, кто в данный момент времени управляет сигналом. Именно по этому диаграмма нарисована двумя цветами. Красный цвет – сигнал управляется хост контроллером, а синий – сигнал управляется клавиатурой.

Четвертое – это коды и команды, которые посылают мыши, клавиатуры и контроллер компьютера. Это довольно сложная тема… Пожалуй опишу все это в следующей статье.

Ну и конечно, мы собираемся сделать из платы Марсоход какой-то прототип клавиатуры. Уже скоро!

Источник: https://marsohod.org/11-blog/56-ps2

Подключение клавиатуры и мыши

Широкую популярность интерфейс PS/2 (Personal System/2) приобрел благодаря использованию для взаимодействия с манипулятором типа мышь в компьютерах Apple Macintosh и позднее, в конце 1980-х годов, в ОС Windows для IBM PC.

Однако сегодня PS/2 практически полностью заменен интерфейсом USB. Тем не менее, протокол PS/2 представляет собой интересную платформу для различных экспериментов.

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

Схема выводов разъема PS/2 (в просторечии распиновка) представлена на рисунеку

Разъем PS/2

Обмен данными по протоколу PS/2

Обмен данными через PS/2 осуществляется асинхронно по последовательному протоколу. Для обмена информацией используются 2 линии:

 1 — DATA (по этой линии передаются сами данные);

 5 — CLOCK (по этой линии передаются тактовые сигналы).

При передаче от устройства (клавиатуры или мыши), подключенного через интерфейс PS/2 к компьютеру (или, в нашем случае, к контроллеру), используется протокол, суть которого иллюстрирует схема, показанная на рис. 9.2. Устройство не начинает передачу, если линия Clock не находилась в “1” по крайней мере 50 микросекунд.

Устройство передает последовательно:

 стартовый бит — всегда ноль;

 8 битов данных;

 бит четности;

 стоп-бит — всегда единица.

Таким образом, данные передаются по одному байту за раз, при этом байт данных передается побитно. Первым, как можно видеть, идет стартовый бит (Start bit) — он всегда передается низким уровнем (логический “0”). Далее передается сам байт данных, начиная от младшего бита к старшему.

То есть, если нужно передать байт 0xF0, который в двоичной системе записывается так: 11110000, то передаваться его биты будут в следующем порядке: “0”,”0″,”0″,”0″,”1″,”1″,”1″,”1″. После данных идет бит четности (Parity bit): если число четное — будет передана “1”, а если нечет- ное — “0”.

Бит четности — это контрольный бит, принимающий значения “0” или “1” и служащий для проверки общей четности двоичного числа (четности количества единичных битов в числе). Стоп-бит (Stop bit) — всегда логическая “1”.

Устройство устанавливает/меняет сигнал Data, когда линия Clock находится в логической единице. Контроллер читает данные, когда линия Clock находится в логиче- ском нуле.

Частота сигнала Clock примерно 10–16,7 кГц. Время от фронта сигнала Clock до момента изменения сигнала Data — не менее 5 микросекунд.

Передача данных от PS/2-клавиатуры (мыши) к контроллеру

При передаче команд в обратную сторону — от контроллера к клавиатуре или мыши — протокол отличается от ранее описанного. Последовательность передаваемых битов здесь будет такая

Хост-контроллер опускает сигнал Clock в ноль на время примерно 100 микросекунд.

Хост-контроллер опускает сигнал Data в ноль, формируя стартовый бит.

Хост-контроллер отпускает сигнал Clock в логическую единицу, клавиатура фиксирует стартовый бит.

Далее клавиатура генерирует сигнал Clock, а хост-контроллер подает передаваемые биты.

После того, как хост-контроллер передаст все свои биты, включая бит четности и стоп-бит, клавиатура посылает последний бит “0”, который является подтверждением приема.

Отправка данных по протоколу PS/2 от контроллера к клавиатуре (мыши)

Библиотека ps2dev

На официальном сайте Arduino имеется библиотека для работы с устройствами PS/2. Скачать библиотеку можно по адресу http://www.arduino.cc/playground/ В архиве находится папка ps2dev, которую нужно поместить в библиотечный каталог Arduino IDE (hardwarelibraries).

Библиотека PS/2 представляет собой класс C++:

class PS2dev

{

public:

PS2dev(int clk, int data); int write(unsigned char data);

int read(unsigned char * data);

private:

int _ps2clk; int _ps2data;

void golo(int pin); void gohi(int pin);

};

Конструктор класса принимает два параметра типа int — номера портов устройства Arduino, к которым подключены линии Clock и Data, например:

PS2dev mouse(6, 5);

Здесь к Pin5 подключена линия Data, а к pin6 — линия Clock.

Функция golo переводит порт в режим вывода и устанавливает на нем логический “0”, функция же gohi переводит порт в режим ввода и подключает на нем подтягивающий резистор. Обе функции имеют тип private и используются только внутри класса. Нам же доступны всего две функции:

 write — записывает байт в линию PS/2;

 read — считывает байт из линии PS/2.

Подключение клавиатуры

На каждую принятую от контроллера команду (или — проще сказать — на каждый принятый байт) клавиатура должна обязательно ответить одним из следующих байтов:

 0xFA — подтверждение об успешном приеме;

 0xFE — команда принята с ошибкой — вероятно, это ошибка циклической контрольной суммы (CRC).

При получении от контроллера команды 0xFF (начальная установка) клавиатура отвечает 0xFA, а затем сбрасывается и посылает в ответ байт 0xAA.

В клавиатуру контроллер может послать следующие команды:

 0xED — зажечь или потушить светодиоды CAPS/NUM/SCROLL. Если клавиатура принимает эту команду, то она не пошлет более никаких ответов до тех пор, пока компьютер не пришлет следующий байт — параметр, который определяет битовую маску: один бит — это один из светодиодов. Битовая маска для светодиодов клавиатуры определена так:

• #define KEYBOARD_CAPS_LOCK_ON 4

• #define KEYBOARD_NUM_LOCK_ON 2

• #define KEYBOARD_SCROLL_LOCK_ON 1

 0xF3 —– это тоже двухбайтовая команда. После этой команды следует параметр, определяющий частоту повтора кодов при нажатой клавише и интервал времени между нажатием и началом повторов.

После подачи напряжения питания клавиатура посылает код 0xAA и немедленно готова к работе. Она сразу, без дополнительного программирования, готова посылать коды нажатых клавиш. По умолчанию клавиатура посылает на нажатие клавиши один байт-код, а на отпускание клавиши два байта. Первый байт в кодах отпуска ния клавиши — это префикс отпускания 0xF0.

Например, если нажать и отпустить клавишу , то клавиатура пошлет последовательность кодов 0x16, 0xF0, 0x16. Существует еще так называемый дополнительный код — это префикс 0хE0. Он посылается вместе с кодами дополнительных клавиш.

Например, при нажатии клавиши (нецифрового блока) отправляется последовательность 0хE0, 0x70, 0хE0, а при ее отпускании 0xF0, 0x70.

До сих пор все более или менее понятно, но, как оказалось позже (при написании редактора текста — см. разд. 9.4), это еще не все…

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

 клавиша основной панели при потушенном Num_Lock:

E0 6C E0

 клавиша основной панели при включенном Num_Lock:

E0 12 E0 6C E0

Это все необходимо учитывать при приеме кодов с клавиатуры. В следующем разделе мы создадим редактор текста. Текст, получаемый с клавиатуры, будет выводиться на дисплей WINSTAR WH1604. При этом вводимый текст мы сможем редактировать.

 

Сначала определим список служебных клавиш, необходимых при редактировании текста или выполнении действий с набранным текстом (сохранить в файл, отправить SMS и пр.), и зададим их значения в константах. Список используемых констант приведен в примере. Этот список в последующем мы будем расширять.

#define CAPS 0x58 // включить/выключить режим Caps_Lock

#define NUM 0x77 // включить/выключить режим Num_Lock

#define SCROLL 0x7E // включить/выключить режим Scroll

#define ESC 0x76 // выход из редактора

#define F10 0x9 // сохранить в файл на SD-карте памяти

// будем еще добавлять служебные клавиши

#define ALT 0x11 // выбор языка eng/rus

#define CTRL 0x14 // нажатие Ctrl

#define L_SHIFT 0x12 // нажатие клавиши shift

#define R_SHIFT 0x59 // нажатие клавиши shift

#define LEFT 0x6B // курсор влево

#define RIGHT 0x74 // курсор вправо

#define UP 0x75 // курсор вверх на 1 строку

#define DOWN 0x72 // курсор вниз на 1 строку

#define PGUP 0x7D //

#define PGDOWN 0x7A //

#define END 0x69 // курсор в конец строки

#define HOME 0x6C // курсор в начало строки

#define NUM5 0x73 // пустая клавиша цифровой панели

#define BACKSPACE 0x66 // удалить предыдущий символ

#define DELETE 0x71 // удалить символ из текущей позиции

#define INSERT 0x70 // включить/выключить режим Insert

При нажатии обычных клавиш их визуальное представление будет выводиться в текущую позицию дисплея с заменой текущего символа (режим Insert) или со сдвигом курсора вправо. Линию Clock клавиатуры подсоединим к pin3 и запустим обработчик прерывания 1 для отслеживания момента передачи данных с клавиатуры. Схема подключения клавиатуры и дисплея представлена на рисунке

Схема подключения

В функции начальной установки необходимо инициализировать клавиатуру и дисплей и запустить обработчик прерывания по событию начала отправки кода с клавиатуры. Содержимое функции setup() представлено в примере.

void setup()

{

Serial.begin(9600); Serial.println(“start-ok”);

// инициализация клавиатуры kbd_init(); Serial.println(“keyboard-ok”);

// инициализация дисплея lcd.begin(16, 4);

// Начальное сообщение lcd.clear(); lcd.print(“Редактор текста”); lcd.cursor();

delay(5000); lcd.clear();

// ожидание передачи от клавиатуры по прерыванию 1 attachInterrupt(1, get_char, FALLING);

}

Коды, поступающие с клавиатуры PS/2, не соответствуют кодам ASCII. Если отсечь все служебные коды, из клавиатуры выдаются коды в интервале 0 — 0x7f. Для перевода поступающих кодов в коды ASCII создадим массив размером 1024 байта. Массив памяти условно разделен на 8 блоков.

Карта распределения памяти в массиве для разных режимов приведена в таблице. Код нажатия неслужебной клавиши клавиатуры будет являться адресом нахождения соответствующего кода ASCII для нажатой клавиши. Отпускание клавиши отсечем программно.

Переключение между языками станем осуществлять по нажатии клавиши . В скетче предусмотрим возможность перехода и по нажатии клавиши — этот вариант более удобен, т. к. при этом будет осуществляться индикация на светодиоде Scroll клавиатуры выбранного языка.

Выбор нужного символа для режима Num_Lock будем подготавливать программно.

Карта распределения памяти для перевода кодов клавиатуры в коды ASCII

Фрагмент содержимого массива приведен в примере.

unsigned char table1[1024]={

// 0 – 0x7f

' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','`',' ',

' ',' ',' ',' ',' ','q','1',' ',' ',' ','z','s','a','w','2',' ',

' ','c','x','d','e','4','3',' ',' ',' ','v','f','t','r','5',' ',

' ','n','b','h','g','y','6',' ',' ',' ','m','j','u','7','8',' ',

' ',',','k','i','o','0','9',' ',' ','.','/','l',';','p','-',' ',

' ',' ',''',' ','[','=',' ',' ',' ',' ',' ',' ',']','\',' ',' ',

' ',' ',' ',' ',' ',' ',' ',' ',' ','1',' ','4','7',' ',' ',' ',

'0',' ','2','5','6','8',' ',' ',' ','+','3','-','*','9',' ',' ',

// 0x80 – 0xff

' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','`',' ',

' ',' ',' ',' ',' ','Q','1',' ',' ',' ','Z','S','A','W','2',' ',

' ','C','X','D','E','4','3',' ',' ',' ','V','F','T','R','5',' ',

' ','N','B','H','G','Y','6',' ',' ',' ','M','J','U','7','8',' ',

' ','

Источник: http://www.progdron.com/ru/proekty-s-arduino/spisok-materialov/354-podklyuchenie-klaviatury-i-myshi

Как переделать клавиатуру из DIN в PS/2

На такой работе, как у меня, неизбежно скапливается запас всяческого компьютерного старья. Причем часто это просто морально устаревшая техника и девайсы, которые работают замечательно, но никому уже не нужны. Например, есть целый штабель клавиатур, рабочих и не очень. И если лишних рабочих клавиатур PS/2 нет, то рабочих клавиатур с DIN-разъемом пока достаточно.

В то же время на такой работе, как у меня, компьютерщик должен иметь 2-3 запасных комплекта мышей и клавиатур для одновременного ремонта компов. И вот сегодня в очередной раз мне не хватило клавиатуры PS/2. Пришлось переделать такую клавиатуру из старой клавиатуры с DIN разъемом. Вот как это делается.

С точки зрения электрических сигналов DIN -клавиатура не отличается от PS/2 клавиатуры.

Можно просто отрезать разъем PS/2 от старой нерабочей мышки или нерабочей PS/2 клавиатуры и прикрутить этот разъем на клавиатуру вместо DIN. Для этого нужно узнать маркировку проводов клавиатуры. Берём клавиатуру с DIN-разъёмом и отрезаем этот разъем.

Прозваниваем тестером разъем DIN и находим какому штырьку соответствует провод какого цвета. В моём случае DIN имел такую цветовую маркировку, фото кликабельны:Внимание! На разных моделях  цвет проводов может отличаться, но положение сигналов на разъеме DIN одинаково.

Записываем цветовую маркировку разъема DIN

СИГНАЛ ЦВЕТ
CLC Белый
GND Серебристый
DAT Зелёный
VCC Красный

Достаём старую нерабочую шариковую мышь с разъемом PS/2 и отрезаем от нее разъем PS/2. Прозваниваем тестером разъем PS/2 и находим какому штырьку соответствует провод какого цвета. В моём случае PS/2 имел такую цветовую маркировку:

Внимание! На разных моделях цвет проводов может отличаться, но положение сигналов на разъеме PS/2 одинаково.

Записываем цветовую маркировку разъема PS/2

СИГНАЛ ЦВЕТ
CLC Белый
GND Зелёный
DAT Оранжевый
VCC Синий

Теперь находим какой цвет проводов клавиатуры DIN соответствует какому цвету проводов разъема PS/2.

СИГНАЛ ЦВЕТ  проводов<\p>разъема PS/2 ЦВЕТ<\p>проводов клавиатуры разъема DIN
CLC Белый Белый
GND Зелёный Серебристый
DAT Оранжевый Зелёный
VCC Синий Красный

По этой полученной таблице скручиваем провода клавиатуры и разъёма PS/2.

Изолируем скрученные проводки друг от друга изолентой и проверяем работу клавиатуры.

Если перепутали цвета, сгорит клавиатура или порт компьютера. Или просто не будет работать клавиатура.

А если всё делали внимательно, клавиатура будет работать.

Источник: http://www.comp-man.info/2011/07/din-ps2.html

Как подключить клавиатуру к компьютеру: пошаговая инструкция :

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

Далее будет рассказано о том, как подключить клавиатуру к компьютеру. На самом деле разобраться в этом не так трудно, как кажется.

Но пользователи должны знать о некоторых особенностях процесса, так как не всегда удается без проблем подключить клавиатуру к стационарному компьютеру или ноутбуку. Так на что обратить внимание?

Разные модели

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

Можно встретить следующие разъемы подключения у клавиатур:

Так как действовать в том или ином случае? О каких особенностях подключения должен знать каждый пользователь?

Не всегда возможно

Например, иногда получается так, что ту или иную модель клавиатуры нельзя присоединить к компьютеру. Обычно в таком случае подразумевается разъем PS/2. Почему?

Дело все в том, что соответствующее гнездо для подключения имеется только на стационарных компьютерах. У нетбуков, ноутбуков и ультрабуков отсутствуют подобные разъемы. Поэтому подключить соответствующую клавиатуру не получится. Хотя есть некоторые приемы, способные помочь разрешить ситуацию.

Тем не менее, пользователь должен учитывать, что не всегда и не все модели клавиатур подключаются к компьютерам. Иногда причиной отказа соответствующей составляющей от работы становится несоответствие системным требованиям. На них придется обращать внимание до покупки устройства ввода-вывода.

Подключение старых клавиатур

Как подключить клавиатуру к компьютеру? PS/2, например? Подобные клавиатуры считаются старыми. И поэтому некоторые современные пользователи не знают, как действовать.

Чтобы подключить к компьютеру клавиатуру с разъемом PS/2, нужно:

  1. Найти на задней панели компьютера разъем PS/2. Он представляет круглое отверстие с 6-ю ножками и замочком.
  2. Вставить провод клавиатуры в соответствующий разъем.
  3. Включить компьютер или подождать, пока устройство будет обнаружено операционной системой.

Важно учесть, что разъемы для подключения мышки и клавиатуры моделей PS/2 выглядят одинаково. Единственное их отличие друг от друга – разный цвет гнезд. Поэтому важно правильно подключить устройства ввода. Чаще всего около соответствующего гнезда имеется миниатюра клавиатуры. Осуществлять подключение можно как при включенном, так и при выключенном системном блоке.

Через переходник

Как подключить клавиатуру к компьютеру? PS/2 к USB-разъему тоже можно присоединить, но для этого придется постараться. Многие пользователи не видят в этом никакого смысла. Дело в том, что для успешного воплощения задумки в жизнь, необходимо приобрети специальный переходник. На одном его конце будет гнездо PS/2, на другом – USB. Только так можно проделать задуманное.

Как подключить клавиатуру к компьютеру? Если хочется осуществить подключение модели PS/2 через USB, требуется:

  1. Купить специальный переходник PS/2-USB.
  2. Надеть переходник на разъем PS/2.
  3. Найти на компьютере USB-гнездо и воткнуть клавиатуру с переходником в него.
  4. Включить или перезагрузить операционную систему.

Ничего трудного или особенного нет. После подключения клавиатуры придется немного подождать. Устройство может начать работу не сразу, а спустя несколько минут. Это нормальное явление. В данный период происходит поиск и установка драйверов клавиатуры. Как только соответствующий софт установится, можно пользоваться устройством ввода.

Через USB

Наиболее популярный и распространенный тип клавиатур – это USB. Именно с подобными устройствами пользователи работают чаще всего. Как подключить клавиатуру к компьютеру? Сделать это не так уж и трудно.

Чтобы воспользоваться подключением через USB, пользователь должен:

  1. Найти на компьютере или ноутбуке USB-разъем. Это прямоугольное гнездо на панели. Их у каждого компьютера несколько.
  2. Воткнуть в любой из USB-разъемов шнур подключения устройства.
  3. Включить или перезагрузить компьютер.

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

Без проводов

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

Итак, как подключить беспроводную клавиатуру к компьютеру? Для этого пользователь должен:

  1. Вставить аккумулятор в клавиатуру и перевести состояние устройства в режим “Вкл.”.
  2. В USB-разъем воткнуть специальный USB-приемник.
  3. Установить драйверы для подключаемого оборудования. Можно осуществить данную затею позже. Диск с софтом прилагается в комплекте с клавиатурой.
  4. Осуществить синхронизацию устройства с компьютером. Для этого нужно зайти в программу, установленной вместе с драйверами, а затем выбрать в появившемся списке соответствующее оборудование.

Это все. На самом деле подключение не такое уж и трудное. В некоторых случаях достаточно просто вставить аккумулятор или батарейки в клавиатуру, затем включить в USB приемник и перезагрузить компьютер. Но есть еще один вариант развития событий.

Без приемника

Это подключение без приемника. Довольно распространенный способ действий. Как подключить беспроводную клавиатуру к компьютеру без USB-приемника?

Для этого пользователю необходимо:

  1. Вставить аккумулятор в устройство ввода. Иногда для включения нужны батарейки.
  2. Перевести устройство в режим “Вкл.”.
  3. Включить на компьютере Bluetooth.
  4. Найти клавиатуру и синхронизировать ее с машиной.
  5. Подождать установки драйверов. Иногда нужно самостоятельно поставить на компьютер соответствующие программы.

Теперь понятно, как подключить клавиатуру к компьютеру в том или ином случае. Как видите, справиться с поставленной задачей сможет даже начинающий пользователь.

Источник: https://www.syl.ru/article/281832/new_kak-podklyuchit-klaviaturu-k-kompyuteru-poshagovaya-instruktsiya

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}