IP Library Granted Patent US 8,704,766
Granted Patent B1
US 8,704,766 · App. 13/284,357 · Granted Apr 22, 2014

Apparatusses and methods to supress unintended motion of a pointing device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,704,766
App. No.
13/284,357
Granted
Apr 22, 2014
Kind
B1
Abstract

Methods for processing information transmitted from a pointing device with at least one button towards a graphical interface operating according to received display motion coordinates and notifications are provided. A method includes intercepting sensed motion coordinates and the button status transmitted from the pointing device. The method further includes determining the display motion coordinates and the notifications based on an evolution of the sensed coordinates and an evolution of the button status, to remove an unintentional motion included in the sensed motion coordinates. The method then includes outputting the display motion coordinates and the notifications towards the graphical interface.

Claims (54)

1. 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.

2. The apparatus of claim 1 , wherein the processing unit is further configured to determine

(1) a first notification (nPending) when the received button status indicates that the button is pressed, but before determining whether a select action or a drag action follows,

(2) a second notification (nDragStart) when the received button status indicates that the button is pressed, and the display motion coordinates are the sensed motion coordinates,

(3) a third notification (nDragStop), when the evolution of the received button status indicates that the button has been released and after a prior notification that is the second notification, and

(4) a fourth notification (nSelect), when the button is released and pressed a second time after a prior notification is not the second notification,

wherein the drag action takes place between the second notification and the third notification and a select action takes place after the fourth notification.

3. 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

(1) the processing unit is further configured to determine the display motion coordinates also depending on values of a drag enable flag and a select enable flag, and

(2) the I/O interface is further configured to receive control signals for changing default values of the drag enable flag and of the select enable flag.

4. The apparatus of claim 3 , wherein the default values of the drag enable flag and of the select enable flag have “ON” values.

5. The apparatus of claim 3 , 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, until the button status indicates that the button has been released, if the drag enable flag has an “OFF” value.

6. The apparatus of claim 3 , wherein the processing unit is further configured to output, as the display motion coordinates, the sensed motion coordinates if the select enable flag has an “OFF” value.

7. A method for processing information transmitted from a pointing device with at least one button towards a graphical interface operating according to received display motion coordinates and notifications, the method comprising:

intercepting sensed motion coordinates and the button status transmitted from the pointing device;

determining the display motion coordinates and the notifications based on an evolution of the sensed coordinates and an evolution of the button status, to remove an unintentional motion included in the sensed motion coordinates; and

outputting the display motion coordinates and the notifications towards the graphical interface,

wherein the determining of the display motion coordinates is performed also depending on values of a drag enable flag and a select enable flag that have “ON” as default values.

8. The method of claim 7 , further comprising:

receiving control signals to change the default values of the drag enable flag and of the select enable flag; and

changing the default values of the drag enable flag and of the select enable flag.

9. The method of claim 8 , if drag enable flag has an “OFF” value, the display motion coordinates are previous sensed motion coordinates acquired prior to the button status indicating that the button has been pressed, until the button status indicates that the button has been released.

10. The method of claim 8 , wherein if the select enable flag has an “OFF” value, the display motion coordinates are the sensed motion coordinates.

11. A non-transitory computer readable storing medium storing executable codes which when executed by a computer located on a data transmission path between a pointing device with at least one button and a graphical interface operating according to received display motion coordinates and a button status make the computer execute a method comprising:

intercepting sensed motion coordinates and the button status transmitted from the pointing device; and

determining the display motion coordinates based on an evolution of the sensed coordinates, depending on an evolution of the button status, to remove an unintentional motion included in the sensed motion coordinates; and

outputting the display motion coordinates and the button status towards the graphical interface, wherein

the display motion coordinates are previous sensed motion coordinates transmitted 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 display motion coordinates are the previous sensed motion coordinates acquired prior to the button status indicating that the button has been pressed (3) if the status button has been released during the first time interval, (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 display motion coordinates are 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 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 motion coordinates and the sensed motion coordinates received during the third predetermined time interval does not exceed a third predetermined distance.

12. A method for processing information transmitted from a pointing device with at least one button towards a graphical interface operating according to received display motion coordinates and notifications, the method comprising:

intercepting sensed motion coordinates and the button status transmitted from the pointing device;

determining the display motion coordinates and the notifications based on an evolution of the sensed coordinates and an evolution of the button status, to remove an unintentional motion included in the sensed motion coordinates; and

outputting the display motion coordinates and the notifications towards the graphical interface, wherein

the display motion coordinates are previous sensed motion coordinates transmitted 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 display motion coordinates are the previous sensed motion coordinates acquired prior to the button status indicating that the button has been pressed (3) if the status button has been released during the first time interval, (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,

the display motion coordinates are 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 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 motion coordinates and the sensed motion coordinates received during the third predetermined time interval does not exceed a third predetermined distance.

13. The method of claim 12 , wherein the determining of the notification includes:

(1) selecting a first notification (nPending) when the received button status indicates that the button is pressed, but before determining whether a select action or a drag action follows,

(2) selecting a second notification (nDragStart) when the received button status indicates that the button is pressed, and the display motion coordinates are different from the sensed motion coordinates,

(3) selecting a third notification (nDragStop), when the evolution of the received button status indicates that the button has been released after a prior notification that is the second notification, and

(4) selecting a fourth notification (nSelect), when the button is released and or pressed a second time after a prior notification is not the second notification.

14. A non-transitory computer readable storing medium storing executable codes which when executed by a computer located on a data transmission path between a pointing device with at least one button and a graphical interface operating according to received display motion coordinates and a button status make the computer execute a method comprising:

intercepting sensed motion coordinates and the button status transmitted from the pointing device; and

determining the display motion coordinates based on an evolution of the sensed coordinates, depending on an evolution of the button status, to remove an unintentional motion included in the sensed motion coordinates; and

outputting the display motion coordinates and the button status towards the graphical interface,

wherein the determining of the display motion coordinates is performed also depending on values of a drag enable flag and a select enable flag that have “ON” as default values.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2017
From: MULTIPLIER CAPITAL, LP
To: HILLCREST LABORATORIES, INC.
Reel/Frame 043339/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HILLCREST LABORATORIES, INC.
To: IDHL HOLDINGS, INC.
Reel/Frame 042747/0445 →
SECURITY AGREEMENT Recorded Mar 1, 2016
From: HILLCREST LABORATORIES, INC.
To: MULTIPLIER CAPITAL, LP
Reel/Frame 037963/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2012
From: LIBERTY, MATTHEW G.; COOK, BRYAN A.; AMIRSHAHI, POUYAN
To: HILLCREST LABORATORIES, INC.,
Reel/Frame 027540/0467 →