Using a GamePad as a MIDI Controller (X-Y), on Win-64
If you're like me and have a MIDI keyboard with lots of buttons, sliders, X-faders and dials but no dedicated X-Y pad and you're using a 64-bit version of Windows, read on...
First off, kudos to z3ta+ (v1 and v2) for supporting this 'natively'; if there's a controller in the windows control panel which has X-Y capabilities, z3ta will automagically route this to its X-Y pad. Really nice design touch there.
If you're using [an|y]other synth, and have a gamepad which has at least one analog stick then one solution is to use the Fergo JoystickMIDI application along with Tobias Erichsen's loopMidi utility. Particularly these two pieces of software as they are 64-bit. If you're using 32-bit Windows, then there's a lot more choice available, but for 64-bit this was the only solution I was able to find.
For the experiment, I used a Saitek P2600 Rumblepad (USB) I had lying around (or you could use e.g. an XBox controller). Run loopMIDI first and create a loopback port. Then run JoystickMIDI and select the loopback port as its output. One slightly odd aspect of JoystickMIDI's behaviour is that you need to create a new profile, then also load that profile, before the 'Add' button in the 'Current MIDI Outputs' section of the UI becomes available (this is where you associate the gamepad's controls with MIDI CC/Note on|off/etc. values).
Once the control mapping has been set-up in JoystickMIDI, configure the MIDI input channel of a track to use the loopback port, route that to the VSTi you wish to control, then MIDI-learn or use ACT etc. to set-up the control associations.
I was using both analog sticks on the Saitek to control both of Alchemy's X-Y pads, or an X-Y pad and the snapshot mixer. Works perfectly, it's a shame I'm so lousy at twin-stick shooters ;-)
In case you're not sure about the suitability of using a non-musical device such as a gamepad for this purpose, actually they've been designed for accurate control of X-Y parameters and so are ideal for the job. I prefer this to e.g. using the touchscreen of a tablet, and the routing is simpler to set-up. The one potential problem is that such controllers are auto-centering, so both the X and Y values will return to '50%' once you take your thumb off the stick.
Thus far I've only configured the analog sticks, but there's no reason why the buttons and triggers can't be configured as well, e.g. for transport control, mute button enabling/disabling etc.