Patent ID: 8745518

Claim:
In an electronic device having a touch screen and a device driver controlling the touch screen, the device driver running on a processor, a method for receiving user input, comprising: displaying on the touch screen a virtual keyboard with a number of virtual keys, each virtual key having a respective primary key character of a plurality of primary key characters and a respective plurality of secondary key characters of a plurality of secondary key characters different from the plurality of primary key characters, the number of virtual keys corresponding to a number of primary key characters and being less than a total number of primary key characters and secondary key characters wherein the primary key characters and the secondary key characters are selectable for display in an output window; receiving, through the touch screen, a first touch screen input at a first touch position, the first touch position corresponding to a first virtual key, the first virtual key having a first primary key character and a plurality of first secondary key characters indirectly selectable through the first touch screen input received at the first touch position; displaying, by the device driver, in response to the first touch screen input received at the first touch position, a character menu on the touch screen, the character menu having a plurality of menu characters including the plurality of first secondary key characters of the first virtual key, each of the plurality of menu characters being associated with a respective second touch position and being directly selectable through a second touch screen input received at one of the respective second touch positions; receiving, through the touch screen, the second touch screen input related to the first touch screen input at one of the respective second touch positions; displaying, by the device driver, in the output window on the touch screen a particular one of the plurality of menu characters corresponding to the second touch screen input received at one of the respective second touch positions; plotting, by the device driver, a menu character region on the touch screen, the menu character region oriented with respect to a first menu character; and determining, by the device driver, that one of the respective second touch positions on the touch screen is located within the menu character region; wherein the operation of displaying the particular one of the plurality of menu characters includes displaying one of the plurality of first secondary key characters corresponding to the particular one of the plurality of menu characters enclosed by the menu character region.