what about onkeypress? how do we handle a page that is loaded, that doesn't have any editable fields, but requires keyboard input. Examples: a game, gmail controls.
what are the appropriate defaults? What preferences can be specified? Perhaps per domain preferences would be best.
Providing a way for individual elements to specify a profile could be very helpful to users. For instance a telephone number field in a form could specify a telephone format profile. On a touch screen device, this could result in a soft keyboard showing 0-9 and symbols. On a smartphone this could result in defaulting to the numbers and symbols on multi-tap. In the same form another field could specify an email address or other profile or none at all.
As an extension, this could be combined with the onkeypress handler to provide custom keyboards that take up less screen space or event have label for functions rather than characters ('copy, 'cut', 'paste' versus 'x','c','v')