I'm hoping to get some feedback on this circuit I've thrown together. I'm helping a friend with an arcade stick project. The idea is that this will be a single arcade style joystick with two interfaces, one for PC and one for a PS4. Inside the housing are the guts of two boards, one for each interface. They each have their own USB connector, but will be hooked up to the same set of controls (joystick and buttons). The idea is that it can be plugged in via the respective port for the respective system. (And obviously not both at once...)
The catch is that one of the boards uses a common ground arrangement for its buttons, and the other uses a common 1.8 V rail. Wiring both controllers directly up to the buttons is a bad idea as that means I'd be permanently shorting the inputs on one controller to ground or vice versa. And while only one controller is plugged in at a time, I'm probably sharing grounds on both somewhere in the nest of wires. My current solution is to use the 5 V on the USB line as an enable signal to a bank of MOSFETS that normally keep the controls disconnected from the board.
So in my schematic, EN_A would go high when the USB for controller A is plugged in. That allows the inputs on controller A to be pulled up to the common 1.8 V rail when the corresponding button is pressed. At the same time, controller B is disconnected from the switch.
The two diodes are there to prevent any current from flowing backwards through the MOSFET body diodes. I don't know that this will be an actual problem in practice, but I do have plenty of spare diodes lying around from a previous project. I figured why not.
MOSFETS are a dual N-channel part from Toshiba, SSM6N7002KFU. Saves me some board space and they end up cheaper than buying single FET parts. Plus I have to implement the switches in pairs anyway.
What do you all think? Have I missed anything, or should this work as expected?