Драйвер прерываний кнопок hid что это
Что такое HID Keyboard Device? Как установить драйверы HID-клавиатуры
Что такое HID Keyboard Device?
Устройства интерфейса пользователя (или HID) — это класс компьютерных периферийных устройств, с помощью которых вы вводите команды. Этот термин обычно используется для обозначения мышей и клавиатур, но геймпады и джойстики тоже составляют эту категорию.
Клавиатуры HID ничем не отличаются от стандартных клавиатур PS / 2 в ноутбуках, за исключением того, что они подключаются через USB, а не встроены. Вопреки распространенному мнению, аббревиатура HID — это не термин, впервые использованный Microsoft. Фактически это происходит из спецификаций USB, поскольку USB HID является родительским классом.
Установите драйверы HID Keyboard
Если вы недавно обновились до Windows 10, переустановили или обновили ее, возможно, вы обнаружили, что вам необходимо установить (или обновить) драйверы HID Keyboard.
В большинстве случаев вам действительно не нужно ничего делать или вручную загружать и устанавливать драйверы клавиатуры. Обновления Windows обычно заботятся об этом, и процесс завершается в фоновом режиме без сбоев. Но бывают случаи, когда ваша клавиатура может начать вести себя странно, например, регистрировать случайные вводы и игнорировать фактические, или вообще перестать работать после загрузки Windows после переустановки.
Вот несколько способов обновить и переустановить драйверы клавиатуры и решить проблемы, с которыми вы можете столкнуться.
# 1: обновите драйверы клавиатуры из диспетчера устройств
Чтобы установить / обновить драйверы клавиатуры, откройте RUN, нажав Winkey + R, введите «devmgmt.msc» и нажмите Enter.
В диспетчере устройств разверните ветку Клавиатуры.
Затем щелкните правой кнопкой мыши на клавиатуре и выберите «Обновить драйвер».
Выберите Автоматический поиск драйверов.
Драйверы будут установлены / обновлены автоматически. Перезагрузите компьютер, чтобы изменения вступили в силу.
Вы также можете просмотреть (свой) компьютер в поисках драйверов, если вы уже загрузили драйверы с вашего компьютера или веб-сайта производителя клавиатуры.
Нажмите «Обзор», найдите папку с файлом драйвера и нажмите «Далее».
Кроме того, вы можете нажать «Разрешить мне выбрать» из списка доступных драйверов на моем компьютере и посмотреть, какие предложения Windows предлагает вам.
Затем выберите один из предложенных вариантов и нажмите «Далее».
Если вы не можете найти вариант, снимите флажок «Показать совместимое оборудование» и получите полный список драйверов от разных производителей на выбор. Затем нажмите Далее.
Необходимо обновить драйверы клавиатуры. Перезагрузите компьютер, чтобы изменения вступили в силу.
# 2: удалите и переустановите драйверы
Неисправный драйвер — частая причина того, что клавиатура начинает самостоятельно создавать проблемы. Самый простой способ избавиться от этой привязки — удалить текущие драйверы и все их файлы и снова переустановить драйверы. Это устраняет любые проблемы, которые могут быть связаны с неисправными драйверами.
Откройте диспетчер устройств, как показано ранее (Win + X). Вы также можете использовать для этого только мышь: щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Диспетчер устройств».
Затем щелкните правой кнопкой мыши на клавиатуре в ветви «Клавиатуры» и выберите «Удалить устройство».
Снова нажмите Удалить.
Выберите Да и перезагрузите компьютер, чтобы удалить.
После перезапуска Windows автоматически установит драйверы клавиатуры по умолчанию и снова заставит клавиатуру работать.
Если клавиатура не работает после перезагрузки, это означает, что вам необходимо переустановить / обновить драйверы самостоятельно из диспетчера устройств. Но поскольку вы можете выполнить шаги, описанные выше, с помощью одной только мыши, это не должно быть проблемой.
HID Проблемы с клавиатурой
Как и большинство периферийных устройств, HID-клавиатуры имеют тенденцию создавать несколько собственных проблем. Хотя в основном проблемы возникают из-за ошибок в драйверах, проблемы также могут включать проблемы совместимости или другие программы и службы, мешающие правильному функционированию устройства.
Исправления: клавиатура не работает
Большинство вышеупомянутых проблем можно решить, просто обновив или переустановив драйверы, как показано в предыдущем разделе. Но если проблема с вашей клавиатурой не устранена, вы также можете взглянуть на следующее:
Убедитесь, что порт USB работает
Звучит достаточно очевидно, но это никогда не будет приятным сюрпризом, когда мы в конце концов обнаружим проблему там, где меньше всего хотели бы искать, — в оборудовании. Если ваша HID-клавиатура начинает проявлять странные проблемы, такие как периодическое обновление сама по себе, причиной может быть одна (или несколько) из следующих причин:
Чтобы проверить, работает ли порт USB, отключите клавиатуру HID и подключите другое устройство USB, например флэш-накопитель или мышь. Если он тоже не распознается, у вас проблема с оборудованием. Помимо исправления базовой инфраструктуры, вам также следует обойти любые USB-концентраторы, которые вы можете использовать, и подключить клавиатуру напрямую к ПК.
Конфликт обновления драйвера Windows 10
Некоторые пользователи сообщают о любопытной проблеме при перезагрузке Windows 10. Функциональная клавиатура перестает работать, как только драйверы устройства обновляются автоматически с помощью обновления Windows.
В таких случаях проблема заключается в драйверах, которые Windows обновляет самостоятельно. Быстрое решение этой проблемы — отключить обновление Windows и установить драйверы (как показано ранее) вручную. Многие производители устройств размещают на своих веб-сайтах собственные приложения, которые предоставляют подходящие драйверы для вашей системы и постоянно обновляют их.
Единственным недостатком этого решения является то, что мы должны держать обновления Windows выключенными, чтобы избежать конфликта между драйверами, которые мы установили вручную, и теми, которые обновление Windows хочет нам навязать. Однако вы можете сначала попытаться создать точку восстановления системы и снова включить обновления, чтобы проверить, работает ли ваша клавиатура.
Отключить ключи фильтра
Наконец, FilterKeys — функция «легкого доступа», которая сообщает Windows игнорировать повторяющиеся или слишком короткие нажатия клавиш. Однако этот параметр может заставить клавиатуру вести себя странно, например, регистрировать нажатие клавиши, когда оно не было выполнено, или вообще не регистрировать нажатие клавиши.
Лучше оставить ключи фильтров выключенными. Чтобы в этом убедиться, нажмите Win + I и откройте «Настройки». Щелкните «Удобство доступа».
Прокрутите вниз и выберите «Клавиатура» на левой панели.
Теперь справа в разделе «Использовать ключи фильтра» выключите кнопку и снимите флажок «Разрешить ярлыку запускать ключи файлов».
Вы также можете один раз обновить / переустановить драйверы, на всякий случай. Затем перезагрузите компьютер. Этот метод должен обновить драйверы и предотвратить вмешательство других функций во ввод данных.
Мы надеемся, что теперь вы стали лучше осведомлены о HID-клавиатурах и обновлении их дисков, чем раньше. Выполнение этого несколькими различными способами также гарантирует, что вы избежите любых проблем, которые в противном случае могли бы беспокоить вашу клавиатуру.
Драйверы кнопки HID
Используйте предоставляемый корпорацией Майкрософт драйвер кнопки GPIO; в противном случае реализуйте драйвер, который внедряет данные HID в операционную систему.
кнопки (питание, Windows, блокировка томов и вращения) обычно используются для задач, которые выполняются, когда физическая клавиатура недоступна для пользователя, например для преобразований или заставок. Кнопки объявляют себя в операционной системе как HID, предоставляя дескрипторы отчетов по кнопке HID. Это позволяет системе интерпретировать назначение и события этих кнопок стандартизированным способом. При изменении состояния кнопки это событие сопоставлено с использованием HID. Минидривер транспорт HID сообщает об этих событиях драйверам верхнего уровня, которые затем отправляют сведения клиентам HID в пользовательском режиме или режиме ядра.
Для физических кнопок ввода-вывода (GPIO) HID-транспорт минидривер — это встроенный драйвер, предоставляемый корпорацией Майкрософт, который сообщает о событиях на основе прерываний, полученных в определенных аппаратных ресурсах GPIO.
Встроенный драйвер не может обслуживать кнопку, которая не является проводной по отношению к линии прерываний. Для таких кнопок необходимо написать драйвер, который предоставляет кнопку в виде кнопки HID и сообщать об изменениях состояния в драйвер класса HID (предоставленный корпорацией Майкрософт). Драйвер может быть драйвером источника HID или драйвером транспорта HID.
Руководство по поддержке кнопок HID
Ниже приведены некоторые общие указатели, которые помогут решить, какая реализация должна следовать при создании кнопок HID.
Использовать предоставленный корпорацией Майкрософт драйвер кнопки в Box
если вы реализуете кнопку GPIO, опишите кнопку в системном ACPI, чтобы Windows может загрузить встроенный драйвер Hidinterrupt.sys в качестве драйвера кнопки, который передает события в операционную систему.
Корпорация Майкрософт рекомендует использовать встроенную транспортную минидриверс, когда это возможно.
Запись драйвера источника HID в режиме ядра
При реализации кнопки, отличной от GPIO, такой как поток данных в формате HID, который необходимо внедрить другим компонентом программного обеспечения, можно выбрать режим записи драйвера ядра. начиная с Windows 10 можно написать драйвер источника HID, вызывая программные интерфейсы, которые взаимодействуют с Virtual HID Framework (вхф) и получают и устанавливают отчеты HID в драйвер класса hid и из него.
Кроме того, можно создать минидривер транспорта HID в режиме ядра, как поддерживается более ранними версиями Windows. Однако этот подход не рекомендуется, так как плохо написанный КМДФ транспорт HID минидриверс может вызвать сбой системы.
Написание UMDF HID Минидривер
Если реализуется кнопка, не относящаяся к GPIO, вместо использования предшествующей модели записи драйвера источника HID можно написать минидривер транспорта HID в пользовательском режиме. Эти драйверы проще в разработке, чем драйверы в режиме ядра, а ошибки в этом драйвере не выполняют проверку всей системы.
универсальные драйверы Windows для кнопок HID
Обучаем HID устройство (читай BT-клавиатуру) работать правильно
Приветствую, хабралюди! На ДР, мне друзья подарили BT-клавиатуру. Маленькая, беленькая, симпатичная, Удобная!
Подключил ее к своему Android 2.3.5 (SGSII), стал с ее помощью лазить по меню, запускать программы, дошел до Вконтакте и решил написать сообщение… а вот переключить на русский язык не смог, но как оказалось позже, это еще были только цветочки! Но кое-что мне удалось. Интересно как?
Сейчас я уже многое понял, и не знаю с чего начать свой рассказ. Поэтому будет долго и скучно, но игра стоит свеч!
Имеем:
Первые шаги
Начал я с того, что написал письмо в техподдержку клавиатуры, с вопросом: а не могли бы вы посодействовать с настройкой клавиатуры для Андроида? Получил, как и ожидалось, ласковый отказ: «Эта клавиатура сделана специально для iPad».
Кому лень было читать статьи, кратко поясню:
На Вашем Android устройстве есть папка (кстати зависит от устройства, подробности есть в статье выше)
/system/usr
где расположены нужные нам каталоги
keylayout и keychars
в них размещаются файлы типа имя_клавиатуры.kl и имя_клавиатуры.kcm.bin соответственно.
Первый (обычный текстовый) отвечает за соответствие сигналов клавиатуры (Linux key code) сигналам Android (Android key code name) и выглядит как список из таких команд:
key 30 A WAKE
Расшифровка: key [scancode] [Android key] [Flags]
По-русски: если на клавиатуре нажали кнопку с кодом 30, то системе будет послана клавиша А, при этом устройство проснется.
Флаг WAKE заставляет устройство проснуться и отреагировать на нажатие буквой А.
А флаг WAKE_DROPPED заставляет только проснуться, т.е. чтобы нажать А, надо будет нажать ее снова.
В статье есть описание и других флагов.
Второй (скомпилированный из исходника бинарник) отвечает за комбинации клавиш вместе с Shift, Alt и т.п. Здесь уже идет таблица из разных вариантов, описывающих действия над Android key. В исходном виде он выглядит как:
key A <
label: ‘A’
base: ‘a’
shift, capslock: ‘A’
ctrl, alt, meta: none
>
А скомпилирован он для ускорения работы и загрузки устройства.
Решаем что делать
Я написал в техподдержку клавиатуры снова, описав свои наблюдения. Но поддержки от них никакой не добился. Им это не интересно. Придется все делать самому.
Что, опять нужен root?
Для доступа в папку /system нужны права root. Значит нужно его получить и не потерять гарантию. Я долго искал способ и для себя один нашел. Ничего не нужно прошивать. Все можно вернуть назад. ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК! ВСЕ ТОЛЬКО ДЛЯ ОЗНАКОМЛЕНИЯ! НИКАКОЙ ОТВЕТСТВЕННОСТИ! Но для меня все сработало как надо.
Готовим файл
Первые грабли:
Определить имя нужного файла может быть затруднительно. Общий принцип названия файлов, согласно статье — Vendor_XXXX_Product_XXXX_Version_XXXX.kl или DEVICE_NAME.kl
Ну вот, нашли файл, скачали, сделали копию, открыли текстовым редактором типа notepad.
У меня файл назывался Broadcom_Bluetooth_HID.kl
Тааааак, и что тут у нас?
Все понятно, какие-то коды, какие-то кнопки, что к чему не особо понятно, но мы уже готовы к этому, потому что внимательно читали эту статью с начала и до сюда. А как же определить коды клавиш?
Вторые грабли:
Чтобы определить коды клавиш понадобится средство отладки или.
Просто заходим на маркет и находим то что нужно, не с первой попытки конечно. Я перепробовал 3-4 программы. Не все могли похвастаться нужной функцией — многие отображали только Android коды, которые уже прописаны в нашем файле. А нам нужны scancod’ы!
Получаем scancod’ы
Я «отксерил» свою клавиатуру на копире и ручкой стал подписывать коды, которые мне давала программа KeyEvent Display. Так я получил набор кодов, осталось переписать их в файл и назначить им правильные функции.
Редактируем файл
Открываем первую статью по клавиатурам и методично назначаем новые значения нашим кнопкам.
Получается что-то вроде этого:
Третьи грабли:
Не все кнопки будут работать с Вашей версией Android OS! Обратите внимание на колонку Version в первой статье про клавиатуры. Если вы используете те коду, которые предназначены для версий больше вашей, тогда с этого места клавиатура не будет работать.
Все кнопки, указанные после неправильной не будут функционировать.
Поэтому, для будущей совместимости, я в своем файле, клавиши предназначенные не для моей версии Android OS, перенес в конец. Как показала практика, в этом случае все работает и файл готов к переносу на другие версии ОС.
Закидываем файл в систему
Здесь не обойтись без консольной утилиты. Подключаем девайс по USB в режиме отладки и выполняем последовательно команды в консоли cmd.exe:
Четвертые грабли:
Папка /system находится на файловой системе в режиме только для чтения. Для того, чтобы туда писать, нужно перемонтировать систему в режиме RW. Но для этого, нужно определить точку монтирования и тип файловой системы при помощи простой команды mount.
После перезагрузки устройства, файловая система снова станет «только для чтения».
Пояснения к командам:
Проверяем
Заработало!
Поздравляю! По-другому и быть не могло! Вы молодец! Только… как же на русский-то перейти?
Не долго гугля, я нашел простой ответ — нужна софтварная клавиатура, поддерживающая аппаратную. Таких немного. Идеальная, на мой взглад, на сегодня — ruKeybord
Устанавливаем, настраиваем, в раскладках устанавливаем аппаратную клавиатуру вместо qwerty и т.п.
Теперь можно переключать раскладку через Alt+Shift (UPD: или Shift+Space). И флажок показывается.
Кто еще не в курсе, чтобы быстро переключаться между клавиатурами, подержите палец на любом поле ввода и выберите из выпавшего меню «Режим ввода».
Итоги
Как ни старался, но заставить заработать все кнопки, подобно компьютеру, на 2.3.5 невозможно. Но скоро я обновлюсь до Android OS 4 и новые кнопки заработают. На первой фотографии я сижу в putty и редактирую сайт. Очень не хватает кнопки Ctrl. Очень жду обновления ОС. Доволен результатом.
HID button drivers
Use the Microsoft-provided button driver for GPIO buttons; otherwise, implement your driver that injects HID data to the operating system.
Buttons (Power, Windows, volume and rotation lock) are typically used for tasks that occur while the physical keyboard is not available to the user, on form factors such as convertibles or slates. Buttons declare themselves to the operating system as HID devices by supplying HID button report descriptors. This allows the system to interpret the purpose and events of those buttons in a standardized way. When a button state changes, that event is mapped to a HID Usages. A HID transport minidriver reports those events to upper-level drivers that then send details to HID clients in user mode or kernel mode.
For physical general-purpose I/O (GPIO) buttons, the HID transport minidriver is a Microsoft-provided in-box driver that reports the events based on the interrupts that are received on the defined GPIO hardware resources.
The in-box driver cannot service a button that is not wired to an interrupt line. For such buttons, you need to write a driver that exposes the button as a HID button and reports state changes to the HID class driver (Microsoft-provided). Your driver could be a HID source driver or a HID transport driver.
Guidance for supporting HID buttons
Here are some general pointers to help you decide which implementation you should follow if you are creating HID buttons.
Use the Microsoft-provided in-box button driver
If you are implementing a GPIO button, describe the button in the system ACPI so that Windows can load the in-box driver, Hidinterrupt.sys, as the button driver that reports events to the operating system.
Microsoft encourages you to use the in-box transport-minidrivers whenever possible.
Write a HID source driver in kernel mode
If you are implementing a non-GPIO button such as a stream of data in the HID format that needs to be injected by another software component, you can choose to write a kernel-mode driver. Starting in WindowsВ 10, you can write a HID source driver by calling programming interfaces that communicate with Virtual HID Framework (VHF) and gets and sets HID Reports to and from the HID class driver.
Alternately, you can write a kernel-mode HID transport minidriver as supported by the earlier versions of Windows. However, we do not recommend this approach because poorly written KMDF HID transport minidrivers can crash the system.
Write a UMDF HID Minidriver
If you are implementing a non-GPIO button, instead of using preceding model of writing a HID source driver, you can write a HID transport minidriver in user mode. These drivers are easier to develop than kernel-mode drivers and errors in this driver do not bug check the whole system.
Universal Windows drivers for HID buttons
Starting with WindowsВ 10, the HID driver programming interfaces are part of OneCoreUAP-based editions of Windows. By using that common set of interfaces, you can write a button driver by using Virtual HID Framework or Transport Minidrivers interfaces. Those drivers will run on both WindowsВ 10 for desktop editions (Home, Pro, Enterprise, and Education) and WindowsВ 10 Mobile, as well as other WindowsВ 10 versions.
Драйвер прерываний кнопок hid что это
Сообщения: 698
Благодарности: 84
Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.