1. A method of recognizing words, comprising: accepting a stroke as an input on a virtual keyboard coupled to a computer, the computer programmed to perform the steps of: defining word patterns of a plurality of known words by a plurality of paths, wherein each path connects elements in the known word on the virtual keyboard, wherein the virtual keyboard comprises virtual keys, each virtual key representing a letter in a word without a temporary target letter being placed adjacent to a location of a stroke; processing the stroke using a combination of a plurality of channels, each channel selectively measuring a different aspect of a similarity of the stroke to a plurality of possible paths on the virtual keyboard; converting each different aspect of the stroke's similarity to probability estimates; a shape channel of the plurality of channels measuring a shape aspect of the stroke, and outputting a probability estimate; a location channel of the plurality of channels measuring location aspect of the stroke, and outputting a probability estimate, wherein the location channel measures the location aspect of the stroke concurrently with the shape channel measuring the shape aspect of the stroke; mathematically integrating, using Bayes' theorem, the probability estimates of the plurality of channels to produce integrated probability estimates of candidate words corresponding to the stroke; and based on the integrated probability estimates of the candidate words, recognizing the stroke as a known word.