This guide lets you use FS One with a common gamepad that works
with a PC. The instructions here are for the Logitech Dual Action
gamepad [Model F310 ( manual
)]. The back side X-D mode switch (API switch) should be set to “D”
(for DirectInput). The gamepad has two mini-sticks (self-centering
joysticks), a hat switch (D-pad), four face buttons in a diamond shape
(labeled A, B, X, Y), buttons in the center (“BACK” and “START”), and
buttons on the top (“shoulder” buttons). A generic gamepad with these
controls is shown below. These setup steps in this guide will probably apply to
most other DirectInput gamepads.
RC transmitters often have a mix of two-position and three-position
switches that keep their position when moved. These do things like,
e.g., moving retractable landing gear up/down. Because gamepads do not
have switches, the steps below imitate RC transmitter switches by using
the buttons on the gamepad. When you press a button, it changes the
“position of the switch.” That switch position does not change when you
release the button. It will change when you press a different button
related to that function, i.e. two buttons will control landing gear
up/down. Further, three buttons will control flaps, two buttons will
control the resets, and three buttons will set the flight mode.
Click image to enlarge.
Generic gamepad.
(Artwork by Alphathon, CC BY-SA 3.0, via Wikimedia Commons)
DirectInput vs XInput Gamepads
Per mention above, this setup is for a DirectInput gamepad. Note
that if you do not use a DirectInput gamepad and instead use a
XInput gamepad, the setup below will require substantial changes.
This is because with a XInput gamepad the top left/right triggers
work together as an additional axis and not independently as two
buttons.
This guide gives instructions for setups as shown in the table below.
The first setup (“4 Ch”) maps only the sticks and be applicable
to nearly any gamepad. Although the axes for the controls might be
slightly different than given in the table for the Logitech, the
controller aileron axis will always be mapped to vJoy axis 8,
elevator to vJoy axis 7, rudder to vJoy axis 6, and
throttle to vJoy axis 5 as required by FS One (per last
column in the table and described previously).
For the “4 Ch” case, the keyboard is used for the remaining controls
that are not remapped.
Keys 1/2/3 control the three flight modes. Gear is usually on
key 6. Flaps are on keys 4/5 and offer two flap settings (half and
full). The keys work as toggles, i.e. press once to put flaps down, and
press again to retract the flaps. Reset is done using the keys:
Spacebar (Reset-To-Home) and U (Reset-In-Place).
The “8 Ch” case maps everything (using all 8 vJoy axes).
With your finished remapping,
Joystick Gremlin forwards your control inputs to vJoy which is what you
will select as your USB interface in FS One 2022e.
Logitech
Control Inputs
Logitech Axes/Buttons*
FS One Function
4 Ch
8 Ch
vJoy Axis
mapping
Right Stick
Z Axis
Ailerons
x
x
8
Z Rotation
Elevator
x
x
7
Left Stick
X Axis
Rudder
x
x
6
Y Axis
Throttle
x
x
5
Left Bumper
Button 5
Gear - Up
x
4
Left Trigger
Button 7
Gear - Down
D-Pad
Hat 1
Flaps - Up
x
3
Right Bumper
Button 6
Flaps - Half
Right Trigger
Button 8
Flaps - Full
BACK
Button 9
Reset-To-Home
x
2
START
Button 10
Reset-In-Place
X
Button 1
Flight Modes - Low
x
1
A
Button 2
Flight Modes - Medium
B
Button 3
Flight Modes - High
(* Logitech Controller Mode button set to “Flight Mode”. Green status
light is off. Also, DirectInput mode is used. The X-D switch is set to “D”.)
Calibrating the 4 Ch Setup with No Controls for Gear, Flaps, Resets, and Flight Modes
When calibrating inside FS One with the “4 Ch” setups where
nothing is being mapped to the last four functions, FS will
ask for you to move those controls. Skip them, and the respective
axis in FS One will not be used. You will use the keyboard
keys for those controls not commanded by your gamepad.
If you have already installed vJoy, installed Joystick Gremlin, and made
a virtual joystick, then skip the block below and start with
the following section.
Install vJoy
This makes a virtual joystick for FS One (or for anything else).
Unplug all USB gamepads, joysticks, TacCon, and other “R/C” controllers.
Download and run vJoySetup.exe.
This downloads from github.
You set up vJoy (image below) one time. This completes your vJoy Device setup.
vJoyConf configuring a virtual joystick with 8 axes, 0 buttons, and 0 hat switches.
This is vJoy Device #1 indicated by the light green tab labeled “1”.#
Remaining Instructions
The remainder of these instructions include using Joystick Gremlin
to remap your controller inputs to vJoy.
From JG’s menu, choose Tools->InputViewer .
A new window appears (hereafter called JG-viewer). Make it tall as shown below.
In the JG-viewer window, for the Logitech Dual Action, check the two boxes: Axes-Current and Buttons+Hats .
For the vJoy Device #1 , check the box:
Axes-Current . FS One will only use vJoy axes.
Move the sticks and press the buttons (not the mode button, however)
to see that your inputs are being seen by JG. All controls in the
table above should be active (table column: “Logitech Axes/Buttons”).
The vJoy Device #1 axes will not move because you have yet to define the remapping.
See image below.
JG-viewer
JG input/output viewer showing the axes and buttons for the gamepad controller and vJoy Device.#
JG’s top row has tabs for USB controllers, your keyboard, and the vJoyDevice#1 that you created. Generally, the USB controllers are the
inputs to the output that is the virtual joystick vJoyDevice#1
which is used by FS One. The keyboard appears, but it will not
be used here. Other USB controllers will appear if you have others
plugged into your computer. Disconnect any extraneous USB controllers
for this setup.
Tip
When you are finished remapping, follow these steps to use the controller:
In Joystick Gremlin, click the gamepad icon to change it from black to green so that Joystick Gremlin
is Activated. Use JG’s
Tools->InputViewer to confirm that your inputs are going to the vJoy Device joystick
as you expect.
When running FS One, select the vJoy Device virtual joystick that you created.
Do not select the Logitech Dual Action.
Instead of manually doing all the steps on the rest of this page, you
may instead take a shortcut if you are using the: Logitech Dual Action Gamepad.
Right click to download and save the JG Profile (file) gamepad.xml to your computer.
From JG’s menu, choose File->LoadProfile and choose that file.
When you open it, JG may ask you “The profile has been modified. Do you want to save your
changes?” You can click “discard”, and what you were doing
prior will not be saved.
Now from the JG menu, click on Actions , then SwapDevices . In the popup, click on the Logitech Dual Action, and it will ask:
“Please press the desired …”. Just move, say, the elevator stick
(anything responsive) on the Logitech gamepad. The prompt will close.
Then click X to close the
Swap Devices popup. Now move the sticks around and the
remapping functions in the downloaded Profile will appear on the right side panel.
It is suggested that you step through remapping instructions below
(follow along)
to understand how the remapping works. Also,
you will see how the Logitech gamepad inputs
are used by FS One (via vJoy axes).
Save the Profile. It will save to the location where
you loaded it. But if you select File->SaveProfileAs (recommended),
then it will save it to your local files location (Owner/joystick gremlin) or a location you choose.
When loading in a new Profile, it is a known that Joystick Gremlin
will discard the Action Description names, e.g. “Ailerons”, and so
on. The names are not necessary. But you can follow along below and
add back in the names and save your Profile.
Tip
To use the controller, follow these steps:
In Joystick Gremlin, click the gamepad icon to change it from black to green so that Joystick Gremlin
is Activated. Use JG’s
Tools->InputViewer to confirm that your inputs are going to the vJoy Device joystick
as you expect (following the table above showing how your inputs
remap to the specific vJoy axes).
When running FS One, select the vJoy Device virtual joystick that you created.
Do not select the Logitech Dual Action.
See the section on calibrating in FS One. Some very
specific steps are require when calibrating the gamepad.
Each section below remaps a single control (or controls) to one axis for FS One, starting with Ailerons.
First, you move a control to select an input.
It will gray highlight on the left side of JG’s main window.
Then you will define where that control is mapped using the right side of JG main window.
Then you can test each axis mapping with the JG-viewer window to see that it is correct.
If you are using the downloaded setup above, you do not need to carryout these steps below.
To create your remapping to the standard axes order for FS One,
these steps are performed in JG’s main window.
To start, the JG gamepad icon should be black (not green).
If it is green, click on it.
In JG’s main window, click on the tab: LogitechDualAction .
The left side of the window lists the gamepad axes and buttons.
The last moved axis or button will be highlighted gray.
The right side shows what each axis and button does (what will define the remapping).
This right side is initially blank.
The left side’s labels for the axes (e.g., X Axis, and so on) are
the Windows terminology for joystick axes and buttons and not meaningful to FS One.
Yet, the left side names will be used in the instructions here.
Map the Aileron Stick to vJoy Axis 8
First you may need to move the sticks around to ‘wake-up’ the main
JG window. It can go into a “sleep” mode.
Again, the last moved axis or button should highlight gray as you move each control input.
Move the aileron stick (conventionally, for Mode 2, the right stick, horizontally).
In JG, the left side’s highlight jumps to ZAxis .
On the right side, into Action Description type “Ailerons”.
On the right side, next to the first dropdown (it will have Remap selected), click Add .
Inside the gray Remap box, change the lower dropdown from XAxis to Dial (vJoy Axis 8).
See image below. Click to enlarge.
Test your mapping:
At top left, click the JG gamepad icon (“Activate”) to change it from black to green.
Move the aileron stick.
Now JG-viewer’s vJoy Axis 8 reacts to that movement.
Your first axis remapping is complete.
Click the JG gamepad icon to make it black again.
This screen shot below also shows results of the remaining instructions. Click for full size image.
Map the Elevator Stick to vJoy Axis 7
Move the elevator stick.
The left side’s highlight jumps to ZRotation .
On the right side, into Action Description type “Elevator”.
On the right side, next to Remap , click Add .
Inside the gray Remap box, change the lower dropdown to Slider (vJoy Axis 7).
Click the JG gamepad icon green.
Move the elevator stick.
Now JG-viewer’s vJoy Axis 7 reacts to that movement.
Click the JG gamepad icon to make it black again.
Map the Rudder Stick to vJoy Axis 6
Move the rudder stick. The left side’s highlight jumps to XAxis .
On the right side, into Action Description type “Rudder”.
On the right side, next to Remap, click Add .
Inside the gray Remap box, change the lower dropdown to ZRotation (vJoy Axis 6).
Below the Remap box, change the dropdrown Remap to ResponseCurve . Click Add .
Within the Response Curve box, click on Invert to reverse the axis.
Map the Throttle Stick to vJoy Axis 5
Move the throttle stick. The left side’s highlight jumps to YAxis .
On the right side, into Action Description type “Throttle” .
On the right side, next to Remap , click Add .
Inside the gray Remap box, change the lower dropdown to YRotation (vJoy Axis 5).
Below the Remap box, change the dropdrown Remap to ResponseCurve . Click Add .
Double-click inside the graph (the big square). A third point appears.
Drag the new point to the top middle of the graph. Below the graph with that point selected,
the Control Point X should be 0.000 and Y should be 1.000.
Double-click inside the graph (left side). A fourth point appears.
Drag the new point to match the location of the red point below. The curved green line becomes straight.
While keeping this new point selected, below the graph,
the Control Point X should be about -0.068 and Y should be about 0.868. Your result should match
the image below.
Click for full size image.
This completes the “4 Ch” setup and only uses the joysticks. You could
stop here if you want to test out your controller in FS One
before adding more channel remapping.
Save Your Work
From the menu, File->SaveProfileAs and give it a name, e.g. My-Gamepad-4-Ch.xml .
After you have saved it once, you can File->SaveProfile at any time, of course.
Activate and Test
When the JG gamepad icon is green, the JG-viewer window should show vJoy
axes 5/6/7/8 reacting to your gamepad controls defined above. When the
sticks are pushed all the way to the lower left, the axes should appear
as shown below. Axes 1/2/3/4 will be in the middle and not move.
If your controller is different and an axis is reversed, then add a ResponseCurve->Invert to
that axis, save, and test (e.g., see rudder axis invert steps above).
JG-viewer
JG input/output viewer showing the axes and buttons for the gamepad controller and vJoy Device.
(4 Ch setup)#
To the “4 Ch” above, continue and add the remaining axes to finish the “8 Ch” setup.
See table above.
Begin by saving your file using File->SaveProfileAs
and give it a name, e.g. My-Gamepad-8-Ch.xml .
The following steps map 9 buttons and the D-Pad to create the remaining 4 vJoy axes.
The basic operations of each step are nearly the same.
Nevetheless, each step is given in detail.
If the gamepad icon is green, click it to make it black.
Map the Gear Buttons to vJoy Axis 4
Press the left bumper (“LB”).
The left side’s highlight jumps to Button5 .
On the right side, into Action Description type “Gear - Up”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the dropdown to XRotation (vJoy Axis 4).
Leave the Absolute button checked, not the Relative one.
Arrow up to the value: 1.000 .
Press the left trigger (“LT”).
The left side’s highlight jumps to Button7 .
On the right side, into Action Description type “Gear - Down”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the dropdown to XRotation (vJoy Axis 4).
Leave the Absolute button checked, not the Relative one.
Arrow down to the value: -1.000 .
Map the Flap Buttons to vJoy Axis 3
Press the D-Pad (Hat).
The left side’s highlight jumps to Hat1 .
On the right side, into Action Description type “Flaps - Up”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to ZAxis (vJoy Axis 3).
Leave the Absolute button checked, not the Relative one.
Arrow down to the value: -1.000 .
At right, change from the sideways Action tab to the VirtualButton tab.
Click all virtual button boxes.
Press the right bumper (“RB”).
The left side’s highlight jumps to Button6 .
On the right side, into Action Description type “Flaps - Half”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to ZAxis (vJoy Axis 3).
Leave the Absolute button checked, not the Relative one.
Leave the value as: 0.000 .
Press the right trigger (“RT”).
The left side’s highlight jumps to Button8 .
On the right side, into Action Description type “Flaps - Full”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to ZAxis (vJoy Axis 3).
Leave the Absolute button checked, not the Relative one.
Arrow up to the value: 1.000 .
Map the Reset-To-Home Button to vJoy Axis 2
Press the “BACK” button which is to the left of center on your gamepad.
The left side’s highlight jumps to Button9 .
On the right side, into Action Description type “Reset-To-Home”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to YAxis (vJoy Axis 2).
Leave the Absolute button checked, not the Relative one.
Arrow up to the value: 1.000 .
At right, click on the sideways tab Condition .
Change the Apply conditions to dropdown to Container .
At right, change the dropdown to from KeyboardCondition to ActionCondition . Click Add .
In the new Action Condition box, leave the dropdown as Pressed .
Back to the main top level (still on right side panel), the dropdrown should still read as Macro . Click Add to add another macro.
A new Macro box appears below the first Macro box. Scroll down.
Inside the second Macro:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to YAxis (vJoy Axis 2).
Leave the Absolute button checked, not the Relative one.
Leave the value as: 0.000 .
At right, click on the sideways tab Condition .
Change the Apply conditions to dropdown to Container .
At right, change the dropdown from KeyboardCondition to ActionCondition . Click Add .
In the new Action Condition box, change the dropdown from Pressed to Released .
Map the Reset-In-Place Button to vJoy Axis 2
Press the “START” button which is to the right of center on your gamepad.
The left side’s highlight jumps to Button10 .
On the right side, into Action Description type “Reset-In-Place”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to YAxis (vJoy Axis 2).
Leave the Absolute button checked, not the Relative one.
Arrow down to the value: -1.000 .
At right, click on the sideways tab Condition .
Change the Apply conditions to dropdown to Container .
At right, change the dropdown to from KeyboardCondition to ActionCondition . Click Add .
In the new Action Condition box, leave the dropdown as Pressed .
Back to the main top level (still on right side panel), the dropdrown should still read as Macro . Click Add to add another macro.
A new Macro box appears below the first Macro box. Scroll down.
Inside the second Macro:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to YAxis (vJoy Axis 2).
Leave the Absolute button checked, not the Relative one.
Leave the value as: 0.000 .
At right, click on the sideways tab Condition .
Change the Apply conditions to dropdown to Container .
At right, change the dropdown from KeyboardCondition to ActionCondition . Click Add .
In the new Action Condition box, change the dropdown from Pressed to Released .
Map the Flight Modes Buttons to vJoy Axis 1
Press the “X” button (right side).
The left side’s highlight jumps to Button1 .
On the right side, into Action Description type “Flight Modes - Low”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to XAxis (vJoy Axis 1).
Leave the Absolute button checked, not the Relative one.
Arrow down to the value: -1.000 .
Press the “A” button (right side).
The left side’s highlight jumps to Button2 .
On the right side, into Action Description type “Flight Modes - Medium”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to XAxis (vJoy Axis 1).
Leave the Absolute button checked, not the Relative one.
Leave the value as: 0.000 .
Press the “B” button (right side).
The left side’s highlight jumps to Button3 .
On the right side, into Action Description type “Flight Modes - High”.
On the right side, change the dropdrown from Remap to Macro . Click Add .
Inside the newly added gray Macro box:
In the column of icons, click the top icon.
Inside the right side’s Action Settings do the following:
Change the dropdown from Pause to vJoy .
Below the new dropdown vJoyDevice1 , change the blank dropdown to XAxis (vJoy Axis 1).
Leave the Absolute button checked, not the Relative one.
Arrow up to the value: 1.000 .
Re-Save Your Work
Save your work.
Activate and Test
When the JG gamepad icon is green, the JG-viewer window should
show all vJoy axes reacting to your controls defined above (see table at
the beginning of the setup guide).
Finally, your controller inputs should match the standard axes order
below which also shows the axis directions (via showing full control
throws in the specific directions).
The mapping order, generally, was discussed here.
In this diagram, the “Axis 1” for vJoy is “1. Flight Modes” (“FM”) for FS One, etc.
When you finish this guide, return back to the last part of Getting Started: Part I to continue your
setup and run FS One.
Click image to enlarge.
Standard axes order in FS One with sliders at full deflections for the controls indicated.