# US 10,503,261 B2 · Multi-point feedback control for touchpads

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,261 B2
- Document ID: US10503261B2
- Status: Granted
- Kind: B2
- Application number: 15/844,322
- Filed: 2017-12-15
- Published: 2019-06-20
- Granted: 2019-12-10
- Earliest claimed: 2017-12-15
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Derek Basehore; Nicholas Jordan Sanders; Gregory Granito
- Web page: https://patentgrep.com/patent/US10503261B2

## CPC

- G06F 3/016: {Input arrangements with force or tactile feedback as computer generated output to the user}
- G06F 3/017: {Gesture based interaction, e.g. based on a set of recognized hand gestures (interaction based on gestures traced on a digitiser G06F3/04883)}
- G06F 3/03547: {Touch pads, in which fingers can move on a surface}
- G06F 3/0436: {in which generating transducers and detecting transducers are attached to a single acoustic waves transmission substrate}
- G06F 3/044: by capacitive means
- G06F 1/1613: {for portable computers (cooling arrangements therefor G06F1/203; constructional details or arrangements for pocket calculators, electronic agendas or books G06F15/0216; constructional details of portable telephone sets: with several bodies H04M1/0202)}
- G06F 1/169: {the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes (G06F1/1643 takes precedence; constructional details of pointing devices G06F3/033)}
- G06F 1/1692: {the I/O peripheral being a secondary touch screen used as control interface, e.g. virtual buttons or sliders}
- G06F 3/038: Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F 3/0412: {Digitisers structurally integrated in a display}
- G06F 3/0414: {using force sensing means to determine a position}
- G06F 3/0433: {in which the acoustic waves are either generated by a movable member and propagated within a surface layer or propagated within a surface layer and captured by a movable member}
- G06F 3/0483: Interaction with page-structured environments, e.g. book metaphor
- G06F 3/04883: for inputting data by handwriting, e.g. gesture or text
- G06F 3/04886: by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
- G06F 2203/04104: Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
- G06F 2203/04105: Pressure sensors for measuring the pressure or force exerted on the touch surface without providing the touch position
- G06F 2203/04808: Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
- H04R 2400/03: Transducers capable of generating both sound as well as tactile vibration, e.g. as used in cellular phones
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04R: LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS (producing sounds with frequency not determined by supply frequency G10K)

## Abstract

A system and method for dynamically cancelling haptic feedback in certain areas of a touchpad, and/or to dynamically isolating haptic feedback in certain areas of the touchpad, may enhance flexibility, utility and functionality of the touchpad. A first haptic engine may generate and transmit haptic feedback in response to an input detected in an input area of the touchpad. A second haptic engine may generate haptic cancellation feedback, and transmit the cancellation feedback after a time delay, to cancel out the effect of the haptic feedback in a cancellation area of the touchpad. This may allow a user to experience the haptic feedback in response to an input in the input area, and to rest hand(s) on other portions of the touchpad display without feeling haptic feedback in the other portions of the touchpad.

## Claims

### Claim 1

A method of operating a touchpad including a plurality of haptic engines, comprising:
detecting an input at an input surface of the touchpad;
associating the detected input with an input area of the touchpad;
detecting a contact at the input surface of the touchpad;
associating the detected contact with a cancellation area of the touchpad;
transmitting, by one haptic engine of the plurality of haptic engines of the touchpad, a first haptic feedback signal in response to the detecting of the input in the input area; and
transmitting, by an other haptic engine of the plurality of haptic engines of the touchpad, a second haptic feedback signal in response to the detecting of the contact in the cancellation area, the second haptic feedback signal being an inverse of the first haptic feedback that cancels a haptic effect of the first haptic feedback signal in the cancellation area of the touchpad, including:
determining a time delay based on a position of the cancellation area on the touchpad, the time delay defining a period of time;
detecting that the period of time has elapsed after transmitting the first haptic feedback signal; and
transmitting the second haptic feedback signal after detecting that the period of time has elapsed after transmitting the first haptic feedback signal.

### Claim 2 (depends on 1)

The method of claim 1, wherein detecting the contact at the input surface of the touchpad includes:
detecting, by a multi-touch sensor of the touchpad, the contact at the input surface of the touchpad; and
detecting a contact area associated with the detected contact on the input surface.

### Claim 3 (depends on 2)

The method of claim 2, wherein associating the detected contact with the cancellation area of the touchpad includes:
matching the detected contact and the associated contact area with a known multi-touch contact; and
setting a portion of the touchpad at which the contact area and associated contact is detected as the cancellation area in response to the matching.

### Claim 4 (depends on 1)

The method of claim 1, wherein detecting the input at the input surface of the touchpad includes:
detecting, by one or more pressure sensors of the touchpad, a touch input at the input surface of the touchpad;
detecting an input force associated with the detected touch input; and
detecting a gesture associated with the detected touch input.

### Claim 5 (depends on 4)

The method of claim 4, wherein associating the detected input with the input area of the touchpad includes:
detecting at least one characteristic associated with the detected gesture;
matching the detected gesture with an input command based on the detected at least one characteristic and the detected input force; and
setting a portion of the touchpad at which the gesture is detected as the input area.

