I can see a lot of benefit of this type of work. One example:
You are typing a word, and you attempt to hit the "i" key, but it accidentally registers as the "o." So you hit the delete button, and attempt another time to hit the "i" key. Yet you keep accidentally hitting the "o" key instead. You would think it would recognize that you already had an "o", and chose to delete, so clearly you don't intend it. It should be easy to code... if you hit shift and do a capital letter, and its wrong, and you hit delete... it reengages the shift key to allow whatever letter you hit next to still be a capital... so it can recognize that you returned to a prior spot/state.
But for me, a much more useful feature would be an auto correct capability that can combine two different languages, such as english and spanish. Auto correct is absolutely useless for me, as I type half my messages in english and half in spanish. With it on, every time I type a spanish message, it auto changes to some english word. I've had to retype a word that i correctly typed seven or eight times because it kept changing it.... until I just give up and turn the feature off.