1. A method for detecting a selection of a character string to be input on an input surface, the character string comprising a number of first characters and a number of second characters, a reference template on the input surface comprising all the characters which can be used to form the character string, the method comprising: accepting as input a gesture on the input surface, the gesture comprising a first segment and a second segment, identifying the first segment of the gesture and evaluating a direction of the first segment of the gesture to produce a direction vector of the first segment, the first segment having an origin point or an end point, and identifying the second segment of the gesture, wherein the selection of at least one character of the number of first characters is detected by evaluating the origin point of or the end point of the direction vector of the first segment, and wherein the direction vector is evaluated with respect to a reference point on the input surface, the reference point being the origin point of the direction vector, and wherein the reference point constitutes the center of the reference template, wherein the origin point of the first segment of the gesture is the current character selected, and wherein neither of the origin point of or the end point of the gesture is the reference point, wherein the end point of the direction vector of the first segment is the next character to be selected, and wherein the selection of at least one character of the number of second characters is detected by identifying a shape of the second segment of the gesture.