METHOD AND SYSTEM OF DATA INPUT FOR AN ELECTRONIC DEVICE EQUIPPED WITH A TOUCH SCREEN
First Claim
1. A method for filtering touch event input, the method comprising:
- receiving at least one touch event,each touch event of the at least one touch event comprising a type, an identifier, and a timestamp;
selecting a subset of touch events from the at least one touch event;
adding a data node selected from each touch event of the subset of touch events to a queue of data nodes, each data node comprising a type, an identifier, and a timestamp;
receiving a contact event, the contact event comprising a timestamp;
when the contact event is a contact start event, then;
selecting a set of data nodes from the queue of data nodes,wherein the type of each data node in the set of data nodes is a touch start type, andthe timestamp of each data node in the set of data nodes is within a predetermined duration of the timestamp of the contact event; and
when the set of data nodes is not null, then;
selecting a data node from the set of data nodes, andstoring the identifier of the data node in an associated touch identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for differentiating between stylus touches and non-stylus touches on a touchscreen device. A stylus emits a signal, received by the touchscreen device, and software selects a touch, the touch start event for which occurred near the time of the signal, and the size and location of which best fit filters, as being the touch made by the stylus. The software associates that touch with the stylus until the touch ends, or until the stylus emits a signal indicating that contact has ended. The signal may be mechanically generated audio, such as from the stylus contacting the screen, or electronic (audio, RF, IR), generated by the stylus upon detecting pressure or capacitive flux. The methods and systems allow software to perform palm rejection filtering, to track one stylus or multiple styluses, and to ignore touches triggered by dirt, rain, and other environmental causes.
183 Citations
22 Claims
-
1. A method for filtering touch event input, the method comprising:
-
receiving at least one touch event, each touch event of the at least one touch event comprising a type, an identifier, and a timestamp; selecting a subset of touch events from the at least one touch event; adding a data node selected from each touch event of the subset of touch events to a queue of data nodes, each data node comprising a type, an identifier, and a timestamp; receiving a contact event, the contact event comprising a timestamp; when the contact event is a contact start event, then; selecting a set of data nodes from the queue of data nodes, wherein the type of each data node in the set of data nodes is a touch start type, and the timestamp of each data node in the set of data nodes is within a predetermined duration of the timestamp of the contact event; and when the set of data nodes is not null, then; selecting a data node from the set of data nodes, and storing the identifier of the data node in an associated touch identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system comprising:
-
one or more processors; a communications receptor; a touchscreen operatively coupled to the one or more processors; a computer readable medium operatively coupled to the one or more processors; and logic stored in the computer readable medium that, when executed from the computer readable medium by the one or more processors, causes the computer to filter touchscreen input by at least; receiving at least one touch event, each touch event of the at least one touch event comprising a type, an identifier, and a timestamp; selecting a subset of touch events from the at least one touch event; adding a data node selected from each touch event of the subset of touch events to a queue of data nodes, each data node comprising a type, an identifier, and a timestamp; receiving a contact event, the contact event comprising a timestamp; when the contact event is a contact start event, then; selecting a set of data nodes from the queue of data nodes, wherein the type of each data node in the set of data nodes is a touch start type, and the timestamp of each data node in the set of data nodes is within a predetermined duration of the timestamp of the contact event; and when the set of data nodes is not null, then; selecting a data node from the set of data nodes, and storing the identifier of the data node in an associated touch identifier. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification