我有一个HID设备(picoLCD单色显示器),我在用C#编写的Windows程序中打开它。我的设备有3个HID“实例”,路径如下:_devicePath="\\\\?\\hid#vid_04d8&pid_c002&col01#7&12adec39&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"_devicePath="\\\\?\\hid#vid_04d8&pid_c002&col02#7&12adec39&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}"_devicePath="\\\\?\\
我们有一些与内部研发工具通信的HID设备(触摸数字化仪)。此工具从设备解析原始功能报告以绘制触摸报告以及原始功能报告中存在但被Windows7的HID驱动程序过滤掉的一些其他数据(例如,压力数据WM_TOUCH消息中不存在)。但是,我们已经开始使用一些可能具有不同固件变体的设备,因此它们不共享相同的字段顺序或字节长度,我需要修改我们的研发工具,以便它能够透明地适应所有设备。这些设备来自同一制造商(我们自己)并共享相同的设备信息,因此无法使用这些字段来区分不同的固件。我想做的是获取设备发送的HID功能报告描述符,并根据此信息动态更新我们的功能报告解析方法。但是,在浏览WindowsAPI
当我对CreateFile(HID_DEVICE_NAME,...)提供的句柄执行ReadFile/WriteFile时,HID操作方面会发生什么情况?它是向HID设备(在我的例子中是USB)发出直接写入/读取请求,还是在底层驱动程序的某处进行转换以读取具有此类ID的最后缓存的HID报告?ReadFile调用:syncDevice.OutputReportBuffer[0]=0;syncDevice.OutputReportBuffer[1]=reportID;HANDLEwriteHandle=CreateFile(pDevice->DevicePath,GENERIC_WRITE,
更新我成功地发送了数据。对于遇到同样问题的任何人,我使用了以下代码:data=[0x00,0x04,0x04,0xFF,0xFF,0xFF,0x00,0x00]result=dev.ctrl_transfer(0x21,0x9,wValue=0x200,wIndex=0x00,data_or_wLength=data)(这是基于此处发布的答案:link)但是我不是很详细,为什么要用bmRequestType=0x21bRequest=0x9wValue=0x200这是什么解释?初始请求:我正在拼命尝试使用PyUSB向HID设备发送一个简单的报告。使用“SimpleHIDwrite”,我
背景我正在尝试在Win10中使用C++从精密触摸板获取触摸坐标,程序在后台运行。研究Rawinput可以在后台获取数据。我可以从microsoft中获取具有这些使用ID和页面的数据:MemberDescriptionPageIDMandatory/OptionalXXcoordinateofcontactposition0x010x30MandatoryforTOptionalforCYYcoordinateofcontactposition0x010x31MandatoryforTOptionalforC我可以把他们两个和HIDP_functions放在一起,来自thisanswer
我在Linux上有一个应用程序,它使用hidapi读取复杂设备的数据(由Qt5.3创建)。该设备有多个接口(interface)HID,一种是“鼠标”,一种是“键盘”。在Linux上,我可以毫无问题地获取所有数据。我还需要在Windows上部署我的应用程序。我可以显示所有几个设备和接口(interface),但我无法打开接口(interface)类型为“鼠标”或“键盘”的连接。(hid_open_path返回null)。我看到Windows不允许打开与鼠标和键盘的连接(因为此设备已被Windows使用)。我怎样才能绕过这个禁令?我怎样才能阻止Windows使用特定的键盘或鼠标打开句柄?
几天来我一直在为一个问题而苦苦挣扎,但我无法让它工作。我刚刚开始使用python,现在我已经面临着我将在这个项目中面临的最大问题。情况是这样的:我必须制作一个扫描条形码的程序。将其传达给在线服务并打印PDF。这一切都很好,但我也想在窗口“失焦”时扫描条形码。所以我想让人们在窗口最小化的情况下使用条形码扫描器进行扫描。我正在运行Windows8,并且正在使用Python3.3。条形码扫描仪是一种HID设备,它本身就是一个键盘。我已经尝试将此项目转换为python3.3,但它不起作用。-->http://learn.adafruit.com/barcode-scanner/overview
我需要一些指导,了解如何或是否可以在没有在PC上运行的“服务器”应用程序的情况下实现这一点。我已经建立了与PC的蓝牙连接,我想发送HID命令来控制类似于答题器工作方式的幻灯片。 最佳答案 thislink概述的PDF是关于通过蓝牙连接发送HID命令的出色、详细、与平台无关的资源。它讨论了将您的设备设置为服务器,以及通过链接发送的相关命令。所以,回答#1-这是可能的。2thisdocument概述了它是如何完成的。 关于C#模拟HIDClicker蓝牙,我们在StackOverflow上找
我正在寻找两件事之一1-使用来自Florian库的代码的工作示例:http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/这似乎是更好的(仅???)C#/HID库之一,但作者已经MIA,我似乎无法获得代码示例。我的代码是:{USBHIDDRIVER.USBInterfaceusb=newUSBInterface(myvid,mypid);if(usb.Connect())MessageBox.Show(”connection!”);elseMessageBox.Show(”FAIL”);usb.
最近在使用pyusb进行鼠标原始数据的读取,使用的是树莓派linux环境,将踩过的“坑”记录下来:一般需要使用sudo运行程序,否则linux系统会报“权限不够”;对于同时支持无线鼠标、键盘的无线接收器设备,一定要找对接口。一般会有3个接口,但只有一个接口可以被正常读取;无线接收器返回的数据,不像网上说的什么,鼠标返回4字节,键盘返回8字节,罗技的unifying无线接收器,能正常读取数据那接口,最多返回32字节,一般返回15字节数据;关于返回的数据,经逆向破解,基本为:字节032(十进制,以下皆用10进制表示),为鼠标或键盘数据字节1鼠标数据为2,键盘数据为1字节2和字节1相同字节3鼠标数据