I hope the original poster can get some use of that framework; I tried to make it logical and easy to follow.
It's looking good, but requires a bit of manual labor by the OP, and that could be a non-coder (first post, but a Participant since 2008, who knows).
That's why I suggested my WinButtons and WinSendKeys tools. Running that with a user-created configuration (using WinButtonEdit) from a desktop shortcut with a system-wide hotkey, is more hassle to set up initially, but could be more non-coder friendly when changes should be made to the set of keys and supported applications.
I do see a 'feature-request' for WB to pop-up at the current mouse-cursor location, though