You seem to be right. @marijnh would it make sense to add `on("keydown")`, etc to the codemirror API so that multiple handlers can be reigstered? Otherwise our choices are to commandeer `cm.options.onKeyEvent`, or to use the `keymap` and list out every key that can possibly result in cursor movement.