Jim is not taking into account any mouse events that may have happened between the current keystroke and the last. So it will do unexpected things if the user selects some text, for example, and then tries to do a visual mode command.
Either the mouse events need to be hooked into or some sanity checks need to be made at the beginning of each key event. The latter is probably a better option so the plugin will stay as close to a keybinding as possible.
Jim is not taking into account any mouse events that may have happened between the current keystroke and the last. So it will do unexpected things if the user selects some text, for example, and then tries to do a visual mode command.
Either the mouse events need to be hooked into or some sanity checks need to be made at the beginning of each key event. The latter is probably a better option so the plugin will stay as close to a keybinding as possible.