A method of processing a plurality of force values ( F x, F y), each force value corresponding to a sensor location, wherein the sensor locations are spaced apart along a direction, the method comprising: receiving the plurality of force values; determining whether the plurality of force values include one or more candidate peaks, each candidate peak corresponding to a local maximum of the plurality of force values; in response to at least one candidate peak exceeds a minimum force threshold: interpolating the plurality of force values (S41, S64-S66); estimating a number of peak coordinates and corresponding peak force values based on the interpolated force values and the candidate peaks which exceed the minimum force threshold; further comprising, for each peak coordinate: determining whether that peak coordinate is associated with a tracked touch event by checking the absolute distance between that peak coordinate and each tracked touch event, and assigning that peak coordinate to a tracked touch event if the corresponding distance is less than an association threshold; in response to determining that the peak coordinate is associated with a tracked touch event: adding the peak coordinate to a coordinate buffer which stores a number of previously estimated peak coordinates for the tracked touch event; calculating an average coordinate based on the coordinate buffer; outputting the average coordinate and the peak force value; in response to determining that the peak coordinate is not associated with any tracked touch event: storing the peak coordinate and the corresponding peak force value to a new tracked touch event; outputting the peak coordinate and the corresponding peak force value. receiving the plurality of force values; determining whether the plurality of force values include one or more candidate peaks, each candidate peak corresponding to a local maximum of the plurality of force values; in response to at least one candidate peak exceeds a minimum force threshold: interpolating the plurality of force values (S41, S64-S66); estimating a number of peak coordinates and corresponding peak force values based on the interpolated force values and the candidate peaks which exceed the minimum force threshold; interpolating the plurality of force values (S41, S64-S66); estimating a number of peak coordinates and corresponding peak force values based on the interpolated force values and the candidate peaks which exceed the minimum force threshold; further comprising, for each peak coordinate: determining whether that peak coordinate is associated with a tracked touch event by checking the absolute distance between that peak coordinate and each tracked touch event, and assigning that peak coordinate to a tracked touch event if the corresponding distance is less than an association threshold; in response to determining that the peak coordinate is associated with a tracked touch event: adding the peak coordinate to a coordinate buffer which stores a number of previously estimated peak coordinates for the tracked touch event; calculating an average coordinate based on the coordinate buffer; outputting the average coordinate and the peak force value; in response to determining that the peak coordinate is not associated with any tracked touch event: storing the peak coordinate and the corresponding peak force value to a new tracked touch event; determining whether that peak coordinate is associated with a tracked touch event by checking the absolute distance between that peak coordinate and each tracked touch event, and assigning that peak coordinate to a tracked touch event if the corresponding distance is less than an association threshold; in response to determining that the peak coordinate is associated with a tracked touch event: adding the peak coordinate to a coordinate buffer which stores a number of previously estimated peak coordinates for the tracked touch event; calculating an average coordinate based on the coordinate buffer; outputting the average coordinate and the peak force value; adding the peak coordinate to a coordinate buffer which stores a number of previously estimated peak coordinates for the tracked touch event; calculating an average coordinate based on the coordinate buffer; outputting the average coordinate and the peak force value; in response to determining that the peak coordinate is not associated with any tracked touch event: storing the peak coordinate and the corresponding peak force value to a new tracked touch event; outputting the peak coordinate and the corresponding peak force value.