You can basically cancel every keydown event on the input. However this would still show the carret:
<input type="text" id="disabled_input" />
jQuery:
$('disabled_input').keydown(function (event) {
event.preventDefault();
event.stopPropagation();
// or simply return false;
});
Javascript:
document.getElementById('disabled_input').onkeydown = function (event) {
event.preventDefault();
event.stopPropagation();
// or simply return false;
};