1. A method for detecting a selection of at least one character of a character string to be input from a character set on an input surface the method comprising: accepting as input a gesture on the input surface, the gesture having an origin point and an end point, and evaluating a direction of the gesture to produce a direction vector of the gesture, wherein the selection of at least one character of the character string is detected by evaluating the origin point of or the end point of the direction vector of the gesture, 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, wherein the reference point constitutes the center of a reference template, the reference template comprising all the characters which can be used to form a word, and wherein the origin point 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, and wherein the end point of the gesture is at a detected location of a lifting of an input medium off the input surface and the end point of the direction vector is at the next character to be selected.