Hi,

   I noticed the kernel was just printing out the generic hex device id
   rather than the name of my keyboard so I did some checking and 
   there is a vendor id for "Gear Head" keyboards. These keyboards are 
   sometimes resold under different names like Octogen or Sanoxy, but
   they are rebranded Gear Head keyboards.

   Attached is a diff that identifies them as such. I got the usb id
   info from http://www.linux-usb.org/usb.ids

   Output of usbdevs -v for the aforementioned device on kernel
   without patch:

   addr 04: 0b38:0010 vendor 0x0b38, product 0x0010
            low speed, power 100 mA, config 1, rev 1.02
            driver: uhidev2
            driver: uhidev3

   Same output on kernel as per diff below:

   addr 04: 0b38:0010 Gear Head, 107-Key Keyboard
            low speed, power 100 mA, config 1, rev 1.02
            driver: uhidev2
            driver: uhidev3

   Hope the naming scheme is OK, I can change it if needed.

   Thanks,
   Tom


Index: sys/dev/usb/usbdevs
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.719
diff -u -p -r1.719 usbdevs
--- sys/dev/usb/usbdevs 22 Jul 2020 11:12:40 -0000      1.719
+++ sys/dev/usb/usbdevs 3 Aug 2020 14:08:51 -0000
@@ -406,6 +406,7 @@ vendor NEODIO               0x0aec  Neodio
 vendor OPTION          0x0af0  Option
 vendor ASUS            0x0b05  ASUS
 vendor TODOS           0x0b0c  Todos Data System
+vendor GEARHEAD                0x0b38  Gear Head
 vendor OCT             0x0b39  Omnidirectional Control Technology
 vendor TEKRAM          0x0b3b  Tekram Technology
 vendor HAL             0x0b41  HAL Corporation
@@ -2054,6 +2055,10 @@ product GARMIN GPSMAP62S 0x2459  GPSmap 6
 
 /* GCT Semiconductor products */
 product GCTSEMICON INSTALL     0x7f40  GDM720x MASS storage mode       
+
+/* Gear Head products */
+product GEARHEAD GHKB          0x0003  Gear Head Keyboard
+product GEARHEAD GHKB107       0x0010  Gear Head 107-Key Keyboard
 
 /* GEMPLUS products */
 product GEMPLUS PROXPU         0x5501  Prox-PU/CU
Index: sys/dev/usb/usbdevs.h
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs.h,v
retrieving revision 1.731
diff -u -p -r1.731 usbdevs.h
--- sys/dev/usb/usbdevs.h       22 Jul 2020 11:13:20 -0000      1.731
+++ sys/dev/usb/usbdevs.h       3 Aug 2020 14:08:51 -0000
@@ -413,6 +413,7 @@
 #define        USB_VENDOR_OPTION       0x0af0          /* Option */
 #define        USB_VENDOR_ASUS 0x0b05          /* ASUS */
 #define        USB_VENDOR_TODOS        0x0b0c          /* Todos Data System */
+#define USB_VENDOR_GEARHEAD    0x0b38          /* Gear Head */
 #define        USB_VENDOR_OCT  0x0b39          /* Omnidirectional Control 
Technology */
 #define        USB_VENDOR_TEKRAM       0x0b3b          /* Tekram Technology */
 #define        USB_VENDOR_HAL  0x0b41          /* HAL Corporation */
@@ -2061,6 +2062,10 @@
 
 /* GCT Semiconductor products */
 #define        USB_PRODUCT_GCTSEMICON_INSTALL  0x7f40          /* GDM720x MASS 
storage mode */
+
+/* Gear Head products */
+#define USB_PRODUCT_GEARHEAD_GHKB      0x0003          /* Gear Head Keyboard */
+#define USB_PRODUCT_GEARHEAD_GHKB107   0x0010          /* Gear Head 107-key 
Keyboard */
 
 /* GEMPLUS products */
 #define        USB_PRODUCT_GEMPLUS_PROXPU      0x5501          /* Prox-PU/CU */
Index: sys/dev/usb/usbdevs_data.h
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs_data.h,v
retrieving revision 1.725
diff -u -p -r1.725 usbdevs_data.h
--- sys/dev/usb/usbdevs_data.h  22 Jul 2020 11:13:20 -0000      1.725
+++ sys/dev/usb/usbdevs_data.h  3 Aug 2020 14:08:51 -0000
@@ -4210,6 +4210,14 @@ const struct usb_known_product usb_known
            "GDM720x MASS storage mode",
        },
        {
+           USB_VENDOR_GEARHEAD, USB_PRODUCT_GEARHEAD_GHKB,
+           "Keyboard",
+       },
+       {
+           USB_VENDOR_GEARHEAD, USB_PRODUCT_GEARHEAD_GHKB107,
+           "107-Key Keyboard",
+       },
+       {
            USB_VENDOR_GEMPLUS, USB_PRODUCT_GEMPLUS_PROXPU,
            "Prox-PU/CU",
        },
@@ -14280,6 +14288,10 @@ const struct usb_known_vendor usb_known_
        {
            USB_VENDOR_HP2,
            "Hewlett Packard",
+       },
+       {
+           USB_VENDOR_GEARHEAD,
+           "Gear Head",
        },
        { 0, NULL }
 };

Reply via email to