问题标签 [hidapi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
barcode-scanner - 在哪里可以找到 IBM SurePOS 协议?
我正在研究扫描仪的驱动程序。我有 Honeywell、Datalogic 和 Symbol 扫描仪。
- 霍尼韦尔使用HID POS
- DataLogic 和 Symbol 使用 IBM SurePOS
我很难找到有关协议的任何信息。我在表单上找到了一些信息,例如如何启用/禁用扫描仪。我还发现了这个应用程序ShowHidCom,我可以使用wireshark USB PCAP 进行反向工程。
我很想知道 IBM SurePOS 协议,这样我的驱动才能完整。我很惊讶这很难找到。
c++ - Hidapi hid_write() 返回错误(Windows 10、C++)
我一直在尝试使用 hidapi 控制鼠标上的 LED,但每当我运行 hid_write() 时,它都会返回 -1。我发现调用 WriteFile() 时在函数内部引发了错误,并且错误是“访问被拒绝”。有一个软件 (iCue) 可以控制 LED 并使用 wireshark 我想我已经知道要发送给鼠标的内容了:
我的代码:
枚举时,有 5 个设备对应于鼠标,我不确定这意味着什么或如何确定要使用哪个设备,但我尝试了所有设备,但都没有工作。我没有很多使用 hidapi 的经验;大部分代码都是从这里重新使用的。任何帮助将不胜感激。谢谢。
python-3.x - 如何分离 HID 的系统 USB 驱动程序?
我需要通过 USB 与自制控制器通信。我想使用 Python。控制器“说”HID,并且正在工作(插入时由 Linux 检测到)。
问题是,当控制器插入时,linux 会帮助附加 hid 驱动程序。当“打开”设备时,我收到错误OSError: open failed
,我怀疑它来自 Linux 的自动附加。
Libusb 具有以下功能:a) 检查系统驱动程序是否已连接,以及 b) 分离驱动程序。但是,如前所述,控制器需要HID
协议,并且修改不同的 PythonHID
实现,他们似乎并不关心分离系统驱动程序。
我不喜欢同时加载一个libusb
(只是为了分离?)和一个hid(api)
模块。难道没有更优雅的方式来做到这一点吗?
用于打开的代码是:
这使:
编辑:
防止 usbhid 声称新奇 USB 设备给出了两个答案,其中 udev 规则试图分离驱动程序。第一个在dmesg
. 第二个,显然,什么都不做。
编辑:仍然没有喜悦。也许有一些提示可以帮助:
启动时,USB 设备显示lsusb -t
为(最后一行):
它还显示在 中dmesg
,并带有正确的信息。如图所示,操作系统将设备连接到usbhid
驱动程序。
此代码成功地将其与驱动程序分离:
现在它显示lsusb -t
为未连接:
但是,以下代码仍然无法打开设备(并且也尝试了其他方法)。它也没有在enumerate
调用中枚举:
python - 我看不到使用 cython-hidapi 库的蓝牙设备 (Joy-Con)
设备/操作系统:Jetson Nano / Ubuntu 18.04
蟒蛇 3
有一个蓝牙加密狗连接。
以及当我这样做时:
和
我已经使用说明从源代码安装了https://github.com/trezor/cython-hidapi(我在构建过程中尝试了 hidraw 和 libusb API。
在这两种情况下,这个简单的代码:
仅打印连接到设备的有线 USB 鼠标和 USB 键盘:
c++ - c++ 字符串中的字符被忽略
我正在尝试使用 signal11 的 hidapi(此处)写入隐藏设备。在我的故障排除中,我注意到字符串的一部分没有显示在控制台上。这是我的代码示例
我期待控制台返回以下内容:
但相反,会发生这种情况:
“写成功”、结果和换行符都不见了,我对 c++ 有点陌生,但我有 c# 的经验。我只是感到困惑,非常感谢您的帮助,提前感谢并询问您是否需要更多信息!
usb - STM32 USB 自定义 HID 每次交易仅 1 个字节
我知道 USB HID 设备的最大速度为 64 kbps,但在示波器上,我每 1 毫秒得到一次事务,其中仅包含一个字节。下面列出了我的 HID 报告描述符。我必须改变什么才能达到 64Kbps?目前我的 bInterval = 0x01(1 毫秒轮询中断端点),但实际速度是 65 字节/秒,因为它会将 reportID 字节添加到我的 64 字节数据中。我认为,USB 不应该将单个 64+1 数据包分成 65 个单字节数据包。对于实验,我使用 reportID=1(从 STM32 到 PC)。在 PC 端,我使用 hidapi.dll 进行交互。
windows - 如何区分 Windows HID API 中的设备?
我需要检测何时为我的游戏插入了游戏手柄(出于某种原因,我没有使用更高级别的输入 API),我该怎么做?我已经枚举了所有 HID 设备并在它们上打开了文件(键盘、鼠标除外),并且可以获得设备上的所有信息,但我想要什么信息?例如,什么值会立即告诉我这是一个 Xbox 控制器,这些值在哪里?
我用于枚举设备的代码(非常混乱的 atm :p):
如您所见,我找到了产品字符串,它告诉我设备实际上是什么,但也许比较产品字符串不是进行 PnP 的最佳方式?
c++ - 使用 hidapi 的击键事件
我需要从 HID 操纵杆接收击键事件。我使用 hidapi 中的 hid_open() 打开了设备,但是当我按下一个键时我无法获取事件。你能给我任何想法吗?
c++ - HidD_SetOutputReport 未解决
我正在尝试与我发现使用 hid 协议的设备进行交互。我正在使用 signal11 的 hidapi 和 c++,但是我正在使用 hidsdi.h 写入设备,特别是 HidD_SetOutputReport,但是,这会导致“LNK2019:函数 main 中引用的未解析的外部符号 HidD_SetOutputReport”
这是我的代码:
如果有人知道这个问题的答案,将不胜感激,在此先感谢!
PS:我在 Windows 上,如果有帮助,我正在使用 Visual Studio 2019