@yfzdude and @dankcushions , thank you for joining the discussion, and glad to have someone who is familiar w/this controller... geez I can't believe all this time that I didn't realize that the Logitech logo was a button as well(!!). I may have to do that controller test again to see what it comes up as, because somehow I missed it even there. So fortunately, I was able to assign it as the HotKey button, although it didn't actually show up the first couple of times I pressed it, which isn't entirely reassuring, but it seems to be working now.
So that said, I may wanna look into getting different controllers moving forward (including possibly that Dualshock that you mentioned), but for the moment this seems to get the job done and pause the game as I'd originally hoped, so yeah, doesn't look like I may wanna return this controller as I'd feared.
But yeah, re: that weird "Mode" button, you're right, it DOES seem to alternate you btwn/enable and disable the cross-shaped directional controls and the thumbstick one, and there'd been a few times during games when one control didn't seem to be working (when I'd pressed Mode without realizing it), and had to switch to the other directional option. Usually I'd end up just resetting the game to get it back to normal, but glad to know now what the purpose of it is.
The games you play should support a controller interface, most of them probably work with a keyboard and mouse and not exclusively with a controller.
There are generic gamepad-to-keyboard/mouse mappers, for Linux I know about antimicro, but the best solution is for the game to natively support a gamepad.
@bomberb17 For RetroArch/libretro based emulators (lr-mame..), the Select key should function as a 'Coin Insert'. If you're other MAME emulators (advmame, mame4all), I think you need to open the MAME input menu (pressing TAB on a keyboard) and manually map the key/button you'd like.
Deleting retroarch.cfg and renaming the other one didn't help. I reinstalled RetroPie with the same image. Installed plugin https://github.com/meleu/RetroPie-joystick-selection. In it I've set detect by name and set Logitech to player1 and Redragon to player2. It worked for player1 in lr-pcsx-rearmed. Not for player2. It is a problem with Redragon gamepad I think.
In plugin I've deleted 2nd gamepad and Logitech now works in all my cores and all my games and in RetroArch menu.
But when I've tried games the very first time, I had only one gamepad (Logitech) and keyboard plugged. And they didn't work in games.
I think it's the problem in RetroArch, that it decides on its own what controller to use for player. And you can't configure it easily.
That plugin is a good solution with detect by name option, it sets the corresponding device for the corresponding player as you want it, not as RetroArch wants it.
But to be sure I need to test it with normal gamepad for player2, not Redragon one.
The only setting which might be related to the joypad is input_joypad_driver, which is by default udev. You can try re-adding back the file, then changing this to sdl2 and see if this fixes the mapping.
Yeah, I tried that. Didn't change anything.
I've decided to just restore my RetroPie install from a backup and avoid the Xpad driver update for the time being. I was able to update everything else individually without issue.
Thank you for your time and I apologize for not seeing this through to end.
@herb_fargus Thanks for the pointer - but it was actually the bottom right trigger, not one of the top ones - and I'm on the latest Retropie (4.x) so that issue shouldn't be happening anyway....like I said, no worries, I just added the trigger in manually and it's good to go. :) Love this thing - I've already built several more for friends! :)
In summary, some USB adapters / controllers, such as this one, have issues on various Linux distros. A problem on HID Input drivers prevents D-Pad to work properly. Down and Right works, but no Up and Left.
To solve this problem, you'll need to recompile Linux kernel on your RPI after making a few changes on "hid-input.c" file, which is located in "/drivers/hid/hid-input.c" (Within the source code directory). You can find all instructions on link above.
Alternatively, you can try a few compiled kernels made by the same guys who found this solution. But you'll need to make sure the kernel was compiled exactly for your linux version, or else, you may have problems (I got no sound problem two years ago, when I tried those kernels).
This kernel bug is here since 2010, and it affects Linux on desktop too (got it on Ubuntu 14.04 and 16.04, per example). Until now, it wasn't fixed by developers. So, the only way to get it working is by compiling kernel from scratch.