Should consider making all these key bindings table driven.  As time goes on a lot of keys will get added and this has the risk of becoming pretty gnarly.