NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/46391



The following reply was made to PR kern/46391; it has been noted by GNATS.

From: Kooda <kooda%upyum.com@localhost>
To: Nat Sloss <nathanialsloss%yahoo.com.au@localhost>
Cc: gnats-bugs%netbsd.org@localhost
Subject: Re: kern/46391
Date: Tue, 28 Aug 2012 09:20:06 +0200

 --SUOF0GtieIMvvwua
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 Hello,
 
 Using your test program on wsmouse1 didn't show any position or button
 events at all. I modidied it to see if other events were sended and only the
 wheel events were reported.
 
 I then forced the ums match on reportid 16, I did get a new wsmouse
 interface. I tested it with your sniffer and I got (absolute) position and
 buttons events with it (it also works in X with ws).
 
 Here is what I did. I find really odd that the matching doesn't work in the
 standard way. Perhaps adding a match based on vendor-product-reportid would
 do the job...
 
 
 --SUOF0GtieIMvvwua
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename=patch
 
 --- ums.c.orig 2012-08-26 12:32:23.000000000 +0200
 +++ ums.c      2012-08-28 09:10:46.000000000 +0200
 @@ -158,6 +158,13 @@
                return (UMATCH_NONE);
  
        uhidev_get_report_desc(uha->parent, &desc, &size);
 +
 +      if (uha->reportid == 16) {
 +              printf("Waltop tablet: vendor=0x%x product=0x%x\n",
 +                  uha->uaa->vendor, uha->uaa->product);
 +              return UMATCH_IFACECLASS;
 +      }
 +
        if (!hid_is_collection(desc, size, uha->reportid,
                               HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_MOUSE)) &&
            !hid_is_collection(desc, size, uha->reportid,
 @@ -198,7 +205,8 @@
        uhidev_get_report_desc(uha->parent, &desc, &size);
  
        isdigitizer = hid_is_collection(desc, size, uha->reportid,
 -          HID_USAGE2(HUP_DIGITIZERS, 0x0002));
 +          HID_USAGE2(HUP_DIGITIZERS, 0x0002)) ||
 +          (uha->reportid == 16);
  
        if (!pmf_device_register(self, NULL, NULL))
                aprint_error_dev(self, "couldn't establish power handler\n");
 
 --SUOF0GtieIMvvwua
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename=dmesg
 
 uhidev2 at uhub1 port 2 configuration 1 interface 0
 uhidev2: WALTOP International Corp. Media Tablet, rev 1.10/1.07, addr 2, 
iclass 3/0
 uhidev2: 16 report ids
 ums0 at uhidev2 reportid 1: 5 buttons and Z dir
 wsmouse1 at ums0 mux 0
 ums1 at uhidev2 reportid 2
 ums1: mouse has no X report
 uhid3 at uhidev2 reportid 5: input=7, output=0, feature=0
 uhid4 at uhidev2 reportid 10: input=7, output=0, feature=0
 uhid5 at uhidev2 reportid 12: input=1, output=0, feature=0
 ukbd1 at uhidev2 reportid 13
 wskbd2 at ukbd1 mux 1
 wskbd2: connecting to wsdisplay0
 Waltop tablet: vendor=0x172f product=0x501
 ums2 at uhidev2 reportid 16: 3 buttons digitizer, tip, barrel, eraser
 wsmouse2 at ums2 mux 0
 
 --SUOF0GtieIMvvwua--
 


Home | Main Index | Thread Index | Old Index