Posted by Yoshio TAKAEDA on Tuesday, February 05, 2008

ついったーで目撃したとある発言に影響され、USBフィンガーマウスGM-521Wを衝動買いしちゃいました。

このとおり超小型トラックボール。

[image] [image]

でコレ、そのままでは(今日時点の)FreeBSD 7.0-PRERELEASEでは動作しなかったので、ちょっといじってみました。

次のpatchを当てると一応動作します。

*** sys/dev/usb/ums.c.orig  Wed Jul 25 15:43:06 2007
--- sys/dev/usb/ums.c   Tue Feb  5 20:42:06 2008
***************
*** 198,205 ****
                return (UMATCH_NONE);

        if (id->bInterfaceClass == UICLASS_HID &&
!       id->bInterfaceSubClass == UISUBCLASS_BOOT &&
!       id->bInterfaceProtocol == UIPROTO_MOUSE)
                ret = UMATCH_IFACECLASS;
        else
                ret = UMATCH_NONE;
--- 198,206 ----
                return (UMATCH_NONE);

        if (id->bInterfaceClass == UICLASS_HID &&
!       ((id->bInterfaceSubClass == UISUBCLASS_BOOT &&
!         id->bInterfaceProtocol == UIPROTO_MOUSE) ||
!        usbd_get_quirks(uaa->device)->uq_flags & UQ_MS_BAD_CLASS))
                ret = UMATCH_IFACECLASS;
        else
                ret = UMATCH_NONE;
*** sys/dev/usb/usb_quirks.c.orig   Tue Jan  8 08:12:39 2008
--- sys/dev/usb/usb_quirks.c    Tue Feb  5 19:30:52 2008
***************
*** 90,95 ****
--- 90,97 ----
     ANY, { UQ_MS_BAD_CLASS | UQ_MS_LEADING_BYTE }},
   { USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLINTELLIMOUSE,
     ANY, { UQ_MS_LEADING_BYTE }},
+  { USB_VENDOR_SHOPU, USB_PRODUCT_SHOPU_GM521W,
+    ANY, { UQ_MS_BAD_CLASS | UQ_MS_LEADING_BYTE }},

   /* Devices which should be ignored by uhid */
   { USB_VENDOR_APC, USB_PRODUCT_APC_UPS,
*** sys/dev/usb/usbdevs.orig    Tue Jan  8 08:12:39 2008
--- sys/dev/usb/usbdevs Tue Feb  5 19:31:02 2008
***************
*** 476,481 ****
--- 476,482 ----
  vendor BROADCOM       0x0a5c  Broadcom
  vendor GREENHOUSE 0x0a6b  GREENHOUSE
  vendor GEOCAST        0x0a79  Geocast Network Systems
+ vendor SHOPU      0x0a91  ShopU
  vendor IDQUANTIQUE    0x0aba  id Quantique
  vendor ZYDAS      0x0ace  Zydas Technology Corporation
  vendor NEODIO     0x0aec  Neodio
***************
*** 1454,1459 ****
--- 1455,1463 ----
  product KENSINGTON ORBIT  0x1003  Orbit USB/PS2 trackball
  product KENSINGTON TURBOBALL  0x1005  TurboBall

+ /* Shop U products */
+ product SHOPU GM521W  0x3801  ShopU Finger Mouse
+ 
  /* Keyspan products */
  product KEYSPAN USA28_NF  0x0101  USA-28 serial Adapter (no firmware)
  product KEYSPAN USA28X_NF 0x0102  USA-28X serial Adapter (no firmware)