1. A computer-implemented method for resolving keystrokes, the method comprising: receiving a first keystroke and a second keystroke input by a user on a keyboard, wherein the first keystroke corresponds to a first key on the keyboard and the second keystroke corresponds to a second key on the keyboard that is different from the first key; determining that the first keystroke and the second keystroke were input substantially simultaneously and that the first key is adjacent the second key on the keyboard; and in response to the determination, generating a suggestion that only one of the first keystroke and the second keystroke was intended to be input; and communicating the suggestion to the user, comprising: determining one or more permutations of character strings that include either a first character corresponding to the first key or a second character corresponding to the second key and one or more characters input by the user immediately preceding the first keystroke and the second keystroke, including determining permutations in which at least one of the one or more characters input preceding the first keystroke and the second keystroke is replaced by a proximal character, wherein the proximal character corresponds to a third key on the keyboard adjacent a fourth key that corresponds to the replaced at least one of the one or more characters; determining, for each respective of the one or more permutations, a probability that the respective permutation was intended to be input by the user; and displaying, to the user and on a display device, one or more suggested character strings based on the determined probabilities.