ASCII aka QWERTY Keyboard issues - Printable Version +- Conductive Labs Support Forum (https://conductivelabs.com/forum) +-- Forum: MRCC - MIDI Router Control Center (https://conductivelabs.com/forum/forumdisplay.php?fid=13) +--- Forum: General Support (https://conductivelabs.com/forum/forumdisplay.php?fid=14) +--- Thread: ASCII aka QWERTY Keyboard issues (/showthread.php?tid=1675) |
ASCII aka QWERTY Keyboard issues - microbug - 08-10-2021 Since the last thread dealing with that problem was maerked as "solved" (which it wasn't) I open a new one. Jesse said, that not all keyboards work, and that should not be the case, since there are standards for USB HID devices and if the HID descriptor says "Type: keyboard" it should work. I encountered the same problem and as with the NDLR, it seems to be another USB descriptor issue. Maybe the library used is the problem, but it needs to be adressed and solved. I tried that with my mini USB ASCII keyboard and that didnt work, also my old Mac Extended II Keyboard with iMate ADB to USB adaptor. Both keyboards work on the Akai Force and on the Roland Fantom (where it is not officially stated to do so). So I tried my cheap asian 9key keybed and that worked. So I did another USB readout, and it seems that the library only accepts keyboards with the Microsoft OS Descriptor. Here are both readouts, with the essential parts marked in red. 9 key keybed, works: Information for device ps2avrGB (VID=0x20A0 PID=0x422D): ------------------------------ Connection Information: ------------------------------ Device current bus speed: LowSpeed Device address: 0x0001 Current configuration value: 0x00 Number of open pipes: 0 ------------------------------ Device Descriptor: ------------------------------ 0x12 bLength 0x01 bDescriptorType 0x0110 bcdUSB 0x00 bDeviceClass 0x00 bDeviceSubClass 0x00 bDeviceProtocol 0x08 bMaxPacketSize0 (8 bytes) 0x20A0 idVendor 0x422D idProduct 0x0105 bcdDevice 0x01 iManufacturer "winkeyless.kr" 0x02 iProduct "ps2avrGB" 0x00 iSerialNumber 0x01 bNumConfigurations ------------------------- Configuration Descriptor: ------------------------- 0x09 bLength 0x02 bDescriptorType 0x003B wTotalLength (59 bytes) 0x02 bNumInterfaces 0x01 bConfigurationValue 0x00 iConfiguration 0xA0 bmAttributes (Bus-powered Device, Remote-Wakeup) 0xFA bMaxPower (500 mA) Interface Descriptor: ------------------------------ 0x09 bLength 0x04 bDescriptorType 0x00 bInterfaceNumber 0x00 bAlternateSetting 0x01 bNumEndPoints 0x03 bInterfaceClass (Human Interface Device Class) 0x01 bInterfaceSubClass 0x01 bInterfaceProtocol 0x00 iInterface HID Descriptor: ------------------------------ 0x09 bLength 0x21 bDescriptorType 0x0101 bcdHID 0x00 bCountryCode 0x01 bNumDescriptors 0x22 bDescriptorType (Report descriptor) 0x0040 bDescriptorLength Endpoint Descriptor: ------------------------------ 0x07 bLength 0x05 bDescriptorType 0x81 bEndpointAddress (IN endpoint 1) 0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data) 0x0008 wMaxPacketSize (1 x 8 bytes) 0x01 bInterval (1 frames) Interface Descriptor: ------------------------------ 0x09 bLength 0x04 bDescriptorType 0x01 bInterfaceNumber 0x00 bAlternateSetting 0x01 bNumEndPoints 0x03 bInterfaceClass (Human Interface Device Class) 0x00 bInterfaceSubClass 0x00 bInterfaceProtocol 0x00 iInterface HID Descriptor: ------------------------------ 0x09 bLength 0x21 bDescriptorType 0x0101 bcdHID 0x00 bCountryCode 0x01 bNumDescriptors 0x22 bDescriptorType (Report descriptor) 0x0051 bDescriptorLength Endpoint Descriptor: ------------------------------ 0x07 bLength 0x05 bDescriptorType 0x83 bEndpointAddress (IN endpoint 3) 0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data) 0x0008 wMaxPacketSize (1 x 8 bytes) 0x01 bInterval (1 frames) Microsoft OS Descriptor: ------------------------------ 0x00 bLength 0x00 bDescriptorType Hex dump: -------------------------------- String Descriptor Table -------------------------------- Index LANGID String 0x00 0x0000 0x0409 0x01 0x0409 "winkeyless.kr" 0x02 0x0409 "ps2avrGB" ------------------------------ Connection path for device: Intel® ICH9-Familie USB universeller Hostcontroller - 2934 Root Hub ps2avrGB (VID=0x20A0 PID=0x422D) Port: 2 Running on: Windows 7 with Service Pack 1 Brought to you by TDD v2.17.0, Feb 23 2021, 14:04:02 ----------------------------------------------------------------------------------- USB Mini Keyboard (aka MS-Tech or others), does not work Information for device USB\Vendor_1241_Product_1203: ------------------------------ Connection Information: ------------------------------ Device current bus speed: LowSpeed Device address: 0x0001 Current configuration value: 0x00 Number of open pipes: 0 ------------------------------ Device Descriptor: ------------------------------ 0x12 bLength 0x01 bDescriptorType 0x0200 bcdUSB 0x00 bDeviceClass 0x00 bDeviceSubClass 0x00 bDeviceProtocol 0x08 bMaxPacketSize0 (8 bytes) 0x1241 idVendor 0x1203 idProduct 0x0230 bcdDevice 0x00 iManufacturer 0x00 iProduct 0x00 iSerialNumber 0x01 bNumConfigurations ------------------------- Configuration Descriptor: ------------------------- 0x09 bLength 0x02 bDescriptorType 0x003B wTotalLength (59 bytes) 0x02 bNumInterfaces 0x01 bConfigurationValue 0x00 iConfiguration 0xA0 bmAttributes (Bus-powered Device, Remote-Wakeup) 0x32 bMaxPower (100 mA) Interface Descriptor: ------------------------------ 0x09 bLength 0x04 bDescriptorType 0x00 bInterfaceNumber 0x00 bAlternateSetting 0x01 bNumEndPoints 0x03 bInterfaceClass (Human Interface Device Class) 0x01 bInterfaceSubClass 0x01 bInterfaceProtocol 0x00 iInterface HID Descriptor: ------------------------------ 0x09 bLength 0x21 bDescriptorType 0x0111 bcdHID 0x00 bCountryCode 0x01 bNumDescriptors 0x22 bDescriptorType (Report descriptor) 0x003E bDescriptorLength Endpoint Descriptor: ------------------------------ 0x07 bLength 0x05 bDescriptorType 0x81 bEndpointAddress (IN endpoint 1) 0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data) 0x0008 wMaxPacketSize (1 x 8 bytes) 0x0A bInterval (10 frames) Interface Descriptor: ------------------------------ 0x09 bLength 0x04 bDescriptorType 0x01 bInterfaceNumber 0x00 bAlternateSetting 0x01 bNumEndPoints 0x03 bInterfaceClass (Human Interface Device Class) 0x00 bInterfaceSubClass 0x00 bInterfaceProtocol 0x00 iInterface HID Descriptor: ------------------------------ 0x09 bLength 0x21 bDescriptorType 0x0111 bcdHID 0x00 bCountryCode 0x01 bNumDescriptors 0x22 bDescriptorType (Report descriptor) 0x0065 bDescriptorLength Endpoint Descriptor: ------------------------------ 0x07 bLength 0x05 bDescriptorType 0x82 bEndpointAddress (IN endpoint 2) 0x03 bmAttributes (Transfer: Interrupt / Synch: None / Usage: Data) 0x0008 wMaxPacketSize (1 x 8 bytes) 0x0A bInterval (10 frames) Microsoft OS Descriptor is not available. Error code: 0x0000001F -------------------------------- String Descriptor Table -------------------------------- Index LANGID String 0x00 0x0000 0x0409 ------------------------------ Connection path for device: Intel® ICH9-Familie USB universeller Hostcontroller - 2934 Root Hub USB\Vendor_1241_Product_1203 Port: 1 Running on: Windows 7 with Service Pack 1 Brought to you by TDD v2.17.0, Feb 23 2021, 14:04:02 ----------------------------------------------------------------------------------- If others like to contribute Descriptor-Dumps, so that this issue can be resolved, here is the link to that tool (Windows only, dont know any Mac equivalent yet): https://www.thesycon.de/eng/usb_descriptordumper.shtml |