       # Don't leave the user in insert mode just because they happen to have selected text within an input
       # element.
       if document.activeElement and DomUtils.isEditable document.activeElement
-        document.activeElement.blur()
+        document.activeElement.blur() unless event?.type == "click"
 
     super event, target
     if @yankedText?

          @changeMode CaretMode
          return

    # Yank on <Enter>.
    @push
      _name: "#{@id}/enter"
      keypress: (event) =>
        if event.keyCode == keyCodes.enter
          unless event.metaKey or event.ctrlKey or event.altKey or event.shiftKey
            @yank()
            return @suppressEvent
        @continueBubbling

    # Visual-mode commands.
    unless @options.oneMovementOnly


    @selection.modify "extend", forward, character
    @scrollIntoView()

    @push
      _name: "#{@id}/click"
      # Click in a focusable element exits.
      click: (event) =>
        @alwaysContinueBubbling =>
          @exit event, event.target if DomUtils.isFocusable event.target

    extend @commands,
      v: -> @changeMode VisualMode
