IP Library › Granted Patent US 10,434,405
Granted Patent B2
US 10,434,405 · App. 15/798,167 · Granted Oct 8, 2019

Control stick sensitivity adjustment

Inventors: Ross Anthony Nelson (Seattle, WA); Aaron J. Schmitz (Redmond, WA); Curtis F. McClive (Kirkland, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
A63F13/22A63F13/20A63F13/24
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,434,405
App. No.
15/798,167
Granted
Oct 8, 2019
Kind
B2
Abstract

Examples are disclosed that relate to adjusting sensitivity of a control stick. In one example, a method comprises: receiving a dead zone inflection point defining a boundary of a dead zone region and a playspace region within a normalized two-dimensional movement space, receiving a sensitivity inflection point within the playspace region of the normalized two-dimensional movement space, transforming the sensitivity inflection point to a transformed sensitivity inflection point using a sensitivity scaling function that comprises the dead zone inflection point, receiving position data representing a current position of the control stick, and transforming the current position to a transformed position using a mapping function comprising the dead zone inflection point and the transformed sensitivity inflection point.

Claims (57)

1. At a computing device, a method for adjusting sensitivity of a control stick, the method comprising:

receiving a dead zone inflection point defining a boundary of a dead zone region and a playspace region within a normalized two-dimensional movement space of the control stick;

receiving a sensitivity inflection point within the playspace region of the normalized two-dimensional movement space;

transforming the sensitivity inflection point to a transformed sensitivity inflection point using a sensitivity scaling function that comprises the dead zone inflection point;

receiving position data representing a current position of the control stick; and

transforming the current position to a transformed position in the normalized two-dimensional movement space using a mapping function comprising the dead zone inflection point and the transformed sensitivity inflection point.

2. The method of claim 1 , further comprising:

receiving a plurality of sensitivity inflection points within the playspace region of the normalized two-dimensional movement space;

transforming each of the plurality of sensitivity inflection points to a transformed sensitivity inflection point using the sensitivity scaling function; and

generating the mapping function to comprise the dead zone inflection point and the plurality of transformed sensitivity inflection points.

3. The method of claim 1 , wherein the sensitivity scaling function is the sum of:

a first term comprising the difference between the dead zone inflection point and a maximum possible position of the control stick, as a fraction of the maximum possible position, with the difference multiplied by the sensitivity inflection point; and

a second term comprising the dead zone inflection point.

4. The method of claim 1 , wherein the sensitivity inflection point defines a first sensitivity region bounded by the dead zone inflection point and a second sensitivity region adjacent to the first sensitivity region, the method further comprising:

receiving an updated dead zone inflection point defining a boundary of an updated dead zone region and an updated playspace region within the normalized two-dimensional movement space of the control stick;

transforming the transformed sensitivity inflection point to an updated sensitivity inflection point using the sensitivity scaling function with the updated dead zone inflection point; and

generating an updated mapping function comprising the updated dead zone inflection point and the updated sensitivity inflection point, the updated sensitivity inflection point defining an updated first sensitivity region bounded by the updated dead zone inflection point and an updated second sensitivity region adjacent to the updated first sensitivity region.

5. The method of claim 4 , wherein a first slope of the first sensitivity region is directly proportional to an updated first slope of the updated first sensitivity region by a constant of proportionality, and a second slope of the second sensitivity region is directly proportional to an updated second slope of the updated second sensitivity region by the constant of proportionality.

6. The method of claim 4 , wherein a first value of a metric of the first sensitivity region is directly proportional to an updated first value of the metric of the updated first sensitivity region by a constant of proportionality, and a second value of the metric of the second sensitivity region is directly proportional to an updated second value of the metric of the updated second sensitivity region by the constant of proportionality.

7. The method of claim 1 , wherein the dead zone inflection point comprises a first coordinate corresponding to a return-to-center parameter of the control stick, and a second coordinate corresponding to a dimension of the dead zone region.

8. The method of claim 1 , wherein the dead zone inflection point is based at least in part on a return-to-center parameter determined in a manufacturing process for the control stick.

9. The method of claim 1 , further comprising receiving a coordinate of the dead zone inflection point from an application that receives input from the control stick.

10. The method of claim 1 , further comprising setting the dead zone inflection point via a calibration application.

11. The method of claim 1 , further comprising updating the dead zone inflection point during a runtime calibration process.

12. A computing device communicatively coupled to a control stick, the computing device comprising:

a processor, and

a memory device storing instructions executable by the processor to:

receive a dead zone inflection point defining a boundary of a dead zone region and a playspace region within a normalized two-dimensional movement space of the control stick;

receive a sensitivity inflection point within the playspace region of the normalized two-dimensional movement space;

transform the sensitivity inflection point to a transformed sensitivity inflection point using a sensitivity scaling function that comprises the dead zone inflection point;

receive position data representing a current position of the control stick; and

transform the current position to a transformed position in the normalized two-dimensional movement space using a mapping function comprising the dead zone inflection point and the transformed sensitivity inflection point.

13. The computing device of claim 12 , wherein the instructions are executable to:

receive a plurality of sensitivity inflection points within the playspace region of the normalized two-dimensional movement sp ace;

transform each of the plurality of sensitivity inflection points to a transformed sensitivity inflection point using the sensitivity scaling function; and

generate the mapping function to comprise the dead zone inflection point and the plurality of transformed sensitivity inflection points.

14. The computing device of claim 12 , wherein the sensitivity inflection point defines a first sensitivity region bounded by the dead zone inflection point and a second sensitivity region adjacent to the first sensitivity region, and the instructions are executable to:

receive an updated dead zone inflection point defining a boundary of an updated dead zone region and an updated playspace region within the normalized two-dimensional movement space of the control stick;

transform the transformed sensitivity inflection point to an updated sensitivity inflection point using the sensitivity scaling function; and

generate an updated mapping function comprising the updated dead zone inflection point and the updated sensitivity inflection point, the updated sensitivity inflection point defining an updated first sensitivity region bounded by the updated dead zone inflection point and an updated second sensitivity region adjacent to the updated first sensitivity region.

15. The computing device of claim 14 , wherein a first slope of the first sensitivity region is directly proportional to an updated first slope of the updated first sensitivity region by a constant of proportionality, and a second slope of the second sensitivity region is directly proportional to an updated second slope of the updated second sensitivity region by the constant of proportionality.

16. The computing device of claim 14 , wherein a first value of a metric of the first sensitivity region is directly proportional to an updated first value of the metric of the updated first sensitivity region by a constant of proportionality, and a second value of the metric of the second sensitivity region is directly proportional to an updated second value of the metric of the updated second sensitivity region by the constant of proportionality.

17. The computing device of claim 12 , wherein the sensitivity scaling function is the sum of:

a first term comprising the difference between the dead zone inflection point and a maximum possible position of the control stick, as a fraction of the maximum possible position, with the difference multiplied by the sensitivity inflection point; and

a second term comprising the dead zone inflection point.

18. The computing device of claim 12 , wherein the instructions are executable to:

receive a coordinate of the dead zone inflection point from an application that receives input from the control stick.

19. The computing device of claim 12 , wherein the dead zone inflection point comprises a first coordinate corresponding to a return-to-center parameter of the control stick, and a second coordinate corresponding to a dimension of the dead zone region.

20. A user input device, comprising:

a control stick configured to receive an input from a user along one or more axes; and

a processor configured to:

receive a dead zone inflection point defining a boundary of a dead zone region and a playspace region within a normalized two-dimensional movement space of the control stick;

receive a sensitivity inflection point within the playspace region of the normalized two-dimensional movement space;

transform the sensitivity inflection point to a transformed sensitivity inflection point using a sensitivity scaling function that comprises the dead zone inflection point;

receive position data representing a current position of the control stick;

transform the current position to a transformed position in the normalized two-dimensional movement space using a mapping function comprising the dead zone inflection point and the transformed sensitivity inflection point; and

output the transformed position.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2017
From: NELSON, ROSS ANTHONY; SCHMITZ, AARON J.; MCCLIVE, CURTIS F.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043985/0910 →
Continuity (1)
Related Publication 20190126140A1 · May 2, 2019
Cited By (1)
US 12,221,199