IP Library Granted Patent US 10,152,129
Granted Patent B2
US 10,152,129 · App. 15/369,604 · Granted Dec 11, 2018

Electronic device, method and computer program product for providing vibratory feedback

Inventor: Jianlin He (Beijing, CN)
Assignee: LENOVO (BEIJING) LIMITED
G06F3/016G06F1/1626G06F3/041G06F3/0412
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 10,152,129
App. No.
15/369,604
Granted
Dec 11, 2018
Kind
B2
Abstract

An electronic device, method, and computer program product are disclosed. The electronic device includes a processor and an input device. The input device includes motors and a touch device. In response to a touch input, at least one of the motors generates vibratory feedback. The method includes detecting a touch input, determining a distance between the location of the touch input and at least one motor, and generating a vibratory feedback proportionate to the distance between the location of the touch input and the at least one motor. The computer program product includes executable code to perform detecting a touch input, determining a distance between the location of the touch input and at least one motor, and generating a vibratory feedback proportionate to the distance between the location of the touch input and the at least one motor.

Claims (91)

1. An electronic device, comprising:

a processor;

an input device, comprising a plurality of motors and a touch device coupled to the plurality of motors; and

a controller;

wherein

the input device provides user input to the processor,

the input device is coupled to the processor,

in response to a touch input to the touch device, at least one motor of the plurality of motors is operative to generate vibratory feedback of a vibration intensity that is in direct proportion to a distance from a touch point to the at least one motor of the plurality of motors, and

the controller

acquires state parameters collected by a sensor,

determines the vibration intensity based on the state parameters,

if the vibration intensity meets or exceeds a first threshold, determines that to-be-started motors comprise the plurality of motors, and

if the vibration intensity does not exceed the first threshold, acquires a power value of each of the motors of the plurality of motors, and determines that to-be-started motors comprise a portion of the plurality of motors according to an individual vibration intensity of each motor and the power value of each motor.

2. The electronic device of claim 1 , wherein:

the electronic device further comprises a display device coupled to the processor and the input device, and

the display device displays the user input that is provided via the input device.

3. The electronic device of claim 1 , wherein:

each motor corresponds to an independent control circuit;

each motor corresponds to a vibration area;

the vibration areas cover the entire area of the input device;

each motor is located at a first position of the motor's corresponding vibration area; and

the individual vibration intensity of each motor in its corresponding vibration area is in direct proportion to a distance from a touch point to the motor.

4. The electronic device of claim 1 , wherein the processor additionally:

determines whether a receiver of the electronic device receives a touch input; and

if yes, determines that a trigger condition is satisfied.

5. The electronic device of claim 4 , wherein the controller:

determines whether the to-be-started motors satisfy a synchronous vibration condition;

controls the to-be-started motors to synchronously vibrate if the synchronous vibration condition is satisfied; and

controls the to-be-started motors to separately vibrate if the synchronous vibration condition is not satisfied.

6. The electronic device of claim 4 , wherein:

the controller controls the to-be-started motors through corresponding control circuits.

7. The electronic device of claim 4 , wherein the controller further:

selects a control policy according to a type of the touch input; and

generates a vibration feedback adapted to the type of the touch input according to the corresponding control policy.

8. The electronic device according to claim 7 , wherein the controller additionally:

selects a first control policy if the type of the touch input is a type 1 input; and

selects a second control policy if the type of the touch input is a type 2 input;

wherein the first control policy comprises:

acquiring a touch point position of the touch input,

acquiring a distance between the touch point position and each of the motors of the plurality of motors, and

selecting at least one of the motors of the plurality of motors to start based on the power value of each motor and the individual vibration intensity of each motor for the touch point position during the start of the motor, so that a sum of vibration intensities of the started motors at the touch point position is equal to a first preset vibration intensity value, wherein the first preset vibration intensity value is a fixed value; and

wherein the second control policy comprises:

acquiring a touch point position of the touch input,

acquiring a pressure value of the touch input,