### Claim 6 (depends on 5)

The method of claim 5, wherein the at least one characteristic includes at least one of a detected touch input pattern detected on the input surface of the touchpad, a period of time for which the detected gesture is sustained on the input surface of the touchpad, and the detected input force.

### Claim 7 (depends on 1)

The method of claim 1, wherein the plurality of haptic engines includes a first haptic engine generating the first haptic feedback signal, a second haptic engine, and a third haptic engine positioned between the first haptic engine and the second haptic engine, the third haptic engine generating the second haptic feedback signal, and wherein determining the period of time defining the time delay includes:
detecting a first distance d1 between the first haptic engine and the cancellation area;
detecting a second distance d2 between the third haptic engine and the cancellation area; and
determining a difference Δd between the first distance d1 and the second distance d2.

### Claim 8 (depends on 7)

The method of claim 7, wherein determining the period of time defining the time delay also includes:
dividing the difference Δd by a propagation speed v of the first haptic feedback signal and the second haptic feedback signal through the touchpad; and
setting the period of time equal to the quotient of the difference Δd divided by the propagation speed v.

### Claim 9 (depends on 7)

The method of claim 7, wherein determining the period of time defining the time delay also includes:
determining a third distance d3 between the input area and the cancellation area;
dividing the third distance d3 by a propagation speed v of the first haptic feedback signal and the second haptic feedback signal through the touchpad; and
setting the period of time equal to the quotient of the third distance d3 divided by the propagation speed v.

### Claim 10 (depends on 7)

The method of claim 7, wherein transmitting the first haptic feedback signal in response to the detecting of the input in the input area, and transmitting the second haptic feedback signal in response to the detecting of the contact in the cancellation area includes:
transmitting the first haptic feedback signal such that the first haptic feedback signal propagates outward from the first haptic engine toward the input area; and
after detecting that the period of time has elapsed from the transmitting of the first haptic feedback signal, transmitting the second haptic feedback signal such that the second haptic feedback signal propagates outward from the third haptic engine toward the cancellation area,
wherein the second haptic feedback signal is the inverse of the first haptic feedback signal, such that the second haptic feedback signal cancels out the first haptic feedback signal as the first haptic feedback signal continues to propagate and the first haptic signal and the second haptic feedback signal meet in the cancellation area.

### Claim 11 (depends on 10)

The method of claim 10, wherein
transmitting the first haptic feedback signal includes transmitting the first haptic signal at an increasing amplitude as the first haptic feedback signal propagates outward from the first haptic engine, and
transmitting the second haptic feedback signal includes transmitting the second haptic signal at an increasing amplitude as the second haptic feedback signal propagates outward from the third haptic engine.

### Claim 12 (depends on 11)

The method of claim 11, wherein the amplitude of the first haptic feedback signal in the input area is greater than the amplitude of the second haptic feedback signal in the input area, such that the second haptic feedback signal does not cancel out the first haptic signal in the input area and the first haptic feedback signal generates detectable haptic feedback at the input area of the touchpad.

### Claim 13

A computer program product embodied on a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a method, the method comprising:
detecting an input at an input surface of a touchpad;
associating the detected input with an input area of the touchpad;
detecting a contact at the input surface of the touchpad;
associating the detected contact with a cancellation area of the touchpad;
transmitting, by a one haptic engine, of a plurality of haptic engines of the touchpad, a first haptic feedback signal in response to the detecting of the input in the input area;
determining a time delay based on a position of the cancellation area on the touchpad, the time delay defining a period of time;
detecting that the period of time has elapsed since the transmitting of the first haptic feedback signal; and
transmitting, by an other haptic engine of the plurality of haptic engines of the touchpad, after detecting that the period of time has elapsed since the transmitting of the first haptic feedback signal, a second haptic feedback signal in response to the detecting of the contact in the cancellation area, the second haptic feedback signal being an inverse of the first haptic feedback signal that cancels a haptic effect of the first haptic feedback signal in the cancellation area of the touchpad.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein detecting the input at the input surface of the touchpad and associating the detected input with the input area of the touchpad includes:
detecting, by one or more pressure sensors of the touchpad, a touch input at the input surface of the touchpad;
detecting a gesture associated with the detected touch input;
detecting an input force associated with the detected touch input;
matching the detected gesture and the detected input force with an input command; and
setting a portion of the touchpad at which the gesture is detected as the input area of the touchpad.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein detecting the contact at the input surface of the touchpad includes:
detecting, by a multi-touch sensor of the touchpad, the contact at the input surface of the touchpad;
detecting a contact area associated with the detected contact on the input surface;
matching the detected contact and the associated contact area with a known multi-touch contact; and
setting a portion of the touchpad at which the contact area and associated contact is detected as the cancellation area of the touchpad in response to the matching.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein determining the time delay defining the period of time includes:
detecting a first distance d1 between the one haptic engine and the cancellation area;
detecting a second distance d2 between the other haptic engine and the cancellation area;
determining a difference Δd between the first distance d1 and the second distance d2;
dividing the difference Δd by a propagation speed v of the first haptic feedback signal and the second haptic feedback signal through the touchpad; and
setting the period of time equal to the quotient of the difference Δd divided by the propagation speed v.

