Как работает драйвер клавиатуры
Иногда после обновления Windows 10 подключенная клавиатура или мышь PS/2 (USB), подключенные к вашему компьютеру, перестают работать. Это одна из неприятных проблем с обновлением Windows 10 или переходом на неё с других операционных систем, таких как Windows 7 или 8.
Содержание
Что такое порт PS/2?
Это 6-контактный мини-разъем, используемый для подключения стандартной клавиатуры и мыши ps/2 к компьютеру. Обычно он находится на задней панели системного блока, фиолетовый - для клавиатуры, а зеленый - для мыши.
Решение 1. Измените значение Start параметра I8042prt
Первые три шага - это описание того, как открыть экранную клавиатуру. Потому что вам нужно использовать клавиатуру для ввода текста.
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt
Внимание! В отличие от USB, порт PS/2 определяется только при запуске компьютера. Теперь система обнаружит порт PS/2 при включении компьютера, и это может решить проблему клавиатуры PS/2.
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid
Внимание! Ниже представлены возможные значения параметра Start с кратким описанием:
0-Boot - вызывает драйвер, который подгружается (но не запускается) загрузчиком. Если ошибок нет, запускается драйвер, во время инициализации ядра до загрузки любых не загрузочных драйверов.
1-System - вызывает драйвер, который загружается и запускается во время инициализации ядра после того, как драйверы со значением Start "0" были запущены.
2-Автозагрузка - вызывает драйвер или службу, которая инициализируется при запуске системы диспетчером сеансов (Smss.exe) или службами.
3-On Demand - вызывает драйвер или службу, который диспетчер управления службами (SCM) будет запускать только по запросу. Эти драйверы необходимо запускать вручную, вызывая интерфейс прикладного программирования Win32 SCM (API), например как оснастку Службы.
4-Disable - вызывает отключенный (не запущенный) драйвер или службу.
5-Отложенный запуск - менее критичные службы будут запускаться после загрузки, чтобы операционная система быстрее реагировала на запросы пользователя. Этот тип запуска был впервые представлен в Windows Vista.
Решение 2. Достаньте и вставьте снова батарейку BIOS
Это решение в основном используется для настольных компьютеров, чтобы сбросить все настройки материнской платы BIOS в значения по-умолчанию. Для этого посмотрите посмотрите нашу статью по замене батарейки материнской платы и достаньте её на несколько минут, а затем вставьте обратно.
Решение 3. Обновите драйверы клавиатуры
Иногда стандартные клавиатуры PS/2 или USB не могут использоваться из-за неправильного драйвера. В диспетчере устройств вы можете видеть клавиатуру PS/2 или USB в виде желтого восклицательного знака.
- В окне поиска Windows 10 введите Диспетчер устройств и нажмите на это приложение.
- В дереве устройств щелкните правой кнопкой мыши Стандартная клавиатура PS/2 или клавиатура USB и выберите Обновить драйвер.
- Windows автоматически найдет нужный драйвер в Интернете и установит его для клавиатуры PS/2 или USB. После установки вам нужно будет перезагрузить компьютер, чтобы снова проверить клавиатуру.
Если клавиатура PS/2 или USB по-прежнему не работает, выполните следующие действия. - Вам следует выбрать Найти драйверы на этом компьютере. Это поможет найти и установить драйверы вручную.
- Выберите Выбрать драйвер из списка доступных драйверов на компьютере. Здесь вы увидите совместимые драйверы клавиатуры PS/2 и USB.
- Выберите совместимые устройства с клавиатурой PS/2 или HID, например клавиатуру PS/2 PC/AT (101 клавиша), чтобы установить ее.
Установка или обновление драйвера совместимого устройства поможет вам решить эту проблему.
Как работает драйвер клавиатуры
Согласись, для того что бы написать
грамотный keylogger нужно знать, каким образом
нажатие клавиши на клавиатуре
регистрируется в системе. Смотри схему:
handle_scancode -> put_queue -> tty_queue -> receive_buf ->
буфер tty_ldisc -> tty_read -> /dev/ttyX -> sys_read ->
процесс пользователя
Сначала, когда вы нажимаете клавишу на
клавиатуре, устройство посылает
соответствующий скан код клавиши
клавиатурному драйверу. Единичное нажатие
может произвести последовательность до
шести кодов. Функция handle_scancode() в
клавиатурном драйвере обрабатывает поток
кодов и конвертирует их (при помощи функции
перевода kbd_translate()) в серию событий типа "клавиша
нажата", "клавиша отпущена".
Каждый баттон имеет свой уникальный код от 1
до 127. Нажатие клавиши генерирует этот код, а
отпускание - этот код + 128 (например когда вы
нажимаете 'a' то на гора выдается код 30, а
когда отпускаете - 158).
Дальше код клавиши в соответствии с
картой клавиш конвертится обратно в сам
символ (вообще говоря при этом учитываются
нажатые функциональные клавиши - Shift , AltGr,
Control, Alt, ShiftL, ShiftR, CtrlL и CtrlR, комбинации
активных "модификаторов" - CapsLock
например) и передается по цепочке буферов и
очередей к терминалу.
Драйвер клавиатуры может работать в
четырех режимах:
-
scancode (RAW MODE): приложенице получает
сканкод из потока и дальше обрабатывает
его собственным драйвером (пример тому - Х11).
Эти режимы в конце концов и определяют,
что приложение получит в результате
нажатия клавиши. (Кстати говоря: режим
работы драйвера клавиатуры можно узнать
или изменить с помощью kbd_mode(). Но
помни! Смена режима может вообще оставить
тебя без клавиатуры!)
Kernel based keylogger
В общем говоря, мы можем перехватить поток
кодов двумя способами: написать обработчик
прерывания клавиатуры или вмешаться в
передачу на одном из описанных выше этапов.
Обработчик прерывания
Гляди как реализуется первый вариант. В
архитектуре Intel для контроллера клавиатуры
выделено первое прерывание. Когда оно
возникает наш обработчик должен прочитать
сканкод и статус клавиатуры. События
клавиатуры можно получить на 0х60 порту (Keyboard
data register), а ее состояние - на 0х64 (Keyboard status
register).
scancode = kbd_read_input();
key_status = kbd_read_status();
log_scancode(scancode);
Этот обработчик канает только для
архитектуры Intel, так что в случае переноса
на другую платформу он работать
естественно не будет. Хотя, честно говоря,
где ты у нас видел другие платформы.
Замена функций
Это начальная функция драйвера
клавиатуры (keyboard.c), она обрабатывает скан
коды, получаемые от клавиатуры:
Мы можем заменить настоящий handle_scancode()
собственной процедурой, которая помимо
всего прочего будет записывать коды клавиш.
Если клавиатура неисправна, работа на ПК приостанавливается. При наличии пароля на входе ОС Windows не удастся загрузить, так как нет возможности ввести его.
Только в случае успешной загрузки операционной системы, Вы можете воспользоваться экранной клавиатурой, для решения проблем с подключаемым устройством.
Причины, по которым не работает клавиатура
Неправильное подключение клавиатуры
Если устройство не реагирует на нажатия клавиш при включении рабочего персонального компьютера, самое первое, что нужно сделать – проверить подсоединение периферии к системному блоку. При шнуре, выдернутым из разъема ПК, причина неработоспособности банально проста. Чтобы клавиатура заработала, достаточно плотно воткнуть штекер в разъем, перегрузить компьютер.
Периферию можно подключить через другой разъем аналогичного порта или, воспользовавшись переходником, другие порты. Она заработает, если порт PS /2 или USB сгорел.
Забавна ситуация, когда периферию подключают не на тот порт PS/2. Исключает путаницу окрашивание штекера и разъема, предназначенного для периферии – клавиатуры или мышки, в один цвет. Фиолетовый штекер клавиатуры нужно воткнуть в порт PS/2 фиолетового цвета.
Блокировка клавиатуры вирусами
Блокировать отработку нажатий клавиш могут компьютерные вирусы. Убедиться в подключении клавиатуры можно по нажатию клавиш Caps Lock или Num Lock: должна появиться индикация, отражающая их включение.
После лечения ПК антивирусом с компьютером должен быть полный порядок.
Бывает ситуация, когда индикаторы клавиатуры не работают, так как перебит сам шнур, ведущий к компьютеру. Если есть возможность подключите клавиатуру к другому устройству и проверьте её работоспособность.
Неправильная установка драйверов клавиатуры
Зайдите в Диспетчер устройств и посмотрите в оборудовании, есть ли устройства, не определенные системой (оборудование не определится, если драйвер не установлен или слетел).
Неправильно установленное оборудование будет помечено желтым треугольником с восклицательным знаком, а неопределенные устройства — знаком вопроса.
Чтобы попасть в диспетчер устройств на любой версии Виндовс, следует нажать сочетание клавиш Win+R и выполнить команду «devmgmt.msc». Но в нашем случае, такой способ не подойдёт. Клавиатура ведь не работает.
Поэтому, заходим в проводник Windows или просто открываем любую папку. Слева вы можете найти «Мой компьютер» либо «Этот компьютер» (в версиях Виндовс 8 и выше). Нажимаем правую кнопку мыши —» свойства.
Переходим по вкладке «Диспетчер устройств» и попадаем в пункт управления драйверами и устройствами.
Диспетчер устройств выглядит примерно одинаково на всех версиях операционной системы Windows. На скриншоте выше изображен яркий пример проблемы с драйверами. В вашем случае такая история будет с вкладкой «Клавиатуры»
В этой ситуации нужно произвести установку или переустановку драйверов клавиатуры, если они некорректно установлены.
Не полностью работает клавиатура
Часто возникает ложная проблема при цифровом вводе из поля правой части устройства. Ввод возможен только при нажатой клавише Num Lock , расположенной над цифрами. При отсутствии индикации подсветки, отражающей состояние клавиши, ввод цифр блокируется.
Клавиши могут залипать и не работать из-за грязи. При неработоспособности, связанной с отсутствием контакта из-за крошек, пыли, попадания влаги от пролитого кофе периферию разбирают, очищают от мусора, контакты протирают спиртом, возвращают на место сползшие уплотнители. Работа трудоемкая, кто самостоятельно разбирал устройство, знает – разобрать его легче, чем собрать.
Не работает новая клавиатура
Производители выпускают периферию с клавишами, нажатие на которые равнозначно набору команд. Сложно устоять перед заменой старой клавиатуры на более совершенную. Когда при подсоединении новая клавиатура не работает, поиск причины нужно начинать с подключения.
Если заменяемая периферия работала через порт PS/2, отсутствие связи с новым устройством, подключаемым через USB-порт, может быть связано с портом, закрытым для использования.
Настроить его для подключения клавиатуры можно, зайдя в меню БИОСа и открыв (Enabled) поддержку порта USB Keyboard Support. За подключение отвечает также контроллер USB, в SETUP нужно правильно настроить USB Controller, установив в Enable.
Устанавливаем драйвера для новой клавиатуры
Чтобы новое оборудование заработало, нужно установить драйверы. Это можно сделать разными способами:
Ручная установка драйвера
Заходим из Панели управления в Систему, открываем окно ее Свойств, выбираем работу с Оборудованием, действие — Установка.
В открывшемся окне Мастера установки соглашаемся на дальнейшую работу нажатием на кнопку Далее.
Будет предложено выбрать место расположения дистрибутива.
Для установки драйвера можно воспользоваться диском, входящим в комплект периферийного устройства. Зная его модель, драйвер, нужный, чтобы настроить клавиатуру, легко скачать с сайтов с ПО.
Установка драйвера с диска
Диск с дистрибутивом помещаем в CD-привод и ждем появления окна автозагрузки. В открывшемся меню выбираем “Установка драйвера” ( “ Install driver ”). Соглашаемся, нажимая кнопку “Да”, с требованиями и лицензионными соглашениями.
Параллельно с установкой драйвера инсталлируются утилиты, настраивающие работу периферийного устройства, делающие макро -клавиши максимально удобными для игры, работы.
Если подключить мультимедийную клавиатуру и настроить функциональные клавиши под себя, ощущения от преимуществ современной периферии убеждают – средства потрачены правильно.
Установка драйвера с помощью DriverPack Solution
Здесь все до крайности просто. Скачиваем дистрибутив программы с помощью поисковой системы Google и она сама подбирает нужный для клавиатуры. Этот способ работает в большинстве случаев. После установки обязательно нужно выполнить перезагрузку.
Удаляем старое устройство
Для исключения конфликтов устройств рекомендуется из системы удалить уже ненужное оборудование.
По нажатию кнопки Пуск из открывшегося меню выбираем Настройка, открываем Панель управления, заходим в Систему.
Кнопкой мыши открываем Свойства, находим Оборудование, открываем список устройств, работающий в системе. Выделяем не определенное системой устройство (оно выделено восклицательным знаком на желтом фоне), выбираем Удалить, подтверждаем действие нажатием кнопки OK и закрываем открытые окна.
Беспроводная периферия
При неполадках в работе ПК компьютер перегружают. Если проблема остается, она не случайна и требует устранения. Когда перестает работать беспроводная периферия, первым делом проверяется положение тумблера включения оборудования.
При положении «Вкл» неработающую беспроводную клавиатуру нужно расположить поближе к устройству-приемнику, на расстояние не более 0.3 м и проверить работу. Желательно периферию и принимающий центр установить на одном уровне.
Для работы оборудования важен заряд аккумуляторной батареи. Подзарядить источник тока нужно, даже если, судя по индикации, заряд достаточный, заменить батареи новым хорошим набором.
Беспроводное оборудование должно быть распознано системой. Убедиться в правильности выбранного драйвера можно во вкладке Оборудование.
При неисправности, которая связана с механикой – поломкой или высокой изношенностью, и самостоятельно ее не устранить, нужно подготовиться к покупке нового устройства. Ремонт клавиатуры затратен, выгоднее приобрести новую периферию, чем ремонтировать сломавшуюся.
Положение переключателя XT/AT
Большинство клавиатур изготавливают с переключателем XT/AT, позволяющим подключаться к ПК IBM PC/XT и IBM PC/AT.
Для совместимости с разными компьютерами на нижней панели периферийного устройства размещен переключатель. Его положение при работе периферии с компьютером IBM PC/XT должно быть XT, с компьютером IBM PC/AT.
При неправильно установленном тумблере периферийное оборудование работать не будет.
Где скачать драйвер для клавиатуры и как правильно его установить − «профилактика» и «лечение» в одном лице
Наличие драйвера, полностью соответствующего вашей модели оборудования, и его корректная работа – «краеугольный камень» для комфортной работы с компьютером. Однако многие пользователи, особенно начинающие, могут задаться вопросами: «А как его найти? Как установить без ошибок?». Разработчики предлагают нам три пути решения данной задачи. Рассмотрим подробнее каждый из них.
Установка драйвера вручную
Для этого метода понадобится дистрибутив программного обеспечения, предварительно скачанный на специализированном сайте.
- Запомнив его местоположение на жёстком диске, открываете раздел «Диспетчер устройств». Если у вас Windows 7 и ниже, то найти его можно в строке поиска. Если не работает клавиатура на Windows 8 или 10, то нужно нажать комбинацию клавиш «Win + X» и выбрать соответствующий пункт.
«Диспетчер устройств» в ОС Windows 7
- Найдя своё оборудование, кликните на его иконке правой кнопкой мыши и выберите «Обновить драйверы».
- Запустите поиск доступных дистрибутивов на компьютере. Потом нажмите на пункт «Выбрать драйвер из списка установленных». В открывшемся окне выберите «Обзор» и найдите скачанный ранее файл (имеет расширение .inf).
- Начнётся процесс установки драйвера. Следуйте всем инструкциям. По завершении вы станете обладателем обновлённого ПО.
Установка дистрибутива при помощи DriverPack Solution
Просто выбираете необходимое вам программное обеспечение для клавиатуры (в соответствии с номером модели), и остальное DriverPack Solution сделает самостоятельно. Интерфейс программы. Всё просто и очень удобно
Установка с диска, поставляемого в комплекте
Этот метод является самым простым и необременительным. Когда вы приобретаете клавиатуру, некоторые производители, помимо инструкции, добавляют специальный диск с дополнительным ПО. Среди него и находится необходимая нам утилита. Просто вставляем диск в дисковод компьютера, и либо программа установки запустится автоматически, либо нужно будет выбрать пункт «Установить драйвер» в появившемся после загрузки меню. Проверьте хранящиеся дома диски, среди них может быть необходимая программа Мы прекрасно понимаем, что некоторым нужны более подробные и красочные инструкции. Специально для вас мы подобрали видеоролик, который поможет упростить процедуру установки драйвера:
Не работает новая клавиатура
Производители выпускают периферию с клавишами, нажатие на которые равнозначно набору команд. Сложно устоять перед заменой старой клавиатуры на более совершенную. Когда при подсоединении новая клавиатура не работает, поиск причины нужно начинать с подключения.
Если заменяемая периферия работала через порт PS/2, отсутствие связи с новым устройством, подключаемым через USB-порт, может быть связано с портом, закрытым для использования.
Настроить его для подключения клавиатуры можно, зайдя в меню БИОСа и открыв (Enabled) поддержку порта USB Keyboard Support. За подключение отвечает также контроллер USB, в SETUP нужно правильно настроить USB Controller, установив в Enable.
Видео
Пролитая на клавиатуру жидкость и загрязнения
Залитая клавиатура — это головная боль всех айтишников и золотая жила для всех сервисных центров по ремонту ноутбуков. Очень часто люди при работе на компьютере выливают на клавиатуру чай, кофе, пиво и другие жидкости. Как следствие, клавиатура может выйти из строя.
Как правило, визуально и по запаху, легко определить, что на клавиатуру была пролита жидкость. Внимательно осмотрите клавиатуру. Снимите пару клавиш. Если вы видите, что на клавиатуре или под клавишами остались следы пролитой жидкости или еды, то у вас есть два пути. Либо купить новую клавиатуру, либо дотошно разобрать залитую клавиатуру, прочистить, просушить и собрать обратно. С большой долей вероятности, клавиатура заработает.
Ранее, мы уже подробно рассказывали о том, что как почистить клавиатуру компьютера в домашних условиях.
Проблема нажатия одной клавишей клавиатуры нескольких символов
Редкая неполадка, при которой одна клавиша почему-то отвечает за несколько других. Чтобы понять природу проблемы, выполните проверку:
- Подключите клавиатуру к другому компьютеру. Если там она работает таким же странным образом, значит проблема имеет аппаратный характер.
- Загрузите ОС с LiveCD или загрузочного диска. Проблема не исчезла? 99% вероятности, что она вызвана техническими причинами.
- Во всех остальных случаях сбой вызван программными факторами для устранения которых нужно действовать по алгоритмам, описанными в тексте.
Заводской брак или срок службы клавиатуры подошел к концу
Читайте также: