2. The computer implemented method according to claim 1 further comprising determining priorities of respective characters associated with the plurality of recognition zones based on data related to vocabulary, and wherein the selecting the first character is further based on priorities of the plurality of recognition zones.
1. A computer implemented method of recognizing user input through interaction with a graphical user interface (GUI), the method comprising: rendering a GUI for display on a display device, wherein the GUI comprises a virtual keyboard comprising a plurality of characters arranged in a layout, wherein each character is associated with a recognition zone, wherein a user interaction detected within a recognition zone causes an associated character to be selected as an input character; receiving a first user interaction with the GUI on a first location within the virtual keyboard; selecting a first character as a first input character, wherein the first character is associated with a first recognition zone encompassing the first location, wherein the first location is encompassed by an overlap zone of a plurality of recognition zones comprising the first recognition zone; computing distances from the first location to respective centers of the plurality of recognition zones; computing nonlinear normalization values of the distances; and determining weights based on the nonlinear normalization values of the distances, wherein the first character is selected based on the weights; automatically predicting one or more next characters based on the first input character; and adjusting recognition zones of the one or more next characters based on the predicting.