Comments (10)
@idanstark42 HID class devices are "hard" configured by the USB descriptors.
This is a hardware configuration and capabilities restriction.
One way to work around this, would be to have an adaptor intermediate device, which still sounds to much and specific for a given device. If this is your device (or you have the choice to modify the firmware), I'd rather suggest to change its USB descriptors and operations. Still not straightforward for most people though.
from pywinusb.
@idanstark42 HID class devices are "hard" configured by the USB descriptors.
This is a hardware configuration and capabilities restriction.
One way to work around this, would be to have an adaptor intermediate device, which still sounds to much and specific for a given device. If this is your device (or you have the choice to modify the firmware), I'd rather suggest to change its USB descriptors and operations. Still not straightforward for most people though.
from pywinusb.
from pywinusb.
@idanstark42 interesting... Why do you think this happened? Did you manually install your device initially or had any "filter driver" dealing with it?
from pywinusb.
from pywinusb.
from pywinusb.
That looks like a valid descriptor.
In this case you only have a single input report, so your device is instructing the HID parser to skip any report Id.
This is kind of a common descriptor structure for very simple devices, likely these are implemented in very resource constrained small SoC silicon devices.
from pywinusb.
from pywinusb.
There is a big restriction for trying to use HID input devices with PyWinUSB: Windows would "own" the device, so it's just not possible to share access.
If you can actually find your device is because it might expose non input devices usage pages (e.g. LED usage items) and only output or feature reports are available.
Makes sense?
Anyway, this is not a dead end if you still want to capture your device input. Here is where a USB comes handy, but honestly for this you'd might be better off with libusb et. al. kind of libraries.
PyWinUSB "just works", no need for special drivers or config, for regular non input devices, but for keyboards, mice and some game input devices you might actually do it better using other Windows API access calls or events, which actually some are kind of standard events.
from pywinusb.
from pywinusb.
Related Issues (20)
- Running show_hids.py - A USB HID not showing in the list HOT 10
- Question about get input and send output from my custom USB device. HOT 5
- pywinusb vs pyusb HOT 2
- Options to get input reports
- InputReportProcessingThread is never closed
- Can't see all the HID devices connected to the PC HOT 1
- How do I send a simple feature report? HOT 2
- Set Feature Report data last byte corrupted HOT 4
- WinError 2 HOT 1
- Can I use this library to emulate HID mouse drivers without additional hardware? HOT 1
- PNP for tkinter HOT 4
- USB device isn't found
- HID RFID Tag Reading Issue HOT 3
- Reading Data from Device connected through USB using pywinusb
- Data reading! HOT 1
- core.py collections callable error
- ValueError: not open
- not getting "raw_data_handler" events with keyboard HID devices
- instance_id unable to be used as HID filter
- core.py Issues with sending output report to HID device
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pywinusb.