 			if ret == false
 				return
 
-		@__input0.value = @correctValueForInput(shadow_v)
-		# @storeValue(value)
-		@__input0.setSelectionRange(@__shadow0.selectionStart, @__shadow0.selectionEnd)
+		if not @_readonly
+			@__input0.value = @correctValueForInput(shadow_v)
+			@__input0.setSelectionRange(@__shadow0.selectionStart, @__shadow0.selectionEnd)
 
 		# CUI.debug "shadow before init cursor", @cursor?.start.idx, "-", @cursor?.end.idx
 		@initCursor(ev)

			type: "paste"
			node: @__input
			call: (ev) =>
				if @_readonly
					return handleReadOnly(ev)
				@__focusShadowInput()

		Events.listen

					@moveCursor(ev)
					@showCursor(ev)
					return

				if ev.keyCode() in [9, 16, 17, 18, 27, 33, 34, 35, 36, 38, 40]
					return
