I need to design an onscreen keyboard for a touch device and wondering if there are any standards to follow especially pertaining to key sizes?
I wouldn't say you can speak about standards here, rather some best practices. Thus, (forgive me going away from the main question and looking at it from a little bit broader perspective) I would focus not on key size standard, but rather on these three:
- keeping the input interface within the reach (e.g. within the reach of thumbs in case of smartphones),
- preventing user errors,
- predicting user intentions.
As you will see later, different ideas for the input interface require completely different key sizes (provided that there are "keys", as some base on different approach).
As far as preventing user errors it mainly depends on the input interface you design. There are keyboards with and without numeric row, some of them work on tap, others let you swipe your finger through the keys, plus there are also input interfaces that use totally different approach that having just keys. Basically - you cannot just set one standard for that, as the interfaces are too much different. Of course users should be able to comfortably tap the keys, but this is something to test, depending on the idea of input interface you have; and usually key size (tap target size) is crucial for the ease of use and error prevention.
Predicting user intentions spreads from capitalizing a letter at the beginning of a sentence through recognizing obvious errors (like autocorrecting "john" to "John") all the way to suggesting a word that is not so obvious (e.g. "sreven" may be intended to be "seven" or "Steven"). The autocorrect should learn based on user input, yet it also should allow user to choose in situations that are not obvious. Be careful with that, as too many options to choose from may be actually problematic for user, as s/he would have to search for the correct one on a list (so sorting them based on probability that 'this is the intended word' is crucial here, as well as hiding the long tail. I like TouchPal here, as you can slide a horizontal list of sugested words left or right to get to the less probable ones.
A little showcase regarding the forementioned broadness of the topic:
TouchPal (one of the swipe-based input types for Android - alas, it's not available for iOS; mind the swipeable list of predicted words at the top - it is based on context of what you have written, not only on the characters of the word you are entering; it's really fantastic!):
MessagEase takes completely different approach (actually it's not so innovative, I've seen it on PalmOS about 15 years ago, there were even stickers for the Graffiti area):
And the older brother, the one with a sticker; different look, similar idea if memory serves (article):
Speaking of Graffiti, the native PalmOS input method - it needed user to learn some special characters ("strokes") but it was really easy to learn and not much harder to master, yet it needed a stylus; I doubt it would be still comfortable to use with your finger, user would get wasted after two first sentences:
By the way, there is a cool article about Graffiti. I really loved it, it was one of these fantastic solutions that were great at their times but went to a trach bin with the flow of technological development - as Zip drives and Minidiscs did pass away when pendrives and MP3's came in.