Взаимодействие с hid-клавиатурой

Тема в разделе "LANGS.C", создана пользователем Nirah, 11 сен 2018.

  1. Nirah

    Nirah New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2018
    Сообщения:
    2
    Добрый день.
    Есть в наличии hid-клавиатура с подсветкой клавиш и набором дополнительных клавиш, но без собственной памяти. Стоит задача написать кроссплатформенное (windows, linux) через которое можно:
    1) Управлять цветом подсветки.
    2) Назначать коды клавиш дополнительным клавишам.

    Я пробовал использовать для этой цели библиотеки hidapi и libusb. На linux проблем нет, но есть на windows. Как я понял windows взаимодействует с hid-клавиатурами в монопольном режиме, что не позволяет использовать функции типа hid_write. Установка драйвера winusb(для libusb) привела к отказу клавиатуры, драйвер откатил.

    Каким образом можно решить подобную задачу? Знаний и навыков для написания собственного драйвера клавиатуры нету.
     
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    В винде для работы с hid испльзуются hidD_* функции (hid.dll), которые сводятся к NtCreateFile+DeviceIoControl. Для hidD_SetFeature например устройство открывается с GENERIC_READ, не думаю, что там монопольный доступ только возможен. Вообще хид тем и хорош, что как раз драйвера-то ему и не надо.
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    Nirah, а фирма-то какая клаву делает?
     
  4. Nirah

    Nirah New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2018
    Сообщения:
    2
    Клавиатура - Logitech G910
     
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    Я думал разрабатываете клавиатуры. Не факт, что ее можно через hid настраивать. Все производители, ПО которых видел, норовят свой драйвер впарить. Скорей всего не от того, что обожают писать драйвера.
     
  7. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    :)