Joystick Mapper Windows 10

Many PC and Mac games treat the keyboard as a first-class citizen and have poor support for game controllers. You can remap your controller buttons to keyboard key presses to get around this limitation.

  1. Joystick Mapper Win 10
  2. Joystick Button Mapper
  3. Gamepad Mapper Windows 10

You’ll lose some analog input—for example, the joysticks will just function as arrow keys that are on or off without the usual range of sensitivity—but for some games, that’s not a huge issue.

If you’re just looking to play Steam games with a controller, Steam already has great built-in tools for remapping controllers in its Big Picture Mode and will be a much easier solution than anything else listed here. For use system-wide or in non-Steam games, you’ll need a third party application.

RELATED:How to Remap Xbox, PlayStation, and Other Controller Buttons in Steam

Joystick Mapper is an Mac OS X application that allows you pro play any game or use any other application with a Gamepad or Joystick, even the ones without built-in support. You can map your joystick input to simulate Keyboard and Mouse. Before connecting: configuring your Taranis for Windows 10. Then press the Minus (-) key until you scroll down to a blank slot. Once you’re on a blank space, press and hold the Enter (ENT) key. Select ‘Create Model’ again pressing the Enter (ENT) key. Press the Plus (+) or Minus (-) keys until you navigate to the Quadcopter image (that’s the one on the very right). Once selected, press Enter (ENT).

Connect Your Controller

This step is obvious, but with so many kinds of controllers on the market, it can be a challenge to get them working correctly, especially on macOS. We have a comprehensive guide for most mainstream controllers that you can reference if you’re having issues, but most current-gen controllers will be plug and play on Windows and macOS. Last-gen and earlier controllers may need custom drivers and a bit of setup.

RELATED:How to Connect Any Console Game Controller to a Windows PC or Mac

You can make sure the controller is connected by opening up the “Devices” tab in Window’s settings. Head to Settings > Devices > Bluetooth & Other Devices and look under “Other Devices.”

On macOS, you can usually find USB controllers in the “System Information” app, under “USB.” Bluetooth controllers should show up in the Bluetooth menu in the top menubar.

Windows (And Linux) Setup – AntiMicro

There are a couple of good commercial options out there, most notably reWASD, but AntiMicro is free, open source, and does its job just as well. It also works on Linux as well.

Is there any tool, utility or some place in the operating system where I can see the serial number of an Intel Processor? I have several Intel Boxed Dual Core Processors, but in their boxes I can't see any serial number; the only thing I can see to identify the processors is the FPO/Batch number, but all the processors I bought have the same FPO/Batch number (they were bought at the same time. Intel® Networking Products. To find your part number (PN), stocking ID, or serial number (SN) for Intel® Networking Products, see the example below. The Serial Number is a combination of the MAC Address and Part Number. Example: Use the bolded portion of the MAC address (ignore the first six numbers): 001B215CFD4C; Include the manufacturing information: 090AC; Plus, the bolded portion of the Part. Apr 01, 2005  A PSN (processor serial number) is a software-readable unique serial number that Intel has stamped into its Pentium 3 microprocessor. Intel offers this as a feature that can be optionally used to provide certain network management and e-commerce benefits. Basically, it lets a. Intel® NUC serial numbers and SA numbers (subassembly number, or stocking ID) can be found on the label on the bottom of the chassis or on the board. See the examples below. Ezgo serial number identification.

Download the latest release from Github (or the portable version if you don’t want to install it) and open it up.

So long as your controller is connected, you’ll see this screen laying out all the sticks and buttons. You can click any of these to set a mapping to any keyboard key, or the mouse. If you press the buttons on your controller, it should light up the button in AntiMicro, so you won’t have to worry about figuring out which one “Button 14” is.

Mapping a joystick to WASD or arrow keys turn it from an analog input to a digital one, which can be less responsive, but you can configure the dead zones and other settings by clicking on the “L Stick” button in the middle.

The joysticks also work well when mapped to the mouse, which brings back some analog control. That’s good for any games requiring first-person aiming.

There are a few advanced options in the settings, like macro support and profile switching. But, out of the box, AntiMicro works well for simply remapping a controller to keyboard keys.

MacOS Setup – Enjoyable

For macOS, Enjoyable is a great alternative to AntiMicro that’s even simpler to use. Just run the app, press a button on your controller, then press a key on your keyboard, and repeat for each button you want to map. After that’s done, press the run button (it looks like a “>”) in the top right corner, and it should be good to go. It doesn’t have any presence on your Mac’s menubar, so you must have the window open while you want to use your controller.

