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, упомянутую выше.