For our thesis we are working with an Arduino Due. We bought it especially for the 2nd USB port which can emulate a keyboard. The intention was to take over the characters sent by a keyboard towards a game on PC. Instead of playing the game on the keyboard the Arduino should collect data from other devices (like potmeters and switches) and sent the proper characters towards the game.
Unfortunally our game does not recognize the Native USB interface as a full compliant keyboard. However other programs are accepting fine the characters sent by the Arduino Due.
I don't know that much of an USB interface but with USBlyzer I managed to detect some differences. My keyboard has 2 interfaces (keyboard and Mouse) The binterfaceClass/binterfaceSubClass/binterfaceProtocol is keyboard: 03_01_01 and mouse 03_01_02
For the native USB interface however, I see it is defined as a CDC device with 4 pipes. (??) The last "Interface Descriptor" has a similar binterfaceClass/binterfaceSubClass/binterfaceProtocol : 03_00_00. The others are CDC descriptors.(Communication Device Class)
Does anyone has a solution or a workaround for this problem?