Enjoyable supports multiple profiles, switching profiles with buttons, and moving the mouse. The joysticks can be a bit glitchy to map, as it tends to switch between multiple axes. But, with some trial and error, it should work fine.

READ NEXT
  • › What Does “FWIW” Mean, and How Do You Use It?
  • › How to Automatically Delete Your YouTube History
  • › What Is “Mixed Content,” and Why Is Chrome Blocking It?
  • › How to Manage Multiple Mailboxes in Outlook
  • › How to Move Your Linux home Directory to Another Drive

Joystick Mapper Win 10

-->

Note

This topic is meant for manufacturers of Windows 10-compatible game controllers, and doesn't apply to the majority of developers.

The Windows.Gaming.Input namespace allows independent hardware vendors (IHVs) to add data to the PC's registry, enabling their devices to appear as Gamepads, RacingWheels, ArcadeSticks, FlightSticks, and UINavigationControllers as appropriate. All IHVs should add this data for their compatible controllers. By doing this, all UWP games (and any desktop games that use the WinRT API) will be able to support your game controller.

Mapping scheme

Mappings for a device with Vendor ID (VID) VVVV, Product ID (PID) PPPP, Usage Page UUUU, and Usage ID XXXX, will be read out from this location in the registry:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlGameInputDevicesVVVVPPPPUUUUXXXX

The table below explains the expected values under the device root location:

NameTypeRequired?Info
DisabledDWORDNo

Indicates that this particular device should be disabled.

  • 0: Device is not disabled.
  • 1: Device is disabled.
DescriptionREG_SZ NoA short description of the device.

Your device installer should add this data to the registry (either via setup or an INF file).

Subkeys under the device root location are detailed in the following sections.

Gamepad

The table below lists the required and optional subkeys under the Gamepad subkey:

SubkeyRequired?Info
MenuYesSee Button mapping
ViewYes
AYes
BYes
XYes
YYes
LeftShoulderYes
RightShoulderYes
LeftThumbstickButtonYes
RightThumbstickButtonYes
DPadUpYes
DPadDownYes
DPadLeftYes
DPadRightYes
Paddle1No
Paddle2No
Paddle3No
Paddle4No
LeftTriggerYesSee Axis mapping
RightTriggerYes
LeftThumbstickXYes
LeftThumbstickYYes
RightThumbstickXYes
RightThumbstickYYes

Note

If you add your game controller as a supported Gamepad, we highly recommend that you also add it as a supported UINavigationController.

Joystick Button Mapper

RacingWheel

The table below lists the required and optional subkeys under the RacingWheel subkey:

SubkeyRequired?Info
PreviousGearYesSee Button mapping
NextGearYes
DPadUpNo
DPadDownNo
DPadLeftNo
DPadRightNo
Button1No
Button2No
Button3No
Button4No
Button5No
Button6No
Button7No
Button8No
Button9No
Button10No
Button11No
Button12No
Button13No
Button14No
Button15No
Button16No
FirstGearNo
SecondGearNo
ThirdGearNo
FourthGearNo
FifthGearNo
SixthGearNo
SeventhGearNo
ReverseGearNo
WheelYesSee Axis mapping
ThrottleYes
BrakeYes
ClutchNo
HandbrakeNo
MaxWheelAngleYesSee Properties mapping

ArcadeStick

The table below lists the required and optional subkeys under the ArcadeStick subkey:

SubkeyRequired?Info
Action 1YesSee Button mapping
Action2Yes
Action3Yes
Action4Yes
Action5Yes
Action6Yes
Special1Yes
Special2Yes
StickUpYes
StickDownYes
StickLeftYes
StickRightYes

FlightStick

The table below lists the required and optional subkeys under the FlightStick subkey:

SubkeyRequired?Info
FirePrimaryYesSee Button mapping
FireSecondaryYes
RollYesSee Axis mapping
PitchYes
YawYes
ThrottleYes
HatSwitchYesSee Switch mapping

UINavigation

The table below lists the required and optional subkeys under UINavigation subkey:

SubkeyRequired?Info
MenuYesSee Button mapping
ViewYes
AcceptYes
CancelYes
PrimaryUpYes
PrimaryDownYes
PrimaryLeftYes
PrimaryRightYes
Context1No
Context2No
Context3No
Context4No
PageUpNo
PageDownNo
PageLeftNo
PageRightNo
ScrollUpNo
ScrollDownNo
ScrollLeftNo
ScrollRightNo
SecondaryUpNo
SecondaryDownNo
SecondaryLeftNo
SecondaryRightNo

