<!DOCTYPE html>
<head>
</head>
<body>
<div>When the caret reaches the edge of the input box or content editable div, on the next input if must jump to the center of the control.</div>
<span style="position:absolute; visibility:hidden" id="single-digit">0</span>
<div style="border:thin solid black; white-space:nowrap; overflow:hidden" contenteditable="true" id="input-contenteditable">012345678901234567890123456789</div>
<script>

var contentEditable = document.getElementById("input-contenteditable");
var singleDigitWidth = document.getElementById("single-digit").clientWidth;
var contentEditableSize = 10;
contentEditable.style.width = (singleDigitWidth * contentEditableSize) + "px";
contentEditable.focus();
// Move the caret to the beginning of the input.
getSelection().collapse(contentEditable.firstChild, 0);
var editableContent = contentEditable.textContent;
if (window.eventSender) {
    for (var i = 0; i < contentEditableSize * 1.2; ++i)
        eventSender.keyDown(editableContent[i]);
}

</script>
</body>
