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 } };