1. A computer implemented method comprising: detecting a language identifier associated with a selected data entry field; determining a key mapping corresponding to the detected language identifier; configuring a virtual input device in accordance with the key mapping, wherein the virtual input device includes one or more controls and the key mapping specifies a character corresponding to at least one of the plurality of controls; and presenting the virtual input device to a user.