问题标签 [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.

0 投票
0 回答
654 浏览

python - 如何使用cygwin在windows上安装hidapi

我从https://github.com/libusb/hidapi下载了后端的源代码

我曾经按照说明安装它 cygwin

我使用 pip install hid 安装了 hid

但是一旦我尝试

进口隐藏

在python中我得到:

搜索 Cygwin 安装库的位置,我发现在 C/cygwin64/usr/local/include/hidapi 中是头文件 hidapi.h 和 C/cygwin64/usr/local/lib/libhidapi.a , libhidapi.dll.a, libhidapi.la 对象

我也尝试遵循这个答案,但它不起作用如何确定在哪里安装 hidapi.dll?

0 投票
1 回答
288 浏览

usb - 将输出发送到设备以更改罗技鼠标/键盘中的通道

我有支持在多个设备之间切换的罗技鼠标和键盘。我缺少的功能是通过运行命令或快捷方式同时切换鼠标和键盘。

我想问是否可以将输出发送到鼠标和键盘以更改其频道?如果是这样,你能指导我怎么做吗?

我没有 USB HID 的经验,但我使用busdog工具嗅探输出,我发现每次按下一个键将频道从第一个更改为第二个时都会发送以下代码。

代码:

10 03 41 04 71 8a 40

之后我尝试使用命令行工具hidapitester将代码发送到键盘,希望它会改变它的频道。可惜没有结果。

更新:

下面我在按下从第一通道切换到第二通道的键后添加跟踪日志:

0 投票
1 回答
117 浏览

python - 使用 Python 将数据写入 USB 扫描仪

我正在利用 Python HID API 尝试将数据写入扫描仪。我要编写的具体命令是“A1 04 00”(其中 A1 是 ID,04 是命令,00 是数据),目前我正在按照下面的特定命令格式写入扫描仪。

图片在这里

在代码中,这看起来像 data=[0x05,0x57,0xA1,0x04,0x00,0xFE,0xFF] 并且我正在使用,device.write(data)但是我没有得到扫描仪的响应。我在将 HID 设备与 Python 连接方面没有很多经验,所以我确定我做错了,感谢您的帮助!

编辑:每个请求添加的代码

每个扫描仪文档的校验和算法

0 投票
1 回答
325 浏览

python - Python 和 Hidapi:尝试编写 USB 设备时出现参数错误

我正在使用 python 3.9.6 来管理一个隐藏的继电器板在此处输入图像描述

我可以使用 enumerate 命令读取主板的供应商 ID 1305 和产品 ID 8216,然后我尝试了一些命令:

现在我想使用“device.write”管理板上的继电器,我该怎么做?从继电器板手册:

“通道 1 打开:0x00 0xf1,关闭:0x00 0x01”

不幸的是,当我尝试这个时它不起作用:

当我在 device.write 方法中传递列表时,为什么 python 会引发类型错误?

非常感谢!最大限度

0 投票
0 回答
424 浏览

python - 安装&&导入pyhidapi和hidapi问题

这是pycharm抛出的错误:

我已经通过 pip (pip install hid, pip install pyhidapi) 安装了 PYHIDAPI 和 HIDAPI 并检查它们是否被安装到我的 API 使用的 python 版本中 (C:\Users\user\AppData\Local\Microsoft\WindowsApps )。不过,在运行程序时,“import hid”行会抛出给定的错误:

我也检查了堆栈溢出的解决方案:如何使用 cygwin 在 Windows 上安装 hidapi没有发布解决方案,但它将以下堆栈溢出与解决方案联系起来:如何确定在哪里安装 hidapi.dll?. 我无法实施给定的解决方案,因为当我下载存储库时,它不包含要放置在 System32 文件中的 .dll 或 .lib 文件。我也无法实施提供的第二个解决方案。出于某种原因,当我尝试实施第二种解决方案时,系统无法识别任何文件名存在。

Anwhoo,如果我能在星期五之前解决这个问题会更好,因为那是我实习结束的时候。如果到那时我还不能解决这个问题,我会将这个帖子的链接保存给下一个需要处理这个问题的人。

0 投票
0 回答
10 浏览

c++ - 如何使用 g++ 编译使用 hidapi 的文件

我有一个main.cpp包含以下内容的文件:

按照 Ubuntu 20.04 的说明安装在哪里hidapi,即sudo apt install libhidapi-dev. 现在我想用

但我明白了main.cpp:(.text+0x32): undefined reference to `hid_init'。我该怎么做?(请注意,我必须写#include <hidapi/hidapi.h>而不是#include <hidapi.h>因为否则它也会抱怨这个,不确定这是否与当前问题有关。)

0 投票
0 回答
42 浏览

python - 无法在 Windows 上使用 Python 库“hid”加载 hidapi

抱歉,如果问题没有很好地提出)

我正在尝试使用依赖hidapi 库的Python 库 hid。hid 似乎无法加载 hidapi,因为它在这里告诉我:

问题是我已经从 hidapi 的发布页面(Windows x64 版本)下载了其中一个库,但我把它放在哪里似乎并不重要,它不起作用。它在我的路径中:

即使我将它放在运行 Python 的文件夹或 System32 中,同样的错误也会再次发生。这个帖子也没有用

编辑:我没有解决核心问题,但是尝试加载库的 ctypes 库并没有跳过它,因为它找不到它,而是因为它不是有效的 Win32 应用程序([WinError 193] %1 n’est pas une application Win32 valide是错误,在法语虽然)。也许是因为它没有注册,但我没有成功尝试注册它。

我找到了一个解决方法:在加载 hid 库之前手动加载 hidapi 库

0 投票
0 回答
13 浏览

python - 向 hidraw 写入命令会使操作系统冻结,并通过 libusb 工作

我有一个 .NetCore 程序,它使用 Hid 协议与 FTDI 芯片交互,使用在 Linux 平台上使用 hidraw 的库 HidSharp 代码在 Windows 上完美运行。

现在我正在努力在 Linux 平台上启用现有代码,但我遇到了一个奇怪的问题。该设备正在使用 i2c,当我发送准备读取请求的写入缓冲区时,Linux 机器冻结,只有手动关闭和重新启动才能检索它。

我采用了相同的逻辑并使用 hidapi 库在 python 中实现,它使用 libusb 工作,但是当我将 hidapi lib 定位为使用 hidraw 时 - 发生了同样的问题并且机器死机了。

我的问题是:什么会造成这种行为,我该如何解决?

最小的可重现代码是: