Linux HID APIS похож на Windows HID API

Я ищу соответствующие HID-интерфейсы Linux, похожие на те, что упоминаются на этой странице в Microsoft:

http://msdn.microsoft.com/en-us/library/windows/hardware/jj126202(v=vs.85).aspx

В основном функции, соответствующие DataMovement:

Data Movement
The following list identifies HID API that an application can use to move data back and forth  between the app and a selected device.

HidD_GetInputReport
HidD_SetFeature
HidD_SetOutputReport
ReadFile
WriteFile 

У меня есть два направления в настоящее время:

-> Установите Wine Framework и попробуйте использовать приложение Windows (используя HID Apis)

-> Второй, чтобы использовать соответствующий Linux HID Apis(темная область для меня)

Спасибо,

1 ответ

Кроссплатформенная библиотека HID API - это HIDAPI (под капотом она использует материал ReadFile/WriteFile для Windows и libusb для Linux). Я никогда не использовал это, поэтому я не могу ручаться за это.

Если все, что вам нужно, это SetReport и GetReport, то может быть проще работать на hidraw- устройствах в Linux. Я использую эту технику для ltunify. Вы можете узнать, какие /dev/hidrawX устройство принадлежит устройству путем запроса sysfs ( пример).

Как только у вас есть устройство (скажем, /dev/hidraw0), затем вы можете открыть его для чтения и записи и использовать POSIX read() а также write() функции. Вы можете столкнуться с проблемой разрешений, но это решаемо путем изменения разрешений устройства, либо вручную (setfacl -m u:$USER:rw /dev/hidraw0) или с помощью правила udev, такого как https://git.lekensteyn.nl/ltunify/tree/udev/42-logitech-unify-permissions.rules.

Поскольку вам необходимо поддерживать платформы Windows и Linux, я думаю, что вам лучше использовать библиотеку HIDAPI, упомянутую выше.

Другие вопросы по тегам