For more information about UI navigation controllers and the above commands, see UI navigation controller.

Gamepad Mapper Windows 10

Keys

The following sections explain the contents of each of the subkeys under the Gamepad, RacingWheel, ArcadeStick, FlightStick, and UINavigation keys.

Button mapping

The table below lists the values that are needed to map a button. For example, if pressing DPadUp on the game controller, the mapping for DPadUp should contain the ButtonIndex value (Source is Button). If DPadUp needs to be mapped from a switch position, then the DPadUp mapping should contain the values SwitchIndex and SwitchPosition (Source is Switch).

SourceValue nameValue typeRequired?Value info
ButtonButtonIndexDWORDYesIndex in the RawGameController button array.
AxisAxisIndexDWORDYesIndex in the RawGameController axis array.
InvertDWORDNoIndicates that the axis value should be inverted before the Threshold Percent and DebouncePercent factors are applied.
ThresholdPercentDWORDYesIndicates the axis position at which the mapped button value transitions between the pressed and released states. The valid range of values is 0 to 100. The button is considered pressed if the axis value is greater than or equal to this value.
DebouncePercentDWORDYes

Defines the size of a window around the ThresholdPercent value, which is used to debounce the reported button state. The valid range of values is 0 to 100. Button state transitions can only occur when the axis value crosses the upper or lower boundaries of the debounce window. For example, a ThresholdPercent of 50 and DebouncePercent of 10 results in debounce boundaries at 45% and 55% of the full-range axis values. The button can't transition to the pressed state until the axis value reaches 55% or above, and it can't transition back to the released state until the axis value reaches 45% or below.

The computed debounce window boundaries are clamped between 0% and 100%. For example, a threshold of 5% and a debounce window of 20% would result in the debounce window boundaries falling at 0% and 15%. The button state for axis values of 0% and 100% are always reported as released and pressed, respectively, regardless of the threshold and debounce values.

SwitchSwitchIndexDWORDYesIndex in the RawGameController switch array.
SwitchPositionREG_SZYes

Indicates the switch position that will cause the mapped button to report that it's being pressed. The position values can be one of these strings:

  • Up
  • UpRight
  • Right
  • DownRight
  • Down
  • DownLeft
  • Left
  • UpLeft
IncludeAdjacentDWORDNoIndicates that adjacent switch positions will also cause the mapped button to report that it's being pressed.

Axis mapping

The table below lists the values that are needed to map an axis:

SourceValue nameValue typeRequired?Value info
ButtonMaxValueButtonIndexDWORDYes

Index in the RawGameController button array which gets translated to the mapped unidirectional axis value.

MaxButtonAxisValue
FALSE0.0
TRUE1.0
MinValueButtonIndexDWORDNo

Indicates that the mapped axis is bidirectional. Values of MaxButton and MinButton are combined into a single bidirectional axis as shown below.

MinButtonMaxButtonAxisValue
FALSEFALSE0.5
FALSETRUE1.0
TRUEFALSE0.0
TRUETRUE0.5
AxisAxisIndexDWORDYesIndex in the RawGameController axis array.
InvertDWORDNoIndicates that the mapped axis value should be inverted before it's returned.
SwitchSwitchIndexDWORDYesIndex in the RawGameController switch array.
MaxValueSwitchPositionREG_SZYes

One of the following strings:

  • Up
  • UpRight
  • Right
  • DownRight
  • Down
  • DownLeft
  • Left
  • UpLeft

It indicates the position of the switch that causes the mapped axis value to be reported as 1.0. The opposing direction of MaxValueSwitchPosition is treated as 0.0. For example, if MaxValueSwitchPosition is Up, the axis value translation is shown below:

Switch positionAxisValue
Up1.0
Center0.5
Down0.0
IncludeAdjacentDWORDNo

Indicates that adjacent switch positions will also cause the mapped axis to report 1.0. In the above example, if IncludeAdjacent is set, then the axis translation is done as follows:

Switch positionAxisValue
Up1.0
UpRight1.0
UpLeft1.0
Center0.5
Down0.0
DownRight0.0
DownLeft0.0

Switch mapping

Switch positions can be mapped either from a set of buttons in the buttons array of the RawGameController or from an index in the switches array. Switch positions can't be mapped from axes.

SourceValue nameValue typeValue info
ButtonButtonCountDWORD2, 4, or 8
SwitchKindREG_SZTwoWay, FourWay, or EightWay
UpButtonIndexDWORDSee *ButtonIndex values
DownButtonIndexDWORD
LeftButtonIndexDWORD
RightButtonIndexDWORD
UpRightButtonIndexDWORD
DownRightButtonIndexDWORD
DownLeftButtonIndexDWORD
UpLeftButtonIndexDWORD
AxisSwitchKindREG_SZTwoWay, FourWay, or EightWay
XAxisIndexDWORDYAxisIndex is always present. XAxisIndex is only present when SwitchKind is FourWay or EightWay.
YAxisIndexDWORD
XDeadZonePercentDWORDIndicate the size of the dead zone around the center position of the axes.
YDeadZonePercentDWORD
XDebouncePercentDWORDDefine the size of the windows around the upper and lower dead zone limits, which are used to de-bounce the reported switch state.
YDebouncePercentDWORD
XInvertDWORDIndicate that the corresponding axis values should be inverted before the dead zone and debounce window calculations are applied.
YInvertDWORD
SwitchSwitchIndexDWORDIndex in the RawGameController switch array.
InvertDWORDIndicates that the switch reports its positions in a counter-clockwise order, rather than the default clockwise order.
PositionBiasDWORD

Shifts the starting point of how positions are reported by the specified amount. PositionBias is always counted clockwise from the original starting point, and is applied before the order of values is reversed.

For example, a switch that reports positions starting with DownRight in counter-clockwise order can be normalized by setting the Invert flag and specifying a PositionBias of 5:

PositionReported valueAfter PositionBias and Invert flags
DownRight03
Right12
UpRight21
Up30
UpLeft47
Left56
DownLeft65
Down74

*ButtonIndex values

*ButtonIndex values index into the RawGameController's button array:

ButtonCountSwitchKindRequiredMappings
2TwoWay
  • UpButtonIndex
  • DownButtonIndex
4FourWay
  • UpButtonIndex
  • DownButtonIndex
  • LeftButtonIndex
  • RightButtonIndex
4EightWay
  • UpButtonIndex
  • DownButtonIndex
  • LeftButtonIndex
  • RightButtonIndex
8EightWay
  • UpButtonIndex
  • DownButtonIndex
  • LeftButtonIndex
  • RightButtonIndex
  • UpRightButtonIndex
  • DownRightButtonIndex
  • DownLeftButtonIndex
  • UpLeftButtonIndex

Properties mapping

These are static mapping values for different mapping types.

MappingValue nameValue typeValue info
RacingWheelMaxWheelAngleDWORDIndicates the maximum physical wheel angle supported by the wheel in a single direction. For example, a wheel with a possible rotation of -90 degrees to 90 degrees would specify 90.

Labels

Labels should be present under the Labels key under the device root. Labels can have 3 subkeys: Buttons, Axes, and Switches.

Button labels

The Buttons key maps each of the button positions in the RawGameController's buttons array to a string. Each string is mapped internally to the corresponding GameControllerButtonLabel enum value. For example, if a gamepad has ten buttons and the order in which the RawGameController parses out the buttons and presents them in the buttons report is like this:

The labels should appear in this order under the Buttons key:

NameValue (type: REG_SZ)
Button0Menu
Button1View
Button2LeftStickButton
Button3RightStickButton
Button4LetterA
Button5LetterB
Button6LetterX
Button7LetterY
Button8LeftBumper
Button9RightBumper

Axis labels

The Axes key will map each of the axis positions in the RawGameController's axis array to one of the labels listed in GameControllerButtonLabel Enum just like the button labels. See the example in Button labels.

Gamepad

Switch labels

The Switches key maps switch positions to labels. The values follow this naming convention: to label a position of a switch, whose index is x in the RawGameController's switch array, add these values under the Switches subkey:

  • SwitchxUp
  • SwitchxUpRight
  • SwitchxRight
  • SwitchxDownRight
  • SwitchxDown
  • SwitchxDownLeft
  • SwitchxUpLeft
  • SwitchxLeft

The following table shows an example set of labels for switch positions of a 4-way switch which shows up at index 0 in the RawGameController:

NameValue (type: REG_SZ)
Switch0UpXboxUp
Switch0RightXboxRight
Switch0DownXboxDown
Switch0LeftXboxLeft

Example registry file

To show how all of these mappings and values come together, here is an example registry file for a generic RacingWheel:

See also