Using and tweaking the guide above, I managed to get my Nvidia Shield Controller working via USB and map the buttons in the RetroPie GUI.
I had to add this file, othervise it would not recognize the gampad buttons, only the trackpad:
https://github.com/cyndis/shield-controller-config/blob/master/99-shield-controller.rules
SUBSYSTEM=="input", ENV{ID_MODEL}=="NVIDIA_Controller_v01.03", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1", ENV{ID_INPUT_MOUSE}=""
I put this file in the following location:
/etc/udev/rules.d/99-shield-controller.rules
To activate:
sudo systemctl disable xboxdrv
sudo systemctl stop xboxdrv
sudo systemctl daemon-reload
sudo udevadm control --reload-rules
The trigger buttons registers as an Axis? Guess this is due to the xboxdrv device configuration?
All buttons work fine in the GUI, but when I launch RetroArch I had to manually map the buttons again in the "Settings->Input->Input User 1 Binds" And select "User 1 Device Index: NVIDIA ..."
Then I mapped the buttons accordingly...
Still some tweaking to go, but I'm getting there - using Linux is a learning experience every day ;-)