Man… I wanted the same thing, the NES to use the X Button on my Xbox controller to be the B button and the A button to be the A Button… after much hassle, I figured it out:
Edit “/opt/retropie/configs/nes/retroarch.cfg”
Add these two lines to the bottom:
input_player1_b_btn = (button number of your controller, not in brackets or quotation marks)
input_player1_a_btn = (same, pick the correct button number)
For example mine looks like:
input_player1_b_btn = 2
input_player1_a_btn = 0
Then I saved, restarted and it worked! I was so happy because like you I tried a bunch of crap. It seemed like it was just the “player1” portion of the command that solved my problem. Also, for mapping you are mapping the actual system button you want, not the actual button that shows on the controller. If your controller shows the “X” button and you want that to be the emulator’s “B” button you use “b” on the line. A just happens to be the button I wanted to use for A anyways. You wouldn’t use X because there is no X button on a Nintendo controller.
Thought I would share this as it was a bitch to figure out! Like you said it is more natural having your thumb use those two buttons than angling it the other way!
I am using the newest Retropie 3.0 BETA 3 that just released the other day.
Cheers, hope I helped!
=)