No sé si esto es lo que buscás, pero quizá te de alguna idea (funciona con la tecla enter):
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script>
function inHTML(editor,u){
var u,u2;
try{
document.execCommand("inserthtml",false,u);
}catch(e){
try{
editor.focus();
u2=document.selection.createRange();
u2.pasteHTML(u);
}catch(E){
alert('nop');
}
}
return false;
}
document.onkeydown=function(e){
var evt=e || event;
var t=evt.wich || evt.keyCode;
if(t==13){
return inHTML(document.getElementById('pepito'),'<span style="color:red">no uses enter</span>');
}
}
</script>
</head>
<body>
<div id="pepito" contenteditable="true">esto es contenido editable</div>
</body>
</html>
Edito: no funciona en explorer 7 ó -. Para mayor compatibilidad deberías usar iframe:
http://www.disegnocentell.com.ar/notas2.php?id=180