Implement custom keyboard shortcuts support with a user key map file.

Will add JSDoc later.
Agree! Don't know what I was thinking at that time.