# US 2017/0255279 A1 · Movement space mapping for control sticks in user input devices

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

- Number: US 2017/0255279 A1
- Document ID: US20170255279A1
- Status: Published application
- Kind: A1
- Application number: 15/062,481
- Filed: 2016-03-07
- Published: 2017-09-07
- Earliest claimed: 2016-03-07
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Curtis F. McClive; Aaron J. Schmitz; Ross A. Nelson; Tony J. Grant
- Web page: https://patentgrep.com/patent/US20170255279A1

## CPC

- G06F 3/0338: with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
- A63F 13/22: Setup operations, e.g. calibration, key configuration or button assignment
- A63F 13/42: by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- G05G 9/047: the controlling member being movable by hand about orthogonal axes, e.g. joysticks {(for switches H01H25/04)}
- G06F 3/038: Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F 3/0383: {Signal control means within the pointing device}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- G05G: CONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY ("Bowden" or like mechanisms F16C1/10; gearings or mechanisms not peculiar to this purpose F16H; speed changing or reversing mechanisms for gearings conveying rotary motion F16H59/00 - F16H63/00)

## Abstract

User input devices, such as gaming controllers, are provided herein. In one example, a user input device includes a control stick mechanism configured to receive user manipulation in one or more axes. The user input device includes control circuitry configured to process movement data representative of the user manipulation to determine mapped movement data over a normalized movement space according to at least one of a mechanical center associated with the control stick mechanism and cardinality data defining a measured movement space associated with the control stick mechanism. The control circuitry is configured to present the mapped movement data for use in controlling one or more user interface elements with the control stick mechanism.

## Claims

### Claim 1

A user input device, comprising:
a control stick mechanism configured to receive user manipulation in one or more axes;
control circuitry configured to process movement data representative of the user manipulation to determine mapped movement data over a normalized movement space according to at least one of a mechanical center associated with the control stick mechanism and cardinality data defining a measured movement space associated with the control stick mechanism;
the control circuitry configured to present the mapped movement data for use in controlling one or more user interface elements with the control stick mechanism.

### Claim 2 (depends on 1)

The user input device of claim 1, comprising:
the control circuitry configured to establish the mapped movement data by at least determining scaled movement data to tit the movement data to the normalized movement space according to at least a scaling function and cardinal extreme reference points of the cardinality data.

### Claim 3 (depends on 2)

The user input device of claim 2, comprising:
the control circuitry further configured to establish the mapped movement data by at least mapping the scaled movement data using one or more weighting functions to distribute the scaled movement data within the normalized movement space to position the mechanical center at the midpoint center of the normalized movement space while the cardinal extreme reference points are aligned with a perimeter of the normalized movement space.

### Claim 4 (depends on 1)

The user input device of claim 1, comprising:
the control circuitry configured to establish a perimeter zone about a mechanical center in the measured movement space, shift the movement data in the perimeter zone to place the mechanical center at a midpoint center of the normalized movement space, and apply a weighting function to distribute shifted movement data within the perimeter zone and establish the mapped movement data, wherein the weighting function constrains distortion from interpolation of the shifted movement data to within the perimeter zone and maintains a linear response at a periphery of the normalized movement space.

### Claim 5 (depends on 1)

The user input device of claim 1, comprising:
the control circuitry configured to apply a scaling function to the movement data to determine scaled movement data that scales the measured movement space to fit the normalized movement space according to cardinal extreme reference points derived from the movement data for the measured movement space, and map the scaled movement data to align the mechanical center with a midpoint center of the normalized movement space, wherein a weighting function spreads distortion from mapping the scaled movement data throughout the normalized movement space and maintains undistorted scaled movement data at a periphery of the normalized movement space.

### Claim 6 (depends on 1)

The user input device of claim 1, comprising:
the control circuitry configured to process the movement data to derive the mechanical center of the control stick mechanism from at least a sequence of qualified resting points associated with the control stick mechanism;
the control circuitry configured to at least re-center the movement data according to the mechanical center to establish the mapped movement data.

### Claim 7 (depends on 6)

The user input device of claim 6, comprising:
the control circuitry configured to determine the qualified resting points as when the movement data indicates the control stick mechanism comes to a rest within at least a center qualification zone after exiting and re-entering the center qualification zone, wherein the rest comprises the movement data indicating a change in the movement data as being less than a threshold distance for more than a threshold amount of time that occurs within a further threshold amount of time of the movement data indicating entry into the center qualification zone;
wherein the center qualification zone comprises an adaptive size derived from a distribution of the qualified resting points around the mechanical center, the distribution of the qualified resting points changing during operation of the control stick mechanism due to at least mechanical variation of the control stick mechanism.

### Claim 8 (depends on 1)

The user input device of claim 1, comprising:
the control circuitry configured to determine the cardinality data by at least determining cardinal extreme reference points for the measured movement space of the control stick mechanism and determining a cardinal center among the cardinal extreme reference points, the cardinal extreme reference points each derived from an associated sequence of transit extremes qualified within associated cardinal extreme qualification zones.

### Claim 9

A method of operating a user input device, the method comprising:
in a control stick mechanism, receiving user manipulation in one or more axes;
in control circuitry, processing movement data representative of the user manipulation to determine mapped movement data over a normalized movement space according to at least one of a mechanical center associated with the control stick mechanism and cardinality data defining a measured movement space associated with the control stick mechanism;
in the control circuitry, presenting the mapped movement data for use in controlling one or more user interface elements with the control stick mechanism.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
in the control circuitry, establishing the mapped movement data by at least determining scaled movement data to fit the movement data to the normalized movement space according to at least a scaling function and cardinal extreme reference points of the cardinality data.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
in the control circuitry, further establishing the mapped movement data by at least mapping the scaled movement data using one or more weighting functions to distribute the scaled movement data within the normalized movement space to position the mechanical center at the midpoint center of the normalized movement space while the cardinal extreme reference points are aligned with a perimeter of the normalized movement space.

### Claim 12 (depends on 9)

The method of claim 9, further comprising:
in the control circuitry, establishing a perimeter zone about a mechanical center in the measured movement space, shifting the movement data in the perimeter zone to place the mechanical center at a midpoint center of the normalized movement space, and applying a weighting function to distribute shifted movement data within the perimeter zone and establish the mapped movement data, wherein the weighting function constrains distortion from interpolation of the shifted movement data to within the perimeter zone and maintains a linear response at a periphery of the normalized movement space.

### Claim 13 (depends on 9)

The method of claim 9, further comprising:
in the control circuitry, applying a scaling function to the movement data to determine scaled movement data that scales the measured movement space to fit the normalized movement space according to cardinal extreme reference points derived from the movement data for the measured movement space, and mapping the scaled movement data to align the mechanical center with a midpoint center of the normalized movement space, wherein a weighting function spreads distortion from mapping the scaled movement data throughout the normalized movement space and maintains undistorted scaled movement data at a periphery of the normalized movement space.

### Claim 14 (depends on 9)

The method of claim 9, further comprising;
in the control circuitry, processing the movement data to derive a mechanical center of the control stick mechanism from at least a sequence of qualified resting points associated with the control stick mechanism;
in the control circuitry, re-centering the movement data according to the mechanical center to establish the mapped movement data.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
in the control circuitry, determining the qualified resting points as when the movement data indicates the control stick mechanism comes to a rest within at least a center qualification zone after exiting and re-entering the center qualification zone, wherein the rest comprises the movement data indicating a change in the movement data as being less than a threshold distance for more than a threshold amount of time that occurs within a further threshold amount of time of the movement data indicating entry into the center qualification zone;
wherein the center qualification zone comprises an adaptive size derived from a distribution of the qualified resting points around the mechanical center, the distribution of the qualified resting points changing during operation of the control stick mechanism due to at least mechanical variation of the control stick mechanism.

### Claim 16 (depends on 9)

The method of claim 9, further comprising:
in the control circuitry, determining the cardinality data by at least determining cardinal extreme reference points for the measured movement space of the control stick mechanism and determining a cardinal center among the cardinal extreme reference points, the cardinal extreme reference points each derived from an associated sequence of transit extremes qualified within associated cardinal extreme qualification zones.

### Claim 17

A gaming controller platform, comprising:
a movement interface configured to receive movement data representative of user manipulation of a control stick mechanism in a gaming controller;
a calibration service configured to process movement data representative of the user manipulation to determine mapped movement data over a normalized movement space according to at least one of a mechanical center associated with the control stick mechanism and cardinality data defining a measured movement space associated with the control stick mechanism;
the calibration service configured to present the mapped movement data for use in controlling one or more user interface elements with the control stick mechanism.

### Claim 18 (depends on 17)

The gaming controller platform of claim 17, comprising:
the calibration service configured to determine scaled movement data to fit the movement data to the normalized movement space according to at least a scaling function and cardinal extreme reference points of the cardinality data;
the calibration service configured to map the scaled movement data using one or more weighting functions to distribute the scaled movement data within the normalized movement space to position the mechanical center at the midpoint center of the normalized movement space while the cardinal extreme reference points are aligned with a perimeter of the normalized movement space.

### Claim 19 (depends on 17)

The gaming controller platform of claim 17, comprising:
the calibration service configured to establish a perimeter zone about a mechanical center in the measured movement space, shift the movement data in the perimeter zone to place the mechanical center at a midpoint center of the normalized movement space, and apply a weighting function to distribute shifted movement data within the perimeter zone and establish the mapped movement data, wherein the weighting function constrains distortion from interpolation of the shifted movement data to within the perimeter zone and maintains a linear response at a periphery of the normalized movement space.

### Claim 20 (depends on 17)

The gaming controller platform of claim 17, comprising:
the calibration service configured to apply a scaling function to the movement data to determine scaled movement data that scales the measured movement space to fit the normalized movement space according to cardinal extreme reference points derived from the movement data for the measured movement space, and map the scaled movement data to align the mechanical center with a midpoint center of the normalized movement space, wherein a weighting function spreads distortion from mapping the scaled movement data throughout the normalized movement space and maintains undistorted scaled movement data at a periphery of the normalized movement space.
