A method of improving an accuracy of touch detection on an input device, the method comprising: detecting, at a first time, contact of a finger (705, 710) with a touch surface of the input device; determining a first location of the contact of the finger with the touch surface, wherein the first location is represented as a first set of coordinates on a two-dimensional axis, and wherein the first set of coordinates form corners (742, 744) of a first rectangle, and wherein the first set of coordinates identify an approximation of a length and width of the first location of the contact of the finger with the touch surface; detecting, at a second time, contact of the finger with the touch surface of the input device, the second time occurring after the first time; determining a second location of the contact of the finger with the touch surface, wherein the second location is represented as a second set of coordinates on the two dimensional axis, wherein the second set of coordinates form corners (746, 748) of a second rectangle, and wherein the second set of coordinates identify an approximation of a length and width of the second location of the contact of the finger with the touch surface; comparing the first set of coordinates with the second set of coordinates, wherein comparing the first set of coordinates with the second set of coordinates includes: determining a first reference point and a second reference point within the first set of coordinates, wherein the first reference point and the second reference point are diagonally opposed from each other; and determining a third reference point and a fourth reference point within the second set of coordinates, wherein the third reference point and the fourth reference point are diagonally opposed from each other; and determining that the finger is rocking when the first reference point of the first set of coordinates and the third reference point of the second set of coordinates are within a predetermined distance from one another. detecting, at a first time, contact of a finger (705, 710) with a touch surface of the input device; determining a first location of the contact of the finger with the touch surface, wherein the first location is represented as a first set of coordinates on a two-dimensional axis, and wherein the first set of coordinates form corners (742, 744) of a first rectangle, and wherein the first set of coordinates identify an approximation of a length and width of the first location of the contact of the finger with the touch surface; detecting, at a second time, contact of the finger with the touch surface of the input device, the second time occurring after the first time; determining a second location of the contact of the finger with the touch surface, wherein the second location is represented as a second set of coordinates on the two dimensional axis, wherein the second set of coordinates form corners (746, 748) of a second rectangle, and wherein the second set of coordinates identify an approximation of a length and width of the second location of the contact of the finger with the touch surface; comparing the first set of coordinates with the second set of coordinates, wherein comparing the first set of coordinates with the second set of coordinates includes: determining a first reference point and a second reference point within the first set of coordinates, wherein the first reference point and the second reference point are diagonally opposed from each other; and determining a third reference point and a fourth reference point within the second set of coordinates, wherein the third reference point and the fourth reference point are diagonally opposed from each other; and determining a first reference point and a second reference point within the first set of coordinates, wherein the first reference point and the second reference point are diagonally opposed from each other; and determining a third reference point and a fourth reference point within the second set of coordinates, wherein the third reference point and the fourth reference point are diagonally opposed from each other; and determining that the finger is rocking when the first reference point of the first set of coordinates and the third reference point of the second set of coordinates are within a predetermined distance from one another.