I'm having similar problems with Retropie. I'm using a Picade from Pimoroni that has its arcade controls mapped as keyboard buttons through their PCB, running on a Pi3. I'm trying to configure my setup with P1 using the arcade buttons, and P2 using a wired Xbox 360 controller. I have the keyboard configured properly, as well as xboxdrv installed and enabled. I'm crossposting from the below link in an effort to get some kind of assistance, so I apologize if something sounds out-of-context
I entered manual config lines into my retroarch.cfg file to correspond to player 2 (http://forums.pimoroni.com/t/multi-player-picade/1507, my cfg is almost identical to the one themattsearle pasted). If I do a simple restart, the P2 controller will navigate all retropie menus exactly as expected, but once I load any game the controller ceases to function (P1 functionality never seems affected, which is good) until I back out to the menu with P1, not even the ingame Retroarch menu functions. Also, every game that I start has a little popup yellow text message in the bottom left corner at the start: "Xbox controller userspace blah blah is not configured"
If I open the retropie menu and "Configure Input" for the Xbox 360 controller, Player 2 inputs in games work perfectly as expected, but it has the problem with controlling P1 and P2 simulataneously. If I delete the .cfg file named after the 360 pad in the /configs/all/retroarch-joypads (the only file in there) and restart emulationstation, I revert back to the ES menus working but ingame controls not for P2. I even tried copying the input_player2_ lines from retroarch.cfg into that xbox cfg, but nothing changed.
As a last-ditch effort I restored my Retroarch.cfg back to the original unaltered backup I made (just in case I tweaked more options that could be complicating things). That had no different effects so something just isn't working as it should. How is it possible that the P2 controls can be configured manually but the emulators just don't recognize it? I think when I get home today I'm going to do a full system update to the newest version and see if that makes a difference. I spent so many hours configuring my romlists, scraping for artwork and manually configuring things that I really don't want to start from scratch on a fresh disk image.
I feel like I can't win and it's driving me mad. There has to be something simple that I'm missing and I can't figure out what. I'm fairly new to Retropie and just built this cabinet a few weeks ago. I was hoping to bring it to a christmas party this Saturday to show off to everybody, but I really just want 2-player support to work with a minimum of fuss.