1. Support shift key and alt key to identify an event.
2. Refactor KeyService to CommandService.