问题标签 [hid]

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 投票
4 回答
5115 浏览

.net - 如何使用 vb winforms 应用程序收集刷卡信息?

我开发了计费项目。我要实现刷卡阅读器。我不知道带有 VB + winforms 的刷卡器应用程序

有人能帮我吗 !!

提供样品和教程等...

0 投票
1 回答
82974 浏览

macos - 在 Mac OS X 中禁用鼠标加速

首先,这是用户态问题:在 Mac OS X @ superuser 中禁用鼠标加速

总结一下:我希望在 Mac OS X 上有线性鼠标响应。也就是说,没有加速;一个可调节恒定 pixels pointer moves / meters mouse moved的比率。

我不知道该怎么做。(嗯,不正确,但最好从头开始。)我应该编写鼠标驱动程序吗?启动程序?即点即忘的设置调整器?首选项窗格?

我希望我的解决方案尽可能简单、通用和无干扰,所以一些标准可能是:

  • 适用于 Snow Leopard (10.6.5) 及更高版本 - 很久以后,除非 API 的重要部分被弃用
  • 适用于鼠标,但不适用于触摸板、平板电脑、魔杖……(或者可以配置?)
  • 可以很容易地被其他想要同样东西的人应用/运行(我们这个星球上的 42 个人)

我是一个相当有经验的 C 程序员,在用户和内核空间(在 Linux 和 Windows 中),但对 Mac OS X 或 Darwin 几乎一无所知。所以任何事情都值得赞赏,真的(“不能在没有苹果证书的情况下分发驱动程序”)但是一些文档/参考会让我走得很远(“达尔文的下一代鼠标曲线编辑 API 和示例”)。

我知道这个问题有点开放,但我什至不知道什么的解决方案可以奏效。提前致谢。

编辑:虽然我已经问了两个问题来解决同一个问题,但这是另一个问题的编程对应物。(请参阅这个问题的第一句话。)在这里,我正在尝试创建自己的解决方案,可以这么说,使用 - 我不知道 - 一些 HID API?一个司机?“打开当前用户的首选项文件并将此设置更改为此”行的解决方案可能应该发布在另一个问题上,但请注意,这样的解决方案可能不存在。

0 投票
1 回答
5157 浏览

keyboard - 如何使用 Linux 和 Python3 读取模拟 HID 键盘的 USB Rfid 阅读器

我正在使用一个 Rfid 阅读器(一个小型​​ USB 棒),它模仿 Debian Linux(Squeeze)上的 HID 键盘。

