1. A method for determining the position of one or more touches on a touch sensor, the method comprising: receiving values from a grid of touch sensing elements, wherein the values are responsive to a first touch on a touch sensitive surface of the touch sensor; converting the received values to binary data in which each of the received values of each of the touch sensing elements is assigned one of two values; identifying at least one first contiguous touched region from the binary data; extracting a plurality of parameters for each first contiguous touched region wherein the plurality of parameters are responsive to the shape and position of each contiguous touched region; determining whether each of the first contiguous touched regions is valid by comparing at least one of the extracted parameters to established values; receiving values from a second touch, converting the values of the received second touch data into binary data of the second touch, identifying at least one second contiguous touched region, extracting the parameters from the binary data of the second touch, and determining whether the binary data of the second touch is valid wherein the first touch immediately precedes the second touch; linking the first with the second contiguous touched regions thereby creating a temporal series of parameters that are responsive to the shape and position of each of the first and the second contiguous touched regions; and filtering the temporal series of parameters to remove noise, wherein yaw angles are determined for each of the first and the second contiguous touched regions from the filtered temporal series of parameters, and the yaw angles are constrained to a predetermined range of angles.