I have reprogrammed an Arduino UNO so that it can send and receive USB-HID messages and impersonate a Kontrol F1. Any LUFA-supported device, like a Leonardo or a Teensy or even a Midi-Fighter (pro, classic, or 3D), should be able to do the same. You can find my fork of the hack-the-f1 project at
http://github.com/angryelectron/hack-the-f1.
Currently, Windows recognizes the device and installs the drivers for it, and it can send the required 22-byte input reports with simulated button presses, but Traktor is attempting to communicate with it and is failing. This may be because the UNO is not a high-speed USB device, or because there is some sort of handshake that occurs between Traktor and the F1 when it is first detected.
I need some help collecting more information before I can proceed with this project.
If you have an F1, Traktor installed on Windows, and access to the USBlyzer software (through whatever means, demo or full), I could really use a capture of what happens when the F1 is plugged in while Traktor is already running. This is quite simple to do by anyone - no advanced technical knowledge required. Let me know if you want a walk-through.
I would also be interested in hearing from anyone who can flash and run my code on a high-speed device, like a Leonardo, to see if it behaves differently. I think all it would take is a modification of the BOARD setting in the LUFA makefile to compile for the new target, although the Other Speed Configuration descriptor might have to be written. Again, let me know if you want more details.
Bookmarks