used a keymap and check in the gametick instead of the keyevent to perform related events. Added locking ability to player movements (throwing a fireball for example can't be interrupted with key input).