INPUTS
INTO FSX (The Software side of things)
Now
the basics of my motion platform are behind me ,, I started to explore the
belly of FSX in relation to inputting switch movements etc ,, What I found was
a pleasant surprise compared to older versions of Fight Simulator.
Microsoft
in all their wisdom actually done us a huge favor with input facilities into
FSX.
I
am going to cover ,,, something for the beginner and something for the more
adventurous.
All
these methods are CHEAP and some center around a cheap keyboard encoder. (But
it could be any sort of input card)
Nothing
here is relying on the update of drivers or software for any hardware from some
vendor for the next version of FS.
FSUIPC is NOT used.
Some
of my findings,, I have not seen anywhere else on the net before !!! (but I may
have missed them)
The
Basics (As in FSX)
To
change or make a new keystroke assignment in FSX,, Open FSX and goto ,,,,
Options,,
Settings ,,Controls ,, and the click on “Buttons/Keys”. You can then change and issue new
keystrokes.

The
above shows the setup in FSX for some-one to change or issue keystrokes for an
event.
All
this is well documented and wont be
covered here but the above will be referred to later on as things get a bit
deeper.
Inputs
to FSX.
One
of the big restrictions for cockpit
builders with earlier flightsim’s was, there was never enough keys on the
keyboard. (Hit a key and something happened)
All
the keyboard key’s were taken with what they allocated ,, this how ever could
be changed (as above) but there never
seemed to be enough keys to do what you wanted to do.
With
FSX you have virtually unlimited keyboard entry codes.
There
are multiple key’s available for all the keyboard including, control (an old
one) shift (another old one), caps lock, tab, but the BIG one is ANY key (say
Z) can be doubled up on just like the shift or control keys.
To
explain a bit better ….
(I
will use Z as an example but it can be any key)
Z
is used for the Autopilot OFF/ON but if you disable that as a SINGLE key you
can use Z as a double up key.
You
can have (hold down Z) and press A for something.
You
can have (hold down Z) and press B for something.
You
can have (hold down Z) and press C for something. And so-on .. Use as many keys as you like.
Now
re-allocate the Autopilot on / off to
something ,,, but it needs to be double
entry ,, like hold down A and hit Z.
So
you in effect now have got 26 keys x 25
= 650 keys you can do something with, and that’s even without using control or
shift etc. etc.
You
are only limited with what MS have actually allocated keystrokes for in their
“keyboard assignment list” (as the above picture) and that covers a huge chunk
of what most starting cockpit builders want.
The
“keyboard assignment list” I am talking about is the list of available options in
FSX’s (as in the above, “The Basic’s”) ,,
NOT the commonly available printed out list of keystrokes that have
already been allocated in FSX.
In
the initialization of FSX there is a file called “STANDARD.XML” ,, which
(amongst other things) is a KEYMAPPING file ,,, It is in 2 places ,,,,
One
is in the FSX root directory. (You don’t need to edit with this one.)
The
other is in (depending on your system) ,,,
XP C:\Documents and
Settings\USERNAME\Application Data\Microsoft\FSX\Controls\
Vista
C:\Users\USERNAME\AppData\Roaming\Microsoft\FSX\Controls\
((USERNAME is YOUR login name that you log onto the
computer with when you play FSX))
((If
you have no user control set in Vista , it could be in “USER” or
“ADMINISTRATOR”.
If
you cant find it ,, do a search for it.
You may need “show hidden files” active. ??? (I don’t know)
The
“STANDARD.XML” in the
USERNAME (The name you log onto the
computer for to play FSX) gets made when FSX is first installed and from there
on,, FSX uses the USERNAME one during
the “play” time. This file, due to
various reasons, can get over written by FSX occasionally, so if you are
modifying it, back it up under a different name (NOT .XML) and move your backup
to a different folder.
The
one in the FSX’s root directory is the default file. (See below for more info)
A
cockpit builder has a lot of different inputs he wants to happen when he push’s
a button, flicks a switch etc ,,
inevitably there will be some inputs that are not in the default “keyboard assignment list” ,, Well all is
not lost ,, With the deluxe version of FSX there is the SDK ,, within the SDK there is a
file
called “EVENT IDs.HTM” which lists all the available events ,,, if the event
you want is in there and its suitable for a switch, button etc then you can
modify the STANDARD.XML file to make it happen.
A
typical one would be the ADF or the TRANSPONDER frequency settings. Both of
these require stepping from one digit to the next before you can actually
change that digit value. Not easy to
do, reliably, with simple input methods.
MAKING
ALL THIS WORK. (An example)
All
the above sounds complicated, disjoined and confusing ,, its not ,, lets follow
thru a setup for changing the Transponder frequencies,, setting it up so when you press the first (of 4) button the first digit of
the Transponder will change ,,, The
second button will change the second
digit ,,, the third button will change the third digit,, and the forth
button will change the last digit.
You
have a keyboard encoder wired up to 4 buttons. (You don’t actually need this if
you just want to use the keyboard)
This
step free’s up heaps of inputs into FSX.
Start
FSX and open up the “keyboard assignment list”. (Options,, Settings ,,Controls ,, and the click on
“Buttons/Keys”)
Go
down to “autopilot activate” and erase the Z as an input. (My choice)
Now
go thru ALL the SINGLE LETTER
assignments (A to Z) and change them all so you have to “hold down” Z and then
enter the letter as it was.
For
instance ,, change “Gear” from G to …
“hold down Z” and hit G.
From
now on all the old “single letter” events will need Z held down first to
activate that event. (Z is an easy one to remember and reach)
We
need to re- allocate a keystroke for the autopilot ,, lets make it “hold down
A” and hit Z. (Its near it)
The
above sounds like an overkill (and it is, but it makes everything easy to
remember) but it allows you heaps of entry codes and you will surprised how quickly
you start using them.
Remember
,, the logic here is to do away with the keyboard in the cockpit.
This
step adds some extra keystroke events to FSX that aren’t in the “keyboard
assignment list”
Go
to the USERNAME directory file of STANDARD.XML
Back
it up under a different name and move the backup to a safe place. (Don’t leave
it in the controls folder and don’t use .XML)
Now
open the original with notepad.
You
will see ,,,,, (I’m only showing the
start of the file)
<?xml version="1.0" encoding="Windows-1252"?>
<SimBase.Document
Type="Controls"
version="1,0"
id="Standard">
<Descr>Controls Mapping File</Descr>
<Filename>Standard.XML</Filename>
<SimControls.Map>
<Name>KEYBOARD_MAIN</Name>
<Entry>
<Key>SHIFT+F10</Key>
<Down>KNEEBOARD_VIEW</Down>
</Entry>
<Entry>
<Key>CTRL+S</Key>
<Down>VIEW_PREVIOUS_TOGGLE</Down>
</Entry>
<Entry>
<Key>G</Key>
<Down>GEAR_TOGGLE</Down>
</Entry>
I
have highlighted in red, a typical “entry” ,, this shows if you hold down shift
and press F10 then the kneeboard will show.
Now
,, looking at the “EVENT IDs.HTM” list I find I need to add entries to cover ,,,,
XPNDR_1000_INC (The one to increase the 1000’s in the
Transponder frequency)
XPNDR
_100_INC (The one to increase the
100’s in the Transponder frequency)
XPNDR
_10_INC (The one to increase the
10’s in the Transponder frequency)
XPNDR
_1_INC (The one to increase the 1’s in the Transponder frequency)
Now
I want to allocate keystrokes to the above ,,,
In the same order,,
Lets
use ,, A+Q for the 1000 kc increases ,,, A+W for the 100 kc increases ,,, A+E
for the 10 kc increases and A+R for the 1kc increases.
Now
add the following entries into the “STANDARD.XML” ,,,
(high-lighted in blue)
Be
careful where you add them ,,, there should be a <Entry> at the start
,, and a </Entry> at the finish
,, this should be true for the entries above and below the new ones you just
put in.
The
spaces from the edge of the page ARE important. (It seems ??)
Put
these extra entries near the top as the top part of this file is for the MAIN
KEYBOARD ,,, further down the file there are joysticks etc etc.
<?xml version="1.0" encoding="Windows-1252"?>
<SimBase.Document
Type="Controls"
version="1,0"
id="Standard">
<Descr>Controls Mapping File</Descr>
<Filename>Standard.XML</Filename>
<SimControls.Map>
<Name>KEYBOARD_MAIN</Name>
<Entry>
<Key>SHIFT+F10</Key>
<Down>KNEEBOARD_VIEW</Down>
</Entry>
<Entry>
<Key>A+Q</Key>
<Down> XPNDR_1000_INC </Down>
</Entry>
<Entry>
<Key>A+W</Key>
<Down> XPNDR _100_INC </Down>
</Entry>
<Entry>
<Key>A+E</Key>
<Down> XPNDR _10_INC </Down>
</Entry>
<Entry>
<Key>A+R</Key>
<Down> XPNDR _1_INC </Down>
</Entry>
<Entry>
<Key>CTRL+S</Key>
<Down>VIEW_PREVIOUS_TOGGLE</Down>
</Entry>
<Entry>
<Key>Z+G</Key>
<Down>GEAR_TOGGLE</Down>
</Entry>
Now
save the file. (make sure you save it as “STANDARD.XML” and not as “STANDARD.XML.TXT”)
Once
you save it, and FSX uses it, the positions of your entrys will change for some
silly reason but the changes will still be there.
Step
3.
Program
your 4 buttons on your keyboard encoder to ,,,
First
button sends A+Q (Hold down A and press Q)
Second
button sends A+W (Hold down A and press W)
Third
button sends A+E (Hold down A and press E)
Forth
button sends A+R (Hold down A and press R) to the computer.
Step
4.
Fire
up FSX and try it !!!! It will work.
Whether
the radio panel is up and in focus or not ,,, the Transponder frequency will
change with each push of the button.
Final
possibilities.
The
above shows how easy it is to interface with FSX ,, a natural progression (in this
case) is to have 8 buttons ,, the 4 top ones increase the frequency, the 4
bottom ones decrease the frequency (Yes there are codes for decreasing the
frequency) ,,, and going further into this ,,, you can have 4 rotary switchs
which would be even more realistic and replace the buttons with something
rotary ,, like I’ve shown in ,,,
http://www.jimspage.co.nz/inputs.htm
or pulse switchs
http://www3.alps.com/WebObjects/catalog.woa/E/HTML/Switch/Rotary/SRBM/SRBM1L1400.html
http://www.knitter-switch.com/p_rotary.php (Model MRP 1-20)
Note
on the pulse switch’s ,,,, I have NOT
tried them ,, but the theory is there. ???
Wouldn’t
it be nicer to turn knobs to change the frequency ,, rather than push buttons
or use the keyboard. ??
Other
ways to input thru a keyboard encoder is ,,,, (With the encoders auto
repeat on)
A 3
position rotary switch ,, left is freq down ,, right is freq up and obviously,, center is off.
A 3
position toggle switch ,,, sprung to center OFF ,,, down is freq down and up is
freq up.
But,
if you just want to add one or two switchs that aren’t in the “Keystroke
assignment list” ?? Real easy to
do. There would no need to add extras to the “standard.xml”
,, just change one (or 2) of the
“standard.xml” entries that you know you will never use ,,
also there would be no need to change any of the key codes in the
“Keystroke assignment list”at all.
Before
building a panel ,,, think of what you want and then study the “keyboard
assignment list” and the “standard.xml” ,,, Sort out what you want and how you are going
to do it.
And
Finally
,,,
I
have just done exactly ,, word for word ,, what I have written (above) on 2
different computers with no trouble.
On
each computer it took less than 5 minutes. (I used copy and paste and then just
altered)
I
done it on ,,
XP
,, which had FSX and FSX SP1. (No SDK)
Vista
,, which had FSX and FSX SP1 also the SDK with its SP1.
If
you have trouble doing this and things go wrong ,,, then don’t blame me. What
works for me, may not work for you.
Some
people might say ,, “why do it this way ” ??
,,, Well years ago I was just
about to “break the bank” and buy an expensive add-on unit for FS2002 ,,, I
didn’t but I was glad I didn’t ,,, the outfit stopped making them and everyone
that bought them basically had to throw them out when the next FS came along.
That
taught me a lesson ,, big time ,,, TRY
NOT TO
BUY ANYTHING THAT
RELIED ON ,,,,,
NEW SOFTWARE
FROM A VENDOR FOR
IT TO BE ABLE TO
RUN ON THE NEXT VERSION
OF FS.
Keyboard
encoders don’t rely on any update from anyone to be able to work on future
FS’s.
There
is another reason ,, I have far more
enjoyment finding a cheap way to do things ,,,
Just going out and buying something doesn’t thrill me at all.
Things
are more settled now though ,,, the market place for our sort of stuff is
stabilizing. I did actually break my
own rule and bought a Goflight autopilot ,, great thing and I look forward to
many years of use out it. (And hopefully many FS’s)
As
a Reference ,,,, (As I understand it)
The
“standard.xml” in the ROOT fsx
dir is used when ,,,,,
FSX first gets installed.
For making “username” copies of “standard.xml”.
FSX cant find the “username” one or its
corrupt.
The FSX.CFG file is missing or corrupt.
If the Joysticks etc get changed, then
it will update the “username” one with info from the “root dir” one. (I never
tested this)
The
“standard.xml” in the “USERNAME”
dir is USED when ,,
That user fires up FSX.
The
“standard.xml” in the “USERNAME”
dir is CHANGED when ,,,,,
The user changes anything in the
“Settings, Control page” (Top picture). (That’s keyboard codes , joystick,
joystick buttons etc)
If an actual joystick is changed, FSX
looks at the one in the root dir and writes the settings from that one, to the
“username” one. ??
The
“standard.xml” in the “USERNAME”
dir is TOTALLY RE-WRITTEN when ,,,,,
FSX can’t find the FSX.CFG file. (You
can actually delete FSX.CFG and FSX will reset to default ,, no flights etc
will be lost)
You click “Reset defaults” in the
“Settings, Control” page. (Top picture)
All the info for the “rewrite” comes
from the “Standard.xml” in the root
dir.
So,,
Armed with the above, you can see its quite easy and safe to potter around with
the “Standard.xml” in the “Username” place.
If it all turns to custard ,, just click on “reset defaults” in the
“Settings, Control” page (Top picture) or delete the FSX.CFG file and FSX will
“fix” itself.
Once
you are more comfortable with what is going on ,, then you can potter around
with the one in the “root.dir” (After backups) and to make it register ,, just
delete the FSX.CFG file to make the changes register for the present user.
Use
the above at your own risk ,,, What worked for me, may not work for you.
I
have been wrong before ,, I remember back in 1954 when ,,, ????
Dated
15 April 08
Updated
19 April 08
![]()