问题标签 [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.
c# - 罗技 USB HID 控制器消息
我有一个罗技游戏控制器(http://www.amazon.com/Logitech-Dual-Action-Game-Pad/dp/B0000ALFCI)。我正在使用 c# 和 Microsoft 的 HID 驱动程序来跟踪正在按下的按钮。每次按下按钮都会发送一个包含 8 个值的字节数组。问题是我不知道这 8 个值代表什么。这是一个例子:
这些是分别按下按钮 1、2、3、4 的字节数组的值。我看到值在哪里发生变化,但我不确定它们代表什么。我找不到有关 Microsoft HID 驱动程序的任何规格。有人可以指出我正确的方向吗?
usb - 滚动我自己的 Windows 操纵杆 HID 驱动程序?
我有一个 USB 操纵杆,我想为它编写自己的 HID 驱动程序。值得注意的是,我想在 Windows 接收到操纵杆输入和通知我的应用程序该输入事件之间注入延迟。我还想更改我的应用程序感知到的操纵杆的身份。我从来没有为 Windows 编写过驱动程序,更不用说 HID 驱动程序了。任何人都可以为我提供有关如何执行此操作的建议或指示吗?
c++ - 系统上报设备时,LParam 中返回哪些 HID 设备信息?
我一直在搜索这方面的信息大约 30 分钟,但到目前为止一无所获。有谁知道当系统(在本例中为 windows)报告系统设备更改时返回的 LParam 中隐藏了哪些 HID 信息?(移除或到达)
android - [BT][HID] 在 Ubuntu 或 android 中如何处理蓝牙 HID 连接
我正在开发一个使用蓝牙 HID 配置文件的项目。我知道 android 中的 BlueZ 堆栈具有 HID 支持,但它没有被 Android 框架扩展到应用层。
我主要关心的是了解蓝牙 HID 设备的驱动程序级别流程。我想添加一个新的 HID 设备驱动程序,它可以处理来自蓝牙 HID 设备的关键事件并将其传递给输入子系统。
任何帮助将不胜感激!!
谢谢
visual-c++ - WDK (Windows Driver Kit) 和 VC++ 头文件问题
我正在尝试从 USB HID 设备中读取数据,我知道如何在 C# 中使用 DLLImport hid.dll 进行读取,但我想从 C++ 中读取,这样我就不必声明所有结构等,并且只包含头文件。
所以我下载了WDK,然后在包含头文件和链接库时遇到很多错误:
错误(163 个中的 6 个):
好的,所以我在某处读到我也必须升级 Windows SDK,我有 Microsoft Windows SDK v6.0A,我下载并安装了 Windows SDK v7.0。但是看起来我现在有两个 SDK?我如何在 Visual Studio 中正确进行 SDK 升级?
非常感谢您的帮助,
谢谢,卡洛斯
c++ - 在 Mac 上读取和写入 USB (HID) 中断端点
我正在尝试与一个相当特定的 USB 设备进行通信,并为此开发 Windows 和 Mac 代码。
该设备是具有 HID 接口(3 类)的 USB 设备,具有两个端点,一个中断输入和一个中断输出。设备的性质是,只有当主机请求数据时,才在输入端点上从设备发送数据:主机向其发送数据,设备在其输入中断端点上响应该数据。将数据获取到设备(写入)要简单得多......
Windows 的代码相当简单:我得到设备的句柄,然后调用 ReadFile 或 WriteFile。显然,许多底层异步行为都被抽象出来了。它似乎工作正常。
然而,在 Mac 上,它有点粘。我尝试了很多事情,没有一个是完全成功的,但这里有两件看起来最有希望的事情......
1.) 尝试通过 IOUSBInterfaceInterface 访问设备(作为 USB),遍历端点以确定输入和输出端点,并(希望)使用 ReadPipe 和 WritePipe 进行通信。不幸的是,一旦我拥有它,我就无法打开界面,返回值 (kIOReturnExclusiveAccess) 指出某些东西已经让设备独占打开。我曾尝试使用 IOUSBinterfaceInterface183,以便可以调用 USBInterfaceOpenSeize,但这会导致相同的返回错误值。
--- 更新 2010 年 7 月 30 日 ---
显然,Apple IOUSBHIDDriver 与设备早期匹配,这可能是阻止打开 IOUSBInterfaceInterface 的原因。从一些挖掘看来,阻止 IOUSBHIDDriver 匹配的常用方法是编写一个具有更高探测分数的无代码 kext(内核扩展)。这将尽早匹配,阻止 IOUSBHIDDriver 打开设备,并且理论上应该允许我打开接口并直接写入和读取端点。这没关系,但我更希望不必在用户机器上安装额外的东西。如果有人知道可靠的替代方案,我将不胜感激。
2.)将设备作为 IOHIDDeviceInterface122(或更高版本)打开。为了阅读,我设置了一个异步端口、事件源和回调方法,以便在数据准备好时调用 - 当数据从输入中断端点上的设备发送时。但是,要写入设备需要的数据来初始化响应,我找不到方法。我难住了。setReport 通常写入控制端点,另外我需要一个不期望任何直接响应、不阻塞的写入。
我在网上环顾四周并尝试了很多东西,但没有一个能让我成功。有什么建议吗?我不能使用很多 Apple HIDManager 代码,因为其中大部分是 10.5+,而且我的应用程序也必须在 10.4 上运行。
c# - 如何检测连接到系统的设备何时可以使用?
如果这与之前的问题相似,我很抱歉,但这是我刚刚注意到的。我可以检测到我的设备何时连接到系统(通过 USB)并正确捕获消息但是如果我拔下并重新插入设备,尝试通过CreateFile()函数访问设备总是返回错误:ERROR_GEN_FAILURE 31 (0x1F )转换为 -连接到系统的设备无法运行,但是,这是在收到DBT_DEVICEARRIVAL消息后尝试的“。我相信这里发生的情况是,即使报告为已准备好,该错误也与设备未准备就绪有关,因为如果我再次重新枚举系统上的设备列表,则设备已准备就绪。有还有其他人遇到并解决了这个问题吗?或者有什么我遗漏/忽略的东西吗?
macos - 如何告诉 OS X 忽略来自两个连接的 USB 鼠标之一的输入?
我有两个 USB 鼠标连接到我的 Mac,其中一个用作扫描仪。我需要访问通用 X 和 Y 数据,但我不希望该数据移动光标。在碳或可可环境下,我如何告诉系统忽略鼠标作为指点设备?
编辑:经过一番挖掘,我发现我可以使用 CGAssociateMouseAndMouseCursorPosition() 函数关闭鼠标位置更新,但这不允许我指定单个鼠标。谁能解释 HID 鼠标设备和光标之间的 OS X 关系?在逐个设备的基础上,硬件和软件之间必须有绑定,但我找不到它。
c# - 如何从 USB HID 设备读取输入?
我正在制作一个在销售点的后台运行的应用程序,以读取来自 USB 扫描仪的输入。如何从 C# 获取扫描仪的输入?我可以区分扫描仪和 USB 键盘吗?(扫描仪是 HID 设备)
android - android 可以模拟 HID 设备吗?
我正在尝试设计一个允许我让 android 模拟硬件设备的应用程序。
IE 一个通用键盘,一个通用鼠标。
我基本上可以将我的 android (HTC) 插入计算机,并将其编程为使用软件键盘作为计算机硬件键盘。
我对如何实现这一点没有任何指导。
我只想连接 USB(不是蓝牙)。这样电脑在工作前需要0安装。大多数设备都可以在 Dos 模式下工作。