### Claim 17 (depends on 16)

The computer program product of claim 16, detecting that the period of time has elapsed since the transmitting of the first haptic feedback signal includes defining the period of time, including:
determining a third distance d3 between the input area and the cancellation area;
dividing the third distance d3 by a propagation speed v of the first haptic feedback signal and the second haptic feedback signal through the touchpad; and
setting the period of time equal to the quotient of the third distance d3 divided by the propagation speed v.

### Claim 18 (depends on 13)

The computer program product of claim 13, wherein transmitting the first haptic feedback signal in response to the detecting of the input in the input area, and transmitting the second haptic feedback signal in response to the detecting of the contact in the cancellation area includes:
transmitting the first haptic feedback signal such that the first haptic feedback signal propagates outward from the one haptic engine toward the input area; and
after the period of time has elapsed, transmitting the second haptic feedback signal such that the second haptic feedback signal propagates outward from the other haptic engine toward the cancellation area,
wherein the second haptic feedback signal is the inverse of the first haptic feedback signal, such that the second haptic feedback signal cancels out the first haptic feedback signal as the first haptic feedback signal continues to propagate and the first haptic signal and the second haptic feedback signal meet in the cancellation area.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein
transmitting the first haptic feedback signal includes transmitting the first haptic signal at an increasing amplitude as the first haptic feedback signal propagates outward from the one haptic engine, and
transmitting the second haptic feedback signal includes transmitting the second haptic signal at an increasing amplitude as the second haptic feedback signal propagates outward from the other haptic engine, and
wherein the amplitude of the first haptic feedback signal in the input area is greater than the amplitude of the second haptic feedback signal in the input area, such that the second haptic feedback signal does not cancel out the first haptic signal in the input area and the first haptic feedback signal generates detectable haptic feedback at the input area of the touchpad.

### Claim 20

A computing device, comprising:
a base;
a touchpad extending from a first lateral side portion of the base to a second lateral side portion of the base, the first lateral side portion of the base being opposite the second lateral side portion of the base, the touchpad including:
an input surface;
a plurality of pressure sensors arranged in communication with the input surface;
a capacitive sensor in communication with the input surface; and
a plurality of haptic engines arranged in communication with the input surface; and
a processor configured to control the plurality of haptic engines of the touchpad in response to inputs detected at the input surface, wherein the processor is configured to:
associate an input detected by one or more of the plurality of pressure sensors with an input area of the touchpad;
associate a contact detected by the capacitive sensor with a cancellation area of the touchpad;
control one haptic engine, of the plurality of haptic engines, to transmit a first haptic feedback signal in response to the detected input in the input area;
determine a time delay based on a position of the cancellation area on the touchpad, the time delay defining a period of time; and
control an other haptic engine, of the plurality of haptic engines, to transmit a second haptic feedback signal, after the period of time has elapsed, in response to the detected contact in the cancellation area, wherein the second haptic feedback signal is an inverse of the first haptic feedback signal that cancels a haptic effect the first haptic feedback signal in the cancellation area of the touchpad.

### Claim 21 (depends on 20)

The computing device of claim 20, wherein
the plurality of pressure sensors includes:
a first pressure sensor in a first corner portion of the touchpad;
a second pressure sensor in a second corner portion of the touchpad;
a third pressure sensor in a third corner portion of the touchpad; and
a fourth pressure sensor in a fourth corner portion of the touchpad; and
the plurality of haptic engines includes:
the first haptic engine at a first lateral side portion of the touchpad;
a second haptic engine at a central portion of the touchpad; and
the third haptic engine at a second lateral side portion of the touchpad, the second lateral side portion of the touchpad being opposite the first lateral side portion of the touchpad, with the second haptic engine is positioned between the first haptic engine and the third haptic engine.

### Claim 22 (depends on 20)

The computing device of claim 20, wherein, in controlling the determining the time delay, the processor is configured to:
determine a first distance d1 between the one haptic engine and the cancellation area;
determine a second distance d2 between the other haptic engine and the cancellation area;
determine a difference Δd between the first distance d1 and the second distance d2; and
set the period of time equal to a quotient of the difference Δd divided by a propagation speed v of the first haptic feedback signal and the second haptic feedback signal through the touchpad.

### Claim 23 (depends on 20)

The computing device of claim 20, wherein in transmitting the first haptic feedback signal in response to the detecting of the input in the input area, and transmitting the second haptic feedback signal in response to the detecting of the contact in the cancellation area, the processor is configured to control the one haptic engine and the other haptic engine to:
transmit the first haptic feedback signal such that the first haptic feedback signal propagates outward from the one haptic engine toward the input area; and
after the period of time has elapsed, transmit the second haptic feedback signal such that the second haptic feedback signal propagates outward from the other haptic engine toward the cancellation area,
wherein the second haptic feedback signal is the inverse of the first haptic feedback signal, such that the second haptic feedback signal cancels out the first haptic feedback signal as the first haptic feedback signal continues to propagate and the first haptic signal and the second haptic feedback signal meet in the cancellation area.
