So I have managed (thanks to you all) to get xbmc running from ES, and using this tutorial managed to get my wireless xbox pad working in xbmc.
Starting xboxdrv in the way described in the tutorial (at startup) causes the controller to behave as a keyboard, so it no longer works in ES (unless I remap it as a keyboard when prompted)
I’ve added a line to /roms/xbmc.sh that starts the “start.sh” and removed it from rc.local so that it only starts when xbmc is started, which works fine, however I need a way of reversing the process when I quit xbmc back into ES.
I looked at editing the xbmc initscript (to include a killproc?) but couldn’t really get my head around it. I assume the solution is quite simple as I imagine this sort of thing needs to be done quite frequently but I have searched to no avail.