1. A method comprising: receiving successive key inputs from a plurality of input keys, where the successive key inputs include a first key input and a second key input; determining, by processing logic, an average time duration between the successive key inputs; starting, by the processing logic, a timeout period after the first key input, where the second key input, when received during the timeout period, is associated with a first character, and where the second key input, when received after the timeout period, is associated with a second character; maintaining, by the processing logic, the timeout period in response to a key entry mistake, where the key entry mistake includes at least one of the first key input or the second key inputs being received in error; adjusting, by the processing logic, the timeout period based on the determined average time duration between the successive key inputs received from the plurality of input keys when the second key input is associated with a correct character where the correct character is an intended one of the first character or the second character; adjusting, by the processing logic, the timeout period based on the determined average time duration between the successive key inputs received from the plurality of input keys in response to a timeout error, where the time out error includes the second key input being associated with one of the first character or the second character that is not the correct character; and counting a number of times that the timeout period has been adjusted; and ceasing adjustments of the timeout period when the number of times that the timeout period has been adjusted equals a particular number of times.