Hello guys,
I'm using a standard 2 axis / 2 button joystick with hall sensors, which is connected via USB to a computer. I need to add two external buttons to it, but since it is encapsulated there is no way to add these internally to the joystick. So my idea is now to design a circuit which sits in between the joystick and the computer and acts as a middle-man: Get the HID reports from the joystick, add the two external button states and relay the changed report to the computer.
This requires a microcontroller, which has to act as an USB host for the joystick and as a USB device for the computer. Since I don't want to bit bang USB, the chip needs to have two dedicated USB interfaces, preferably with integrated PHY. I've looked around for a bit, and the STM32F4 series has some parts which have two interfaces (STM32F405RG for example, which looks overpowered, though).
The last time I tinkered with USB stuff was with 8 bit Atmels with V-USB and LUFA, so I'm a little out of practice. Do you think this idea is feasible? What microcontroller would you use?