A communication device may receive successive key inputs, determine an average time duration between successive key inputs, start a timeout, determine if a timeout was successful and adjust the timeout period based on the determined success of the timeout.