determining a second preset vibration intensity value corresponding to the pressure value,

acquiring a distance between the touch point position and each of the motors of the plurality of motors, and

selecting at least one of the motors of the plurality of motors to start based on the power value of each motor and the individual vibration intensity of each motor for the touch point position during the start of the motor, so that a sum of vibration intensities of the started motors at the touch point position is equal to the second preset vibration intensity value.

9. A method, comprising:

detecting a touch input made to an input device of an electronic device;

determining a distance between a location of the touch input and at least one motor of a plurality of motors of the input device;

generating a vibratory feedback via the at least one motor of the plurality of motors, the vibratory feedback having a vibration intensity that is proportionate to the corresponding distance between the location of the touch input and each of the at least one motors of the plurality of motors; and

controlling the start of at least one of the motors of the plurality of motors according to a preset rule, which comprises:

acquiring state parameters collected by a sensor,

determining the vibration intensity based on the state parameters,

if the vibration intensity meets or exceeds a first threshold, determining that to-be-started motors comprise the plurality of motors, and

if the vibration intensity does not exceed the first threshold, acquiring the power value of each of the motors of the plurality of motors and determining that to-be-started motors comprise a portion of the plurality of motors according to an individual vibration intensity of each motor and the power value of each motor.

10. The method of claim 9 , further comprising:

displaying the touch input via a display device of the electronic device.

11. The method of claim 9 , wherein:

each motor corresponds to an independent control circuit;

each motor corresponds to a vibration area;

the vibration areas cover the entire area of the input device;

each motor is located at a first position of the motor's corresponding vibration area; and

the individual vibration intensity of each motor in its corresponding vibration area is in direct proportion to a distance from a touch point to the motor.

12. The method according to claim 9 , further comprising:

determining whether a receiver of the electronic device receives a touch input; and

if the electronic device receives a touch input, determining that a trigger condition is satisfied.

13. The method according to claim 12 , wherein controlling the start of at least one of the motors of the plurality of motors additionally comprises:

determining whether the at least one of the motors of the plurality of motors satisfies a synchronous vibration condition;

controlling the to-be-started motors to synchronously vibrate if the synchronous vibration condition is satisfied; and

controlling the to-be-started motors to separately vibrate if the synchronous vibration condition is not satisfied.

14. The method according to claim 12 , wherein the method further comprises:

controlling the to-be-started motors through corresponding control circuits.

15. The method according to claim 12 , wherein the method further comprises:

controlling the to-be-started motors directly.

16. The method of claim 12 , further comprising:

selecting a control policy according to a type of the touch input; and

generating a vibration feedback adapted to the type of the touch input according to the corresponding control policy.

17. The method of claim 16 , wherein selecting a control policy according to a type of the touch input comprises:

selecting a first control policy if the type of the touch input is a type 1 input; and

selecting a second control policy if the type of the touch input is a type 2 input;

wherein the first control policy comprises:

acquiring a touch point position of the touch input,

acquiring a distance between the touch point position and each of the motors of the plurality of motors, and

selecting at least one of the motors of the plurality of motors to start based on the power value of each motor and the vibration intensity of each motor for the touch point position during the start of the motor, so that a sum of vibration intensities of the started motors at the touch point position is equal to a first preset vibration intensity value, wherein the first preset vibration intensity value is a fixed value; and

wherein the second control policy comprises:

acquiring a touch point position of the touch input,

acquiring a pressure value of the touch input,

determining a second preset vibration intensity value corresponding to the pressure value,

acquiring a distance between the touch point position and each of the motors of the plurality of motors, and

selecting at least one of the motors of the plurality of motors to start based on the power value of each motor and the vibration intensity of each motor for the touch point position during the start of the motor, so that a sum of vibration intensities of the started motors at the touch point position is equal to the second preset vibration intensity value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2017
From: HE, JIANLIN
To: LENOVO (BEIJING) LIMITED
Reel/Frame 041008/0659 →
Continuity (1)
Related Publication 20170160806A1 · Jun 8, 2017