Since PrimeFaces is based on jQuery, you should save yourself time and use jQuery for registering key handler of form. Of course you must allow enter on elements that support it and doesn't trigger (and should not trigger) form submit. If you disallow ENTER on text areas, you'll annoy your users greately.
From my experience, keypress is not enough, you need also handle keyup:
<script type="text/javascript">
$(document).ready(function () {
var handler = function(event){
if (event.which == 13) {
var el = event.target;
if (/textarea/i.test(el.tagName) || /button/i.test(el.tagName))
return true;
if (/input/i.test(el.tagName) && /file/i.test(el.type))
return true;
if (_handler)
setTimeout(_handler, 1);
event.stopPropagation();
return false;
}
return true;
};
$('form').keyup(handler).keypress(handler)
});
</script>
See also this topic: How to prevent ENTER keypress to submit a web form? for more non-primefaces-related issues.