13. The system according to claim 11 , wherein display zones of the one or more next characters remain unchanged during the adjusting the recognition zones thereof.
11. A system comprising: a display device; a processor coupled to the display device; and memory coupled to said processor and comprising instructions that, when executed by said processor, cause the system to perform a method of receiving user input, the method comprising: rendering a graphical user interface (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 the recognition zone causes the 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 deriving weights based on the nonlinear normalization values of the distances, wherein the first character is selected further 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.