Patent ID: 7088345

Claim:
A text entry system comprising: (a) a user input device comprising an auto-correcting keyboard region comprising a plurality of the characters of an alphabet, wherein each of the plurality of characters corresponds to a location with known coordinates in the auto-correcting keyboard region, wherein each time a user interacts with the user input device within the auto-correcting keyboard region, a location associated with the user interaction is determined and the determined interaction location is added to a current input sequence of contact locations; (b) a memory containing a plurality of objects, wherein each object is further associated with a promotion value, and wherein each of the plurality of objects in memory is further associated with one or a plurality of predefined groupings of objects; (c) an output device with a text display area; and (d) a processor coupled to the user input device, memory, and output device, said processor comprising: (i) a distance value calculation component which, for each determined interaction location in the input sequence of interactions, calculates a set of distance values between the interaction locations and the known coordinate locations corresponding to one or a plurality of characters within the auto-correcting keyboard region; (ii) a word evaluation component which, for each generated input sequence, identifies one or a plurality of candidate objects in memory, and for each of the one or a plurality of identified candidate objects, evaluates each identified candidate object by calculating a matching metric based on the calculated distance values and the promotion value associated with the object, and ranks the evaluated candidate objects based on the calculated matching metric values; (iii) a selection component for identifying one or a plurality of candidate objects according to their evaluated ranking, presenting the identified objects to the user, and enabling the user to select one of the presented objects for output to the text display area on the output device; and (iv) a promotion component for setting a relative promotion value associated with each object in memory as a function of the user setting interaction with said plurality of objects.