扫描 rfid 标签的那一刻,less -f /dev/input/event2 在屏幕上给了我一堆乱码。通过使用 evdev Python 库(http://bit.ly/kZkO2b),我实际上可以正确解码字符串。

但我想我找错树了。这似乎太复杂了。如果 rfid 阅读器像 HID 键盘一样工作,我应该能够使用 sys.stdin 等基本功能来访问它,对吧?那么这是如何正确完成的呢?

0 投票
2 回答
1217 浏览

windows - 读取多个 HID 报告

我将报告大小设置为 64 字节,并希望将单个报告(现在说 2 个)流式传输到主机。我的理解是ReadFile这些报告可以放置一个缓冲区。在主机上,我有一个 64 字节的缓冲区,用于读取单个报告。如果我从设备发送一份报告,主机会很好地读取它。如果我ReadFile在循环中使用两个 s,则第二个 ReadFile 超时。设备正在发送两个报告。我不知道他们是否同时进入ReadFile缓冲区,所以当主机读取第一个报告的终点时,缓冲区被清除并且我丢失了第二个报告?如果缓冲区确实有 2 个报告ReadFile,我需要同时阅读它们吗?我怎么知道缓冲区中有多少报告?

0 投票
2 回答
6408 浏览

python - 用 Python 听 USB 键盘

设置:一个简约的 Linux(华硕路由器上的 OpenWRT),一个 USB 键盘(假设我知道设备名称,如 /dev/hiddev0)

目标:编写一个python(或shell,在这种情况下我可以像python的代理一样使用它)脚本,它将监听这个设备并根据用户输入执行一些操作

作为一个开始 - 足以将用户输入的字符回显到给定名称的文本文件。

PyUSB 看起来真的很混乱。我对 PySerial 没问题,虽然我不确定它是否适合任务 - 当尝试打开设备时,它说“serial.serialutil.SerialException:无法配置端口:(22,'无效参数')”

UPD:好吧,简单的答案是“cat /dev/input/event1”

但是输出真的很神秘 - 任何解释它的提示(作为字符 int 代码)?

UPD UPD:hexdump /dev/input/event1 要好得多!它为每次按键提供 6 个 9 元组(我想,3 个按键,3 个按键)解密它可能并不

但更文明的方式仍然受到高度赞赏

http://svn.navi.cx/misc/trunk/python/evdev/evdev.py看起来很有趣...

0 投票
2 回答
1308 浏览

language-agnostic - 将 USB 键盘的行为更改或覆盖为更通用的控制器

更改 USB 键盘的击键

我的问题与上面的问题非常相似......(没有明确的答案)

我有一个不错的 USB 键盘,我想用它来控制我正在编写的音频/视频程序。我不能让 USB 键盘输入干扰常规操作系统界面 -

因此,我需要让操作系统将其识别为某种通用 HID 设备、MIDI 设备或发送 OSC 消息的设备。

我正在 OSX 上编写程序,但想找出一个不涉及我破解键盘硬件的跨平台解决方案 - 希望是我可以使用的某种程序或脚本。这样做的原因是我想分发这个程序供其他人轻松使用。

关于从哪里开始的任何想法?我想我可能需要为用户编写一个单独的程序来选择一个 USB 设备并将其重新路由到我的程序中......

任何语言都可以——我用 Python 编写代码,有时用 C 和 Java/Processing。

0 投票
1 回答
2480 浏览

hid - 在 VC++ 中使用 PID 和 VID 函数检测 USB 设备的问题

我正在尝试开发一个 API 来检测 USB 设备是否已连接到我的 USB 端口。我使用 MAX3420e 作为我的 USB 设备,它通过 MSP430 uC 进行控制。我对 VC++ 的了解几乎为零,而且我一直在阅读 USB 完整版,其中提到了有关如何检测 USB 设备及其相关功能的示例代码......我编写了一个小代码来查找 PID 和连接的 USB 设备的 VID ......但是,我收到以下错误:

错误 LNK2019:函数 _wmain 中引用的未解析的外部符号“bool __cdecl HidD_GetAttributes(void *,struct _HIDD_ATTRIBUTES *)”(?HidD_GetAttributes@@YA_NPAXPAU_HIDD_ATTRIBUTES@@@Z)

谁能让我知道我哪里出错了??谢谢...

0 投票
3 回答
8852 浏览

delphi - 在 Delphi 2010 上使用 HIDController

我有一个在 delphi 7 上使用HID 控制器的应用程序,但现在我需要在 Delphi 2010 上使用它(许可证问题),但我在这个 delphi 2010 中发现了这个 HIDController 的一些兼容性问题。这个库是 JEDI 项目的一部分。

我注意到人们在 Delphi 2010 和 Win7 中使用这个库(JvHidDeviceController 组件)的一些问题。也许遇到同样问题的人可以帮助我。我现在有可能我只是不知道怎么做。

0 投票
1 回答
6420 浏览

windows-7 - Wiimote 的 Windows HID 设备驱动程序安装。我们可以改进它吗?

我们正在开展一个项目,其中我们有一个连接到 Wiimote 并从中读取数据的程序。它可以工作,但是我们想改进连接过程。在成功建立与 Wiimote 的蓝牙连接之前,我们经常需要进行多次连接尝试。这一切都在 Windows 7 32 位上。

对于每次连接尝试,我们都会执行以下操作:

  • 开启 Wiimote
  • 在 Windows 中将其作为 HID 设备启用
  • 测试连接。
  • 如果连接良好,我们就完成了。否则 Wiimote 将关闭电源并进行新的尝试。

每次打开 Wiimote 电源时,Windows 都会尝试安装通用 HID 驱动程序。当连接不好时,驱动程序安装失败,我们必须重新开始。每次尝试都安装此通用驱动程序似乎效率低下。

我们有几个问题希望您能帮助我们并为我们指明正确的方向:

  • Windows真的有必要为每次连接尝试安装驱动程序吗?例如,为什么 Windows 不能像普通 USB 鼠标一样识别/记住设备。
  • 为 Wiimote 编写我们自己的通用 HID 驱动程序会使安装更加可靠并帮助 Windows 识别设备吗?
  • 是否可以禁用或隐藏 Windows 尝试安装通用 HID 驱动程序时显示的弹出消息?我们不想删除所有设备安装消息,只删除与我们的 Wiimote 相关的消息。

关于 Wiimote 电源的注意事项:我们使用稍微硬件改装的 Wiimote,它不使用电池,而是通过连接到计算机的 USB 电缆获取电源。到目前为止,我们发现每次连接尝试之间都必须打开和关闭电源,否则设备驱动程序安装通常会失败。

0 投票
2 回答
8937 浏览

device-driver - 在 OS X 中对 HID 设备的原始访问

在 OS X 上获取对 HID 设备的原始访问权限的最简单方法是什么?

我一直在查看 IOKit 示例,但即使打开设备似乎也不必要地复杂,涉及多个回调并包含来自六个库的内容。
libusb 可用于 OS X,但内核抓取所有 HID 设备以进行独占访问,并且在尝试使用无代码 .kext 阻止它与我的设备关联时,我遇到了奇怪的行为(它阻止内核抓取设备最初,但任何配置设备的调用似乎都会导致内核从我正在测试的小 python libusb 脚本下抓取设备)。

基本上,我有一个只是流式传输数据的 HID 设备。我想打开它以进行(理想情况下是独占的)访问,并获取数据流。

我在 IOKit 文档中找到的所有示例都非常复杂,与 libusb 中大约 8 行相比。必须有一种更简单的方法,它不是第 3 方库。

值得注意的是,我完全不熟悉任何功能的 OS X 编程。

Python支持将是一个不错的选择