39. A non-transitory, computer-readable medium having stored thereon processor-executable instructions configured to cause a processor to perform operations, comprising: receiving a series of coordinates of a series of user touches on the touch sensitive surface; correlating a plurality of keys with the received series of coordinates; determining an average of received coordinates correlated with each of the plurality of keys, wherein determining the average of received coordinates correlated with each of the plurality of keys comprises: calculating a variability of key-strike locations for each of the plurality of keys; determining when the calculated variability of key-strike locations for each of the plurality of keys has plateaued; and calculating an average of coordinate key strike locations for each of the plurality of keys once the variability of key strike locations has plateaued; saving the calculated average coordinates for each of the plurality of keys in keypad layout data; and generating an image of a virtual keypad using the keypad layout data.
41. The non-transitory computer-readable medium of claim 39 , wherein the stored processor-executable instructions are configured to cause the processor to perform operations further comprising: determining a statistical envelope based upon received coordinates for each of the plurality of keys by calculating standard deviations about the calculated average coordinates for each of the plurality of keys; and saving the statistical envelope for each of the plurality of keys in the keypad layout data.