This small plug-in was written to allow SAW to see keystroke sequences as mouse clicks, in order to write better macros for various functions. Once installed, the helper does not need to be patched anywhere; it merely needs to appear on the list of available plug-ins to be active.
Once active, the 'tilde' key (upper left of keyboard) is the "Hot Key" to wake up the App. After tilde, F9 emulates the Left Mouse button, and F10 emulates the Right Mouse button. Both emulated buttons do not work simulataneously, but fortunately any menus that require this also work with ALT-Right Button.
So basically, program the sequence Tilde, ALT-F10 into your X-Keys, followed by whatever sequence of arrow keys is necessary for the menu function you want. I begin my X-Keys sequences with an 'Alt, V [View Menu], [appropriate view screen]' entry just to make sure the window with the popup menu I want is active. The only PITA of this approach is that the mouse pointer needs to be located in an appropriate area, for example for the track properties menu, the mouse must be over the track name box. For channel store/recall options, the mouse must be over a channel strip, etc. It's still a lot more pleasant than the many, many mouse/keystrokes necessary without the X-keys.
Some menus close when you release the 'mouse' button. Simply holding the ALT button through the rest of the key sequence takes care of this.
As a technical note, you may wonder why this has been implemented as a SAW plugin instead of a standalone program to emulate mouse clicks from the Keyboard. The answer is that Bob installs low-level keyboard hooks (and mouse hooks, apparently) at the launch of SAW, which explains all of the difficulties I had attempting to get various Macro packages to work properly. My plugin simply installs another hook in front of Bob's, after Bob's is installed. Theoretical performance hit should be _extremely_ neglible.
Also, there's no installer for the helper at present (it is a HACK after all). Just drop it into your Native_Plugins folder and add it's name to your SAWStudioFX_Native.ini file.