2. The method of claim 1 , further comprising: receiving a user selection of one or more of the plurality of keys; determining a text algorithm that has been selected for data entry; and outputting one or more characters or words based on the user selection and the text algorithm.
1. A method for entering data, comprising: generating a virtual keypad, the virtual keypad comprising a plurality of keys including numeric keys, one or more of the numeric keys having alphabetic characters associated therewith, wherein the size of each of the plurality of keys is dependent at least in part on the location of the key in reference to a corner or edge of a touch-screen display; arranging the plurality of keys in rows and columns wherein a subset of the plurality of keys are located along an edge of the touch screen display and at least one of the plurality of keys is not located along an edge of the touch-screen display and each of the remainder of the plurality of keys are located along an edge of the touch-screen display, wherein the at least one of the plurality of keys not located along an edge of the touch-screen display is larger than the remainder of the plurality of keys; displaying the virtual keypad on the touch-screen display; and wherein one or more of the plurality of keys having contact with an edge of the touch-screen display but not located in a corner of the touch-screen display are larger than one or more of the plurality of keys located in a corner of the touch-screen display and smaller than the at least one of the plurality of keys not located along an edge of the touch-screen display.