Object position detector with edge motion feature and gesture recognition
First Claim
1. A method for recognizing an extended drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including the steps of:
- detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence;
comparing said first duration with a first reference amount of time;
initiating a gesture signal to the host indicating the occurrence of a gesture if said first duration is less than said first reference amount of time;
detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence;
comparing a first elapsed time between said finish of said first presence and said start of said second presence with a second reference amount of time;
maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said first elapsed time is less than said second reference amount of time;
detecting a third presence of a conductive object on the touch-sensor pad of a third duration between a start and a finish of said third presence;
comparing a second elapsed time between said finish of said second presence and said start of said third presence with a third reference amount of time; and
maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second elapsed time and said third duration if said second elapsed time is less than said third reference amount of time.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods for recognizing gestures made by a conductive object on a touch-sensor pad and for cursor motion are disclosed. Tapping, drags, pushes, extended drags and variable drags gestures are recognized by analyzing the position, pressure, and movement of the conductive object on the sensor pad during the time of a suspected gesture, and signals are sent to a host indicating the occurrence of these gestures. Signals indicating the position of a conductive object and distinguishing between the peripheral portion and an inner portion of the touch-sensor pad are also sent to the host.
2535 Citations
64 Claims
-
1. A method for recognizing an extended drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including the steps of:
-
detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with a first reference amount of time; initiating a gesture signal to the host indicating the occurrence of a gesture if said first duration is less than said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing a first elapsed time between said finish of said first presence and said start of said second presence with a second reference amount of time; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said first elapsed time is less than said second reference amount of time; detecting a third presence of a conductive object on the touch-sensor pad of a third duration between a start and a finish of said third presence; comparing a second elapsed time between said finish of said second presence and said start of said third presence with a third reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second elapsed time and said third duration if said second elapsed time is less than said third reference amount of time.
-
-
2. A method for recognizing an extended drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including the steps of:
-
detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with a first reference amount of time; initiating a gesture signal to the host indicating the occurrence of a gesture if said first duration is less than said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing a first elapsed time between said finish of said first presence and said start of said second presence with a second reference amount of time; detecting an average speed of said conductive object at said finish of said second presence; comparing said average speed of said conductive object at said finish of said second presence with a first reference speed; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said first elapsed time is less than said second reference amount of time; detecting a third presence of a conductive object on the touch-sensor pad of a third duration between a start and a finish of said third presence; comparing a second elapsed time between said finish of said second presence and said start of said third presence with a third reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second elapsed time and said third duration if said second elapsed time is less than said third reference amount of time and said average speed of said conductive object at said finish of said second presence is greater than said first reference speed.
-
-
3. A method for recognizing an extended drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including the steps of:
-
detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with a first reference amount of time; initiating a gesture signal to the host indicating the occurrence of a gesture if said first duration is less than said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing a first elapsed time between said finish of said first presence and said start of said second presence with a second reference amount of time; detecting a position of said finish of said second presence on said touch-sensor pad; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said first elapsed time if said first elapsed time is less than said second reference amount of time; detecting a third presence of a conductive object on the touch-sensor pad of a third duration between a start and a finish of said third presence; comparing a second elapsed time between said finish of said second presence and said start of said third presence with a third reference amount of time; detecting a position of said start of said third presence on said touch-sensor pad; comparing a distance between said position of said finish of said second presence and said position of said start of said third presence with a first reference distance; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second elapsed time and said third duration if said second elapsed time is less than said third reference amount of time and said distance between said position of said finish of said second presence and said position of said start of said third presence is greater than said first reference distance.
-
-
4. A method for recognizing a variable drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including the steps of:
-
detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with first and second reference amounts of time, said second reference amount of time being less than said first reference amount of time; initiating a gesture signal to the host indicating the occurrence of a gesture if said first duration is less than said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing an elapsed time between said finish of said first presence and said start of said second presence with a third reference amount of time if said first duration is less than said second reference amount of time; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said elapsed time compared to said third reference amount of time is less than said third reference amount of time comparing said elapsed time with a fourth reference amount of time if said first duration is greater than said second reference amount of time and less than said first reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said elapsed time compared to said fourth reference amount of time is less than said fourth reference amount of time.
-
-
5. A method for recognizing an variable drag gesture made on a touch-sensor pad in a touch-sensing system providing X and Y position information to a host, including the steps of:
-
detecting a first presence of a conductive object on the touch-sensor pad of a first duration between a start and a finish of said first presence; comparing said first duration with first and second reference amounts of time, said second reference amount of time being less than said first reference amount of time; initiating a gesture signal to the host indicating the occurrence of a gesture if said first duration is less than said second reference amount of time; initiating a gesture signal to the host after a delay indicating the occurrence of a gesture if said first duration is greater than said second reference amount of time but less than said first reference amount of time; detecting a second presence of a conductive object on the touch-sensor pad of a second duration between a start and a finish of said second presence; comparing an elapsed time between said finish of said first presence and said start of said second presence with a third reference amount of time if said first duration is less than said second reference time; maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said elapsed time compared to said third reference amount of time is less than said third reference amount of time comparing said elapsed time with a fourth reference amount of time if said first duration is greater than said second reference amount of time and less than said first reference amount of time; and maintaining said gesture signal and repeatedly sending X and Y position information to said host for said second duration if said elapsed time compared to said fourth reference amount of time is less than said fourth reference amount of time.
-
-
6. A method for providing an electrical signal for moving a cursor on a display screen associated with a computer in response to electrical signals representing the position of an object in a two dimensional sensing plane, including the steps of:
-
providing a sensing plane including a matrix of conductors arranged as a plurality of spaced apart row conductive lines and column conductive lines, said sensing plane characterized by an inherent capacitance on the various ones of said row conductive lines and column conductive lines, said capacitance varying with the proximity of an object to said row and column conductive lines, said sensing plane including an inner region bounded by an outer region, said outer region extending inward from outer edges of said sensing plane and said outer region having a first portion in an X plane and a second portion in a Y plane; sensing the capacitance on at least selected ones of said row and column conductive lines; generating present-position signals from the sensed capacitance representing the present position of said object in both X and Y directions on said sensing plane; sensing whether said object is in said outer region of said sensing plane; generating first relative position X and Y signals representing the difference between X and Y coordinates of said present position of said object and X and Y coordinates of a previous position of said object, and sending said first relative position X and Y signals to said computer if said object is not in said outer region of said sensing plane; generating a second relative position X signal representing the difference between said X coordinate of said present position of said object and an X coordinate of a fixed position on said sensing plane if said object is in said second portion of said outer region of said sensing plane, and sending said second relative position X signal to said computer so long as said object is in said second portion of said outer region of said sensing plane; and generating a second relative position Y signal representing the difference between said Y coordinate of said present position of said object and a Y coordinate of a fixed position on said sensing plane if said object is in said first portion of said outer region of said sensing plane, and sending said second relative position Y signal to said computer so long as said object is in said first portion of said outer region of said sensing plane. - View Dependent Claims (7, 8)
-
-
9. A method for providing an electrical signal for moving a cursor on a display screen associated with a computer in response to electrical signals representing the position of an object in a two dimensional sensing plane, including the steps of:
-
providing a sensing plane including a matrix of conductors arranged as a plurality of spaced apart row conductive lines and column conductive lines, said sensing plane characterized by an inherent capacitance on the various ones of said row conductive lines and column conductive lines, said capacitance varying with the proximity of an object to said row and column conductive lines, said sensing plane including an inner region bounded by an outer region, said outer region extending inward from outer edges of said sensing plane and said outer region having a first portion in an X plane and a second portion in a Y plane; sensing the capacitance on at least selected ones of said row and column conductive lines; generating present-position signals from the sensed capacitance representing the present position of said object in both X and Y directions on said sensing plane; sensing whether said object is in said outer region of said sensing plane; generating first relative position X and Y signals representing the difference between X and Y coordinates of said present position of said object and X and Y coordinates of a previous position of said object, and sending said first relative position X and Y signals to said computer if said object is not in said outer region of said sensing plane; generating a second relative position X signal if said object is in said second portion of said outer region of said sensing plane, said second relative position X signal comprising said first X signal incremented by an amount proportional to the difference in said X direction between said present position in said X direction of said object and a fixed X position on said sensing plane, and sending said second relative position digital X signals to said computer so long as said object is in said second portion of said outer region of said sensing plane; and generating a second relative position Y signal if said object is in said first portion of said outer region of said sensing plane, said second relative position Y signal comprising said first Y signal incremented by an amount proportional to the difference in said Y direction between said present position in said Y direction of said object and a fixed Y position on said sensing plane, and sending said second relative position digital Y signals to said computer so long as said object is in said first portion of said outer region of said sensing plane. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for providing an electrical signal for moving a cursor on a display screen associated with a computer in response to electrical signals representing the position of an object in a two dimensional sensing plane, including the steps of:
-
providing a sensing plane including a matrix of conductors arranged as a plurality of spaced apart row conductive lines and column conductive lines, said sensing plane characterized by an inherent capacitance on the various ones of said row conductive lines and column conductive lines, said capacitance varying with the proximity of an object to said row and column conductive lines, said sensing plane including an inner region bounded by an outer region, said outer region extending inward from outer edges of said sensing plane and said outer region having a first portion in an X plane and a second portion in a Y plane; simultaneously developing a first set of signals proportional to the value of said capacitance for each of said row conductive lines when no object is located proximate to said sensing plane; simultaneously developing a second set of signals proportional to the value of said capacitance for each of said column conductive lines when no object is located proximate to said sensing plane; simultaneously developing a third set of signals proportional to the value of said capacitance for each of said row conductive lines when an object is located proximate to said sensing plane; simultaneously developing a fourth set of signals proportional to the value of said capacitance for each of said column conductive lines when said object is located proximate to said sensing plane; computing a first weighted average of the difference between said first set of signals and said third set of signals to generate a present-position signal in the X direction of said sensing plane; computing a second weighted average of the difference between said second set of signals and said fourth set of signals generate a present-position signal in the Y direction of said sensing plane; generating first relative position X and Y signals representing the difference between said present-position signals in both X and Y directions and a previous set of present-position signals in both X and Y directions, and sending said first relative position X and Y signals to said computer if said object is not in said outer region of said sensing plane; generating a second relative position X signal representing the difference between said X coordinate of said present position of said object and an X coordinate of a fixed position on said sensing plane if said object is in said second portion of said outer region of said sensing plane, and sending said second relative position X signal to said computer so long as said object is in said second portion of said outer region of said sensing plane; and generating a second relative position Y signal representing the difference between said X coordinate of said present position of said object and a Y coordinate of a fixed position on said sensing plane if said object is in said first portion of said outer region of said sensing plane, and sending said second relative position Y signal to said computer so long as said object is in said first portion of said outer region of said sensing plane. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method for moving a cursor on a display screen in response to motion of an object sensed on a sensing plane, including the steps of:
-
providing a sensing plane; sensing the presence of an object on said sensing plane and generating present-position signals representing the present position of said object on said sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said sensing plane; generating first cursor motion signals for moving the cursor if said object is not in said outer region of said sensing plane, said first cursor motion signals moving said cursor in a direction on the display screen representing the difference between a previous position of said object and said present position of said object reported by said present-position signals; and generating second cursor motion signals different from said first cursor motion signals for moving said cursor if said object has moved into said outer region of said sensing plane, said second cursor motion signals incrementally moving said cursor on the display screen a selected distance in a direction representing the difference between a fixed reference point on said sensing plane and said present position of said object on said sensing plane, said second cursor motion signals being generated so long as said object is in said outer region of said sensing plane. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A method for moving a cursor on a display screen in response to motion of an object sensed on a sensing plane, including the steps of:
-
providing a sensing plane; sensing the presence of an object on said sensing plane and generating present-position signals representing the present position of said object on said sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said sensing plane; generating first cursor motion signals for moving the cursor if said object is not in said outer region of said sensing plane, said first cursor motion signals moving said cursor in a direction on the display screen representing the difference between a previous position of said object and said present position of said object reported by said present-position signals; and generating second cursor motion signals different from said first cursor motion signals for moving said cursor if said object has moved into said outer region of said sensing plane, said second cursor motion signals incrementally moving said cursor on the display screen a selected distance in a fixed direction relative towards said outer edge of said sensing plane to which said object is proximate, said second cursor motion signals being generated so long as said object is in said outer region of said sensing plane. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A method for X and Y cursor motion signals for moving a cursor on a display screen in response to signals representing of the position of an object sensed on a sensing plane, including the steps of:
-
providing a sensing plane; sensing the presence of an object on said sensing plane and generating present-position signals representing the present position of said object in both X and Y directions on said sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said sensing plane; generating first X and Y cursor motion signals for moving the cursor if said object is not in said outer region of said sensing plane, said first X and Y cursor motion signals moving said cursor in an X direction on the display screen representing the difference between an X component of a previous position of said object and an X component of said present position of said object reported by said present-position signals and moving said cursor in a Y direction on the display screen representing the difference between a Y component of a previous position of said object and a Y component of said present position of said object reported by said present-position signals; and generating second X and Y cursor motion signals different from said first X and Y cursor motion signals for moving said cursor if said object has moved into said outer region of said sensing plane, said second X and Y cursor motion signals incrementally moving said cursor on the display screen a selected distance in X direction representing the difference between an X location of a fixed reference point on said sensing plane and an X component of said present position of said object on said sensing plane and a selected distance in Y direction representing the difference between a Y location of a fixed reference point on said sensing plane and a Y component of said present position of said object on said sensing plane, said second cursor motion signals being generated so long as said object is in said outer region of said sensing plane. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A method for X and Y cursor motion signals for moving a cursor on a display screen in response to signals representing of the position of an object sensed on a rectangular sensing plane, including the steps of:
-
providing a rectangular sensing plane having four edges, one each in the +X, -X, +Y and -Y directions where X=0 and Y=0 define the origin in a coordinate system; sensing the presence of an object on said rectangular sensing plane and generating present-position signals representing the present position of said object in both X and Y directions on said rectangular sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said rectangular sensing plane, said outer edge being perpendicular to one of a +X, -X, +Y and -Y direction; generating first X and Y cursor motion signals for moving the cursor if said object is not in said outer region of said rectangular sensing plane, said first X and Y cursor motion signals moving said cursor in an X direction on the display screen representing the difference between an X component of a previous position of said object and an X component of said present position of said object reported by said present-position signals and moving said cursor in a Y direction on the display screen representing the difference between a Y component of a previous position of said object and a Y component of said present position of said object reported by said present-position signals; and generating second X and Y cursor motion signals different from said first X and Y cursor motion signals for moving said cursor if said object has moved into said outer region of said rectangular sensing plane, said second X and Y cursor motion signals incrementally moving said cursor on the display screen a selected distance in a fixed direction in only the at least one +X, -X, +Y and -Y direction representing the direction to said outer edge of said rectangular sensing plane to which said object is proximate, said second cursor motion signals being generated so long as said object is in said outer region of said rectangular sensing plane. - View Dependent Claims (36, 37, 38, 39)
-
-
40. A method for moving a cursor on a display screen in response to motion of an object sensed on a sensing plane, including the steps of:
-
providing a sensing plane; sensing the presence of an object on said sensing plane and generating present-position signals representing the present position of said object on said sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said sensing plane; generating first cursor motion signals for moving the cursor, said first cursor motion signals for causing said cursor to move in a direction on the display screen representing the difference between a previous position of said object and said present position of said object reported by said present-position signals; generating second cursor motion signals different from said first cursor motion signals if said object has moved into said outer region of said sensing plane, said second cursor motion signals for causing said cursor to incrementally move on the display screen a selected distance in a direction representing the difference between a fixed reference point on said sensing plane and said present position of said object on said sensing plane; and moving said cursor in accordance with said first cursor motion signals when said object is not in said outer region of said sensing plane and moving said cursor in accordance with said first cursor motion signals combined with said second cursor motion signals when said object has moved into said outer region of said sensing plane so long as said object remains in said outer region of said sensing plane. - View Dependent Claims (41, 42, 43, 44, 45)
-
-
46. A method for moving a cursor on a display screen in response to motion of an object sensed on a sensing plane, including the steps of:
-
providing a sensing plane; sensing the presence of an object on said sensing plane and generating present-position signals representing the present position of said object on said sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said sensing plane; generating first cursor motion signals for moving the cursor, said first cursor motion signals for causing said cursor to move in a direction on the display screen representing the difference between a previous position of said object and said present position of said object reported by said present-position signals; generating second cursor motion signals different from said first cursor motion signals for moving said cursor if said object has moved into said outer region of said sensing plane, said second cursor motion signals for causing said cursor to incrementally move on the display screen a selected distance in a fixed direction relative towards said outer edge of said sensing plane to which said object is proximate; and moving said cursor in accordance with said first cursor motion signals when said object is not in said outer region of said sensing plane and moving said cursor in accordance with said first cursor motion signals combined with said second cursor motion signals when said object has moved into said outer region of said sensing plane so long as said object remains in said outer region of said sensing plane. - View Dependent Claims (47, 48, 49, 50, 51, 52)
-
-
53. A method for moving a cursor on a display screen in response to signals representing of the position of an object sensed on a sensing plane, including the steps of:
-
providing a sensing plane; sensing the presence of an object on said sensing plane and generating present-position signals representing the present position of said object in both X and Y directions on said sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said sensing plane; generating first X and Y cursor motion signals for moving the cursor, said first X and Y cursor motion signals for causing said cursor to move a distance in an X direction on the display screen representing the difference between an X component of a previous position of said object and an X component of said present position of said object reported by said present-position signals and for causing said cursor to move a distance in a Y direction on the display screen representing the difference between a Y component of a previous position of said object and a Y component of said present position of said object reported by said present-position signals; generating second X and Y cursor motion signals different from said first X and Y cursor motion signals if said object has moved into said outer region of said sensing plane, said second X and Y cursor motion signals for causing said cursor to incrementally move on the display screen a selected distance in X direction representing the difference between an X location of a fixed reference point on said sensing plane and an X component of said present position of said object on said sensing plane and a selected distance in Y direction representing the difference between a Y location of a fixed reference point on said sensing plane and a Y component of said present position of said object on said sensing plane; and moving said cursor in accordance with said first X and Y cursor motion signals when said object is not in said outer region of said sensing plane and moving said cursor in accordance with said first X and Y cursor motion signals combined with said second X and Y cursor motion signals when said object has moved into said outer region of said sensing plane so long as said object remains in said outer region of said sensing plane. - View Dependent Claims (54, 55, 56, 57, 58)
-
-
59. A method for moving a cursor on a display screen in response to signals representing of the position of an object sensed on a rectangular sensing plane, including the steps of:
-
providing a rectangular sensing plane having four edges, one each in the +X, -X, +Y and -Y directions where X=0 and Y=0 define the origin in a coordinate system; sensing the presence of an object on said rectangular sensing plane and generating present-position signals representing the present position of said object in both X and Y directions on said rectangular sensing plane; sensing whether said object has moved into an outer region proximate to an outer edge of said rectangular sensing plane, said outer edge being perpendicular to one of a +X, -X, +Y and -Y direction; generating first X and Y cursor motion signals for moving the cursor, said first X and Y cursor motion signals causing said cursor to move in an X direction on the display screen representing the difference between an X component of a previous position of said object and an X component of said present position of said object reported by said present-position signals and causing said cursor to move in a Y direction on the display screen representing the difference between a Y component of a previous position of said object and a Y component of said present position of said object reported by said present-position signals; generating second X and Y cursor motion signals different from said first X and Y cursor motion signals for moving said cursor if said object has moved into said outer region of said rectangular sensing plane, said second X and Y cursor motion signals causing said cursor to incrementally move on the display screen a selected distance in a fixed direction in only the at least one +X, -X, +Y and -Y direction representing the direction to said outer edge of said rectangular sensing plane to which said object is proximate; and moving said cursor in accordance with said first X and Y cursor motion signals when said object is not in said outer region of said rectangular sensing plane and moving said cursor in accordance with said first X and Y cursor motion signals combined with said second X and Y cursor motion signals when said object has moved into said outer region of said rectangular sensing plane so long as said object remains in said outer region of said rectangular sensing plane. - View Dependent Claims (60, 61, 62, 63, 64)
-
Specification