1. A method of operating a computing device having a soft keyboard, the method comprising: determining at least one characteristic of at least one of: (i) a user's interaction with the soft keyboard or (ii) a layout of the soft keyboard; determining, for each of a plurality of keys on the soft keyboard, a probability distribution function, the probability distribution function being determined based on the at least one determined characteristic; with at least one processing circuit, in response to an input received through the soft keyboard, generating, based on the probability distribution functions, a probability that the user targeted a key of the plurality of keys.