I don't know if Gary has experimented with this, but from my experience with AutoHotkey's implementation, you essentially need to run as a VR application to get button input through the Oculus API.
This means that Oculus acts as if you're running a VR app that won't actually start properly(you'll get stuck in the loading scene), and it'll ask you whether you want to stop the application, which I believe you need to do to be able to start another app.
At that point it'll try to kill the app, but AutoHotkey will ignore that and keep running(which it needs to, to get button input), causing a warning message in Oculus that you need to accept(something like "this app won't close and may cause performance issues").
After all this, you can finally start the VR app you actually want to run; A very messy experience, really.
Steam VR(thanks to OpenVR, which is the SDK/API it supports), has
VR Input Emulator, which runs as a plugin without interfering with normal VR usage.
VR Input Emulator does allow for mapping keyboard keys to Touch buttons(which in turn can trigger VoiceAttack), however doesn't share analog data with other applications.
All that said, Elite: Dangerous seems to be designed with at least a HOTAS setup in mind, which comes with a large amount of buttons by definition, so mapping all that to a set of Touch controllers(especially with shifting, so buttons can change function on-the-fly) could result in quite a clumsy-to-use setup.