1. A method comprising: providing a user-interface comprising a set of input regions, wherein each of the input regions is associated with at least one character from a set of characters; receiving data indicating an input movement; determining, using a plurality of Hidden Markov Models (HMMs), for each of one or more possibly-intended inputs, a respective likelihood that each respective possibly-intended input corresponds to the input movement, wherein the input movement comprises observable states of a Hidden Markov Model of the plurality of Hidden Markov Models, wherein each of the one or more possibly-intended inputs is associated with (i) at least two possible input states, wherein each of the at least two possible input states is associated with at least one input region, wherein each of the possible input states is a hidden state of the Hidden Markov Model and (ii) a possible transition state between the at least two possible input states, wherein each of the possible transition states is a hidden state of the Hidden Markov Model, and wherein each respective likelihood is determined based at least in part on (i) a likelihood that at least two intended input states correspond to the at least two possible input states associated with the respective possibly-intended input, and (ii) a likelihood that an intended transition state between the at least two intended input states corresponds to the possible transition state between the at least two possible input states; selecting, based on at least one determined respective likelihood, at least one possibly-intended input; and causing a visual display of the selected at least one possibly-intended input.