You can get the PS3 controller to connect via Bluetooth without having to configure it in ES everytime by adding a sleep command in the script that launches ES.
At a command line, run the following:
cd /usr/bin/
sudo nano emulationstation
After the #!/bin/bash line, before the $es_bin, add the command sleep 5.
My script now looks like:
#!/bin/bash
sleep 5
es_bin="/opt/retropie/supplementary/EmulationStation/emulationstation"
nb_lock_files=$(find /tmp -name ".X?-lock" | wc -l)
if [ $nb_lock_files -ne 0 ]; then
echo "X is running. Please shut down X in order to mitigate problems with loosing keyboard input. For example, logout from LXDE$
exit 1
fi
$es_bin "$@"
Save, exit and reboot. When the sixad service has started and the pi doesn’t seem to be doing anything, press the PS button on your controller. When ES has launched you controller should now be working.
I found 5 seconds was sufficient for the Bluetooth controller to connect. ES for me takes 25 seconds to load so another 5 doesn’t really add much.