@John_Ruggero, if this is mainly about creating specific Playing Techniques, you might want to have a look at the ConsoleTools Playing Techniques library, which allows you to bind* key commands to specific techniques. The ConsoleTools framework itself makes it also possible to re-arrange the key commands on the fly, to match the workflow of a specific task.
* some initial assembly required