Chuck Robey wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Man, I'm just not sure if I am making a mistake posting here, but I tried the > usb list, and no answer to either subject, so I am risking bothering you. If > I'm wrong, and you jump all over me, I will learn that way, at least, not to do > it again. Ok, 2 parts below, here's part 1: > > I've been working trying to get my UC-Logic graphic tablet to work under > - -current. First thing I did, I began with an equivalent of a "Hello, world" and > added different features so I could get more experience playing with uhid0 > (where dmesg puts my tablet). One part of it is a reader/dumper of the > descriptor using libusbhid, and one part it printed out, the usage page, kept on > printing as a 0x0D (the number of a Digitizer) instead of what I thought it > should have been, the word "Digitizer". I looked over libusbhid, and found a > small change I could put into usage.c to get the right part to print ... > > cvs diff: Diffing . > Index: usage.c > =================================================================== > RCS file: /home/ncvs/src/lib/libusbhid/usage.c,v > retrieving revision 1.8 > diff -u -r1.8 usage.c > - --- usage.c 9 Apr 2003 01:52:48 -0000 1.8 > +++ usage.c 24 May 2008 16:34:17 -0000 > _at__at_ -164,7 +164,7 _at__at_ > errx(1, "no hid table"); > > for (k = 0; k < npages; k++) > - - if (pages[k].usage == i) > + if (pages[k].usage == HID_PAGE(i)) > return pages[k].name; > sprintf(b, "0x%04x", i); > return b; > > I wanted to apply this myself, but I wanted someone else to verify it looks ok > to apply. I used to be pretty active wtih ports, but didn't work in src before > (publicly), so if you'd just NOT apply this, just tell me if it's ok or not, I > will see about applying it. I have a freebsd.org ssh login from long while > back, it still works, so if this is a good diff, please leave it to me to do, ok? > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 2nd part is that my other prog, a uhid0 dumper, which is the first part of a > Xinput module for my tablet, is not able to correctly dump the uhid0. At first > it looked like: > > while(nread = read(udev, buf, 1024) > 0){ > for(i=0; i<nread; i++) > fprintf(stderr,"i;%d:%x",nread,buf[i]); > } > > This always returns ";1;9" in endless repetitions, no changes, and nread is > always 1. nread is a ssize_t. Well, finally, I got to wondering if it might be > possible that nread was wrong, so I made these changes to show me the first few > bytes following, no matter what the nread was: > > while(nread = read(udev, buf, 1024) > 0){ > fprintf(stderr,";%d",nread); > for(i=0; i<5; i++) > fprintf(stderr,":%x",buf[i]); > } > Cannot comment on the other stuff, but you probably want while ((nread = read(udev, buf, 1024)) > 0) { fprintf(stderr, ";%zd", nread); As a matter of style, I even would write while ((nread = read(udev, buf, 1024)) != -1) { (read is supposed to return -1 on errors, not 'something negative', I think). harti > Well, the funny thing is, the data coming out changes! I get the strong notion > that I really outght to simply read the number of bytes that the report > descriptor tells me to, but the first code sample above, shouldn't it work just > as I wrote it? What am I doing wrong? Or, is it possible that the uhid code is > wrong, I should maybe read the uhid driver and fix something? I can easily dump > enough of the desciptor to find out how much to read, no problem there, I just > can't figure out why the "correct" approach fails. > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.4 (FreeBSD) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFIOZRez62J6PPcoOkRAi0TAJ9aV1dY4SMBSmyqv9hHski3J0IlkQCeLHex > zz42d1+2Tf6SERctKLE/+gM= > =mWZN > -----END PGP SIGNATURE----- > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Sun May 25 2008 - 15:59:08 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:31 UTC