thefloweringash / iousbhiddriver-descriptor-override

Fix broken USB HID descriptors. Now with Noppoo Choc Mini support!
http://thefloweringash.github.io/iousbhiddriver-descriptor-override
GNU Lesser General Public License v3.0
204 stars 25 forks source link

Issues with Tt eSPORTS Poseidon ZX (0566:3063) keyboard on MBP16 with Mac 10.15.7 #49

Closed xiaokunx closed 2 years ago

xiaokunx commented 3 years ago

This is a great tool that enabled me to use this keyboard on MBP 13 before with both Mac OS El Capitan / Sierra, almost out of box. But it is having issues on MBP16 with Mac 10.15.7.

I've disabled the SIP, installed both the 2020-07-08 and 2020-07-10 version of dmg files in turns from the download page. The installation went through without error. After numerous reboot, certain keys are still mismatched, such as the space, -/+, backspace, tab, control, etc

Per the debug instructions:

1) the kext is loaded

> kextstat | grep IOUSBHIDDriverDescriptorOverride                                                                                                                                  
  197    0 0xffffff7f8429c000 0x2000     0x2000     ryangoulden.driver.IOUSBHIDDriverDescriptorOverride (1) AC113146-16F5-32F4-97C7-7FD1CF6AED06 <195 52 5 3>

2) kext is used

 ioreg -b -f | grep IOUSBHIDDriverDescriptorOverride                                                                                                                               
    | |   |   |   | |   | +-o IOUSBHIDDriverDescriptorOverride@14210000,0  <class IOUSBHIDDriverDescriptorOverride, id 0x10000147b, registered, matched, active, busy 0 (98 ms), retain 11>

3) device is supported:

>plutil -p /Library/Extensions/IOUSBHIDDriverDescriptorOverride.kext/Contents/Info.plist
"0566-3063-USB_KeyBoard.yaml-0" => {
      "bcdDevice" => 256
      "bConfigurationValue" => 1
      "bInterfaceNumber" => 0
      "CFBundleIdentifier" => "ryangoulden.driver.IOUSBHIDDriverDescriptorOverride"
      "HIDDefaultBehavior" => ""
      "idProduct" => 12387
      "idVendor" => 1382
      "IOClass" => "IOUSBHIDDriverDescriptorOverride"
      "IOProviderClass" => "IOUSBHostInterface"
      "ReportDescriptorOverride" => {length = 145, bytes = 0x05010906 a1010508 19012903 15002501 ... 02750895 018101c0 }
    }

4) device is recognized:

>ioreg -p IOUSB -c IOUSBDevice | grep -e class -e idVendor -e idProduct -e bcdDevice
...
+-o USB KeyBoard@14210000  <class AppleUSBDevice, id 0x1000013ec, registered, matched, active, busy 0 (2 ms), retain 13>
      |     "idProduct" = 12387
      |     "bcdDevice" = 256
      |     "idVendor" = 1382
...

Any advice would be appreciated!

xiaokunx commented 2 years ago

problem solved thanks to the solution mentioned in https://github.com/thefloweringash/iousbhiddriver-descriptor-override/issues/43