Patent ID: 8704766

Claim:
An apparatus located between (A) a pointing device having a button and outputting sensed motion coordinates and a button status, and (B) a graphical interface operating according to received display motion coordinates and notifications related to the button status, the apparatus comprising: an input/output (I/O) interface connected to the pointing device and to the graphical interface, and configured to receive the sensed motion coordinates and the button status from the pointing device, and to output the display motion coordinates and the notifications towards the graphical interface; and a processing unit connected to the I/O interface and configured to determine the display motion coordinates and the notifications based on an evolution of the sensed motion coordinates and an evolution of the button status, such as to remove an unintentional motion included in the sensed motion coordinates from an evolution of the display motion coordinates, wherein the processing unit is further configured to output, as the display motion coordinates, previous sensed motion coordinates received prior to the button status indicating that the button has been pressed (1) during a first predetermined time interval after the button status indicates that the button has been pressed, but before indicating that the button has been released, and (2) while a difference between the previous sensed motion coordinates and the sensed coordinates received during the first predetermined time interval does not exceed a first predetermined distance, the processing unit is further configured, to output, as the display motion coordinates, the previous sensed motion coordinates (3) if the status button has been released, (4) during a second predetermined time interval after the evolution of the button status indicates that the button was pressed and released, but before indicating that the button has been pressed again, and (5) while a difference between the previous sensed motion coordinates and the sensed motion coordinates received during the second predetermined time interval does not exceed a second predetermined distance, and the processing unit is further configured to output, as the display motion coordinates, the previous sensed motion coordinates (6) if the button status indicates that the button has been pressed again during the second predetermined time interval after being pressed and released, (7) during a third predetermined time interval, after the evolution of the button status indicates that the button was pressed again, but has not been released again, and (8) while a difference between the previous sensed coordinates and the sensed coordinates received during the third predetermined time interval does not exceed a third predetermined distance.