I don't think you answered my question. I apologize if I'm missing it.

Let me try again.

You say, Q - Move Left.

That's a binding in WoW.

What our program is actually going to do is send Q to WoW.

But your window doesn't say "Send Q." Your window says "Move Left."

Q is bound to Move Left in Wow, not in our program.

How does our program know that Q is bound to Move Left in WoW?

(The number of instances, the fact that the choice of Q instead of some other output is conditional, etc. etc, is not the issue. The issue is how our program knows or sets any WoW binding whatosever. I'm using Q-MoveLeft as an example of a binding.)