USB device probing

Chuck Robey chuckr at telenix.org
Tue Jun 17 16:33:28 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

OK, this won't slow me up, but at some point before I finish, I need an answer
to this question.  I've written a USB test program, to prove to myself that I
have a firm handle on all of the required USB functions for my graphic tablet
Xorg Xinput driver.  It ahs a single problem: my graphic tablet, and (it seems)
all of the many tablets that are OEM copies of mine (the UC-Logic family of
tablets), their report descriptors all have multiple report ID's defined in
their report descriptor.  They are, however, only sending a single report, and
it's neither the first, nor the most logical report ID for them to have decided
upon.

The way I tell right now which one they're sending is because the first 8 bits
of each input report is always set to the report ID.  My problem is, I don't get
any input, if the user has just booted the machine, and hasn't moved the stylus
around on the tablet yet.  There's nothing in the input buffer yet.  I don't
think I can hang the input driver, waiting upon the first user input, because
that stuff is all done in the preInit phase, and needs to be reported and set up
for later parsing.

Anybody know of any way to sort of goose the tablet, to FORCE an input report?
I don't care a whit about the rest of the fields at this point, it's prior even
to my reading of the report descriptor, so I'm not parsing the input yet, just
trying to probe out the report ID.

I'd feel really amateurish if I needed just to set a WAG for the report ID.
Hell, I don't even know the universe the report IDs can be set from yet.  I need
that first input report.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIV+TTz62J6PPcoOkRArkgAJsGuahrZE3MYnRlhmxrb5G4O6BdkQCeKHWA
iK7LTeQalfSx8srJ1FQzrlY=
=gUF+
-----END PGP SIGNATURE-----


More information about the freebsd-usb mailing list