You could create a macro with an application like Keyboard Maestro, iKey or QuicKeys. Many of them also support something like the quick macros in Keyboard Maestro. You can press ⌃F1 to start or stop recording a macro, and then play it back with ⌥F1.
You can also emulate keypresses with AppleScript. The delay at the start is not needed if the script is run with FastScripts.
delay 0.5 -- if the script is run with a shortcut that has modifier keys
activate application "TextEdit"
tell application "System Events"
keystroke "aa"
key code 123 using {shift down, command down}
end tell
The keystroke command can only be used to insert characters that are included in the current keyboard layout. If the text is long enough, there's also a visible delay when it's inserted.
Another way to insert text is to use the clipboard:
set the clipboard to "aa"
delay 0.05
tell application "System Events" to keystroke "v" using command down