Joystick Mapper Windows 10

Joystick Gremlin is a program that allows the configuration of joystick like devices, similar to what CH Control Manager and Thrustmaster's T.A.R.G.E.T. do for their respectively supported joysticks. However, Joystick Gremlin works with any device be it from different manufacturers or custom devices that appear as a joystick to Windows. Joystick Gremlin uses the virtual joysticks provided by vJoy to map physical to virtual inputs and apply various other transformations such as response curves to analogue axes. In addition to managing joysticks, Joystick Gremlin also provides keyboard macros, a flexible mode system, scripting using Python, and many other features.

I have been having Windows 10 crashes at various times but mostly when I tried to download a few specific programs. I noticed that in the brief note of crash there was a CH Products SYS file was causing the problem. I then unloaded all CH Products software and cleaned them from the registry. DirectInput Joystick Emulation: VJoy Virtual Joystick Driver can create virtual joysticks in Windows and comes with a tool which allows you to map keystrokes to the virtual joysticks axis and buttons. Our custom ini will map the X-Arcade to the same buttons layout as an Xbox 360 controller in Windows. Download vJoy for free. This project was originally designed to provide an open-source replacement for PPJoy. The product, at this point, consists of virtual joystick devices that is seen by the system as a standard joystick but its position-data is written to it by a feeder application. Alternatively, I was going to just write a AHK script to tell me what each joystick is mapped to (button click display button output), and then I’ll know what’s what. I have a game control mapping config that I can create for each option to quickly dump into my game settings.

The main features are:

  • Works with arbitrary joystick like devices
  • User interface for common configuration tasks
  • Merging of multiple physical devices into a single virtual device
  • Axis response curve and dead zone configuration
  • Arbitrary number of modes with inheritance and customizable mode switching
  • Macros with joystick, keybouard and mouse inputs
  • Python scripting support

Joystick Gremlin provides a graphical user interface, described in Section 3, which allows commonly performed tasks, such as input remapping, axis response curve setups, and macro recording to be performed easily. Functionality that is not accessible via the UI can be implemented through custom modules, explained in detail in Section 4.

1.1 Installation

Joystick Gremlin has one major dependency, vJoy which provides virtual joysticks which Joystick Gremlin feeds with data. Download links to the programs needed are listed below:

  • vJoy version 2.1.8 (direct download link 2.1.8 2016-11-29 ), Alternative vJoy version for those running Windows 10 1903 or newer 2.1.9.1

vJoy creates virtual joysticks which show up as a device in Windows and Joystick Gremlin uses these to forward inputs to them. The VC2010 package is required by Python but is likely already installed. The same goes for the VC2013 package which is required by vJoy but is most likely already installed on the machine. If one or both of these are missing they can be obtained from:

It's important that the VC Redistributables are the x86 ones, even if you're running a x64 system, as vJoy and Python require the 32bit libraries.

vJoy Configuration

In order to properly use Joystick Gremlin vJoy has to be configured first. This is done via the Configure vJoy program. This program allows setting the properties of all existing vJoy devices. Typically a single vJoy device is enough. In order to use 8-way POV hats with Joystick Gremlin the hats have the be configured as continuous in vJoy. The image below shows what a properly configured vJoy device looks like. Once everything is set as desired clicking Apply configures the vJoy device and the window can be closed.

VJoy configuration dialog with settings required for proper Joystick Gremlin operation.

1.2 Concepts

The following section introduces the terminology used by Joystick Gremlin. Next, the different concepts will be exapleined starting with individual actions and ending with a complete profile.

Input

An input is an axis, button, hat, or keyboard key on a physical device.

Action

An action is something Joystick Gremlin executes in response to the user activating a physical input. Examples include running a macro, sending button presses to vJoy, or changing to a different mode. Each action has a condition attached to it which can further dictate when an action is to be executed.

Joystick Mapper Windows 10

Container

A container holds one or more actions and uses them in the manner specific to the particular container. In the simplest case it simply executes the action(s). More complex cases are where the container decides which action(s) to execute based on the duration a button is held down.

Device

A device is a physical controller connected to the computer such as a joystick, pedal, or throttle. Each device has multiple inputs with their own associated actions.

Mode

A mode is a collection of actions associated with the inputs for each connected device. Each mode can inherit from one other mode, his parent. If a mode and its parent both define actions for the same input only the actions of the mode and not its parent are used. If the mode defines no actions for an input but the parent does the parent's actions are used. This allows having a common set of base actions that more specialised modes add to or change.

Profile

A profile is a folder which contains a XML configuration file together with any custom modules used. The profile contains the settings made via the user interface for each of the connected peripherals.

Example

The following is a simple example showing how the above introduced concepts work together. The profile contains two modes, Default and Landing and two physical devices Thrustmaster Warthog Stick and CH Pro Pedals. Both devices have varying actions executed on the exemplary inputs used which change between the two modes. The image on the right shows the conceptual nesting of the concepts as shown in the explicit example.

Sc Joystick Mapper Windows 10

  • Profile: star_citizen.xml
    • Device:Thrustmaster Warthog Stick
      • Mode:Default
        • Input:Axis X
          • Container:Basic
            • Action:Map to vJoy Axis X
        • Input:Button 1
          • Container:Basic
            • Action:Map to vJoy Button 1
      • Mode:Landing
        • Input:Axis X
          • Container:Basic
            • Action:Map to vJoy Axis X
          • Container:Basic
            • Action:Apply response curve with deadzone
        • Input:Button 1
          • Container:Tempo
            • Action:Map to vJoy Button 10
            • Action:Map to vJoy Button 12
    • Device:CH Pro Throttle
      • Mode:Default
        • Input:Axis X
          • Container:Basic
            • Action:Map to vJoy Axis Z
          • Container:Basic
            • Action:Apply response curve
        • Input:Button 1
          • Action:Run chaff & flare macro
      • Mode:Landing
        • Input:Axis X
          • Container:Basic
            • Action:Map to vJoy Axis Z
          • Container:Basic
            • Action:Apply response curve
        • Input:Button 1
          • Container:Basic
            • Action:Map to vJoy Button 21
The image shows how the various concepts explained below relate to each other.

While the X-Arcade controllers work as a keyboard with the default PC connection, there are ways to make it act like a gamepad instead for games that don't offer great keyboard-based controller support. The original way for an input device to work as a gamepad was through the DirectInput protocol, which still works on the vast majority of gamepad-enabled games. But some newer games, such as Killer Instinct, Mortal Kombat X, Street Fighter IV & V, and Steam, require the newer Xinput protocol that was introduced with the Xbox 360 gamepads (and now Xbox One). Xinput works with both Xinput games and most DirectInput games, so we recommend it. Below we show you how to make your X-Arcade controller work as an Xinput device or DirectInput device on PC.


Method 1: With Hardware
The easiest way is to use our new Tri-mode PCB, but you can also use our Xbox 360 adapter kit or Xbox One adapter kit (both requires either a PS2 adapter or 5in1 adapter) to connect your X-Arcade to a PC via USB. These options allow you to change modes just like on a console and works with any DirectInput or Xinput games.

You can also use our 2in1 adapter or PS4 adapters, but this will require using a special driver and software such as DS4Windows, InputMapper, or MotioninJoy(we can't offer support for any of these). An interesting history lesson on these here.

Free Gamepad Mapper Windows 10


To test it on PC see Windows Gamepad testing. Phone pay app download for windows 10.


Method 2: X-Arcade Xinput(Recommended Software Emulation Solution, huge thanks to Mike Wyatt!)

Some games now require an Xinput controller (such as Xbox 360 or Xbox One) to work, and Xinput will work with most DirectInput games as well. 'X-Arcade Xinput' is a software solution to make the X-Arcade work as an Xinput gamepad. It also supports a dualstick mode as well along with D-Pad and Analog modes.

  1. Download X-Arcade Xinput package (xarcade-xinput.zip), create a new folder somewhere and unzip the contents to it.
  2. Run the 'Install Driver.exe. You only have to do this step once.
  3. Run the 'XArcade XInput.exe', this will open up the interface in your web browser for disabling/enabling it and changing to the modes available. You will need to run this each time you want to play.
  4. You can download Xinput Test to test that it is working, or you can also see it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


Usage:

  1. Make sure your X-Arcade controller is in mode 1.
  2. In the interface, you can disable it to get keyboard functionality back. Enable to play.
  3. Choose the mode you want to play in by clicking the 3 dots next to each option below and choosing 'Make Active':
    'X-Arcade 1 player Analog DualStick' is for 1 player with Joy 1 in analog mode, 2nd joystick works as analog 2.
    'X-Arcade 1 player D-Pad DualStick' is for 1 player with Joy 1 in D-Pad mode, 2nd joystick works as analog 2.
    'X-Arcade 2 Player Analog' is for 2 players with Joy 1 on both sides acting as analog sticks.
    'X-Arcade 2 player D-Pad' is for 2 players with Joy 1 on both sides acting as D-Pads.
  4. Simply close the Command Prompt window when you want to close it.
  5. More information such as remapping the controllers can be found on the official X-Arcade Xinput page.
  6. If you get an error message when trying to install, open Device Manager and remove any 'Uknown Device' you see under 'Other devices' and 'System devices', reboot and try again.
  7. If you ever need to uninstall the driver for some reason, just go into the 'Scp Driver Installer' folder and run the 'ScpDriverInstaller.exe' and choose Uninstall.


DirectInput Joystick Emulation:
VJoy Virtual Joystick Driver can create virtual joysticks in Windows and comes with a tool which allows you to map keystrokes to the virtual joysticks axis and buttons. Our custom ini will map the X-Arcade to the same buttons layout as an Xbox 360 controller in Windows. This means that any game you play that has an Xbox 360 controller option will work with no additional setup needed.

  1. Download VJoy and install it. Windows will warn you that it's an unsigned driver, choose continue anyway.
  2. Download X-Arcade.ini (right-click and choose 'save as', IE users may need to rename the .htm to .ini) and place it in the directory C:Program Files (x86)VJoy
  3. Open VJoy and click 'Open Ini' and choose the X-Arcade.ini file.
  4. You can test your settings in the standard Windows Game Controller test. Note that the Player 1 joystick can change between analog mode and D-Pad mode using the Numlock key, numkey on is D-Pad, off is Analog.

Joystick Mapper Pc Windows 10

You test if is it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


DirectInput to Xinput Option1:

XOutput can take the Virtual Joys from VJoy above and emulate them to Xinput controllers.

  1. Setup VJoy above first.
  2. Download XOutput and extract it wherever you want it.
  3. Run the included ScpDriver.exe and install it.
  4. Download our custom ini file(right-click and choose 'save as', IE users may need to rename the .htm to .ini) and replace/overwrite the one in the XOutput folder
  5. Run XOutput.exe, press 'Start' and play!
DirectInput to Xinput Option2:
TocaEdit Xbox 360 Controller Emulator can also convert the Virtual Joys to Xinput, however, it has to be set up for each game individually.
  1. Setup Method 2 above first.
  2. Download TocaEdit and follow the instructions for setting it up for your game.
  3. Download our custom ini file(right-click and choose 'save as', IE users may need to rename the .htm to .ini) and replace/overwrite the one created by TocaEdit in your game directory.
Xinput Test:

You can download Xinput Test to test that it is working, or you can also see it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


TROUBLESHOOTING:

Using the Xinput Test or HTML5 Gamepad Tester you can see if your controllers are assigned to the proper players, typically you would want them as players 1 and 2 (if you don't also have any other gamepads connected to the PC). Changing the controller player assignments is unfortunately not easy to do manually, so if yours are set incorrectly you will want to do one of the following:


Method 1:

  1. With the peripherals/adapters/controllers connected, click the Windows Start button and click on the Gear (settings) icon, then click the 'Devices' icon
  2. Under 'Bluetooth & other devices' scroll down to 'Other devices' click on each 'Xbox 360 Controller for Windows' listed and click 'Remove device'.
  3. Unplug the peripherals/adapters/controllers and plug them back in again.


Method 2:

Joystick Mapper Win 10

  1. With the peripherals/adapters/controllers connected, right-click on the Windows Start button and choose 'Device Manager' (or press Ctrl+Alt+Del and open it there).
  2. Click the arrow next to 'Xbox 360 Peripherals' and right-click on each 'Xbox 360 Controller for Windows' and choose Disable device', it will ask you to restart but you can just click 'No'.
  3. Unplug the peripherals/adapters/controllers from the PC, then plug them back in. Next just re-enable the devices.