[simpits-tech] KEYSTROKE add on for BMS 0.98

Joseph Fagner falcon4 at sbcglobal.net
Tue Dec 2 21:16:14 PST 2003


No, I don't have the entire MFD, just the bezels.  As for the hex codes,
there seem to be some in the keystrokes.key file that aren't listed in the
BMS cockpit builders doc.  For instance, the first 10 buttons of the right
and left MFD are 0x1, 0xA etc...  I can't find that exact hex value with a
corresponding key.  The last 10 MFD buttons are the number pad numbers with
their corresponding Ctrl/Alt/shift combo.  That's what I was asking as far
as the hex translation as to what those values translate out to.

Jay

-----Original Message-----
From: simpits-tech-bounces at simpits.org
[mailto:simpits-tech-bounces at simpits.org] On Behalf Of Mark Doran
Sent: Tuesday, December 02, 2003 1:32 AM
To: 'Simulator Cockpit tech list'
Subject: RE: [simpits-tech] KEYSTROKE add on for BMS 0.98

There are 792 distinct key commands in the next version of the BMS
executable.  Given a standard keyboard and the ability to use all the
namespace based on plain and combinations of ctl, shf, alt mode keys you're
pretty close to being able to cover the lot.

But who'd really need to??  The new commands make using the old
increment/decrement (popular for some knobs like air source) and mutliplace
toggles (like the autopilot switches) redundant and there are a slew of out
the window view commands that one probably doesn't need for a physical
cockpit set up (I expect the "1" full screen/HUD view to be pretty popular
with the pit builders).  So yes, I think a pit builder oriented key file
makes sense to do.

I'm not sure what you are asking for with the "translated hex codes"
request.  The hex codes for the naming of the keytops on the keyboard is in
the BMS Cockpit Builder.doc file that comes with the BMS package.  They are
all there.  Combine that with the names from the key command list and the
recipe that Froglips published at Frugal's World for making your own key
mapping file and you should have all the info you need.

To interface to Falcon4, the presumption right now is that you are using
keyboard, keyboard emulating devices (Cougar, XKeys), or something that can
generate USB HID events that look like keypresses (EPIC USB).  If you have
real MFD units (you lucky soul, I bet the picture tubes work too, don't
they, gaak, I'm jealous! ;-) then what you need to do is rewire the buttons
so they connect to the PC in one of the aforementioned ways.  For the MFD
buttons, the key command names in Falcon that you need are of the form
"SimCBEOSB_1L".  Just look for the set that has the correct button place #
and L/R suffix to get the ones you need.

Somehow though, I'm not sure I answered your question properly...let me know
if not and I can try again.

I'm coming to the opinion that the shared memory isn't so bad after
all...the problem as much as anything else was that you couldn't rely on the
data in there.  Given the header file you can make a program (reader) the
pretty efficiently fishes out internal state data and translates it to your
'pit hardware, local or remote (like Erwin's F4DataMirror).  Now that the
data in the shared memory file *is* reliable full time, well it's a much
better facility than it used to be.  And yes, there's going to be an updated
header file here pretty soon.

Cheers,

Mark.


> -----Original Message-----
> From: Joseph Fagner [mailto:falcon4 at sbcglobal.net]
> Sent: Monday, December 01, 2003 8:17 PM
> To: 'Simulator Cockpit tech list'
> Subject: RE: [simpits-tech] KEYSTROKE add on for BMS 0.98
> 
> Thanks Mark, that makes perfect sense to me, well explained.  I was
reading
> somewhere that given all the possible key commands, there aren't enough
> keystroke for it all.  Seem to me give the combination/permutation of
> ctl/alt/shift number/letter that there should be enough.
> 
> That would make good sense to make a custom file for pit builders.  It
could
> make things pretty standard amongst us and easy to help others set up
their
> pits.  The sh.mem file may be less than ideal, but right now it's all we
> got.
> 
> Also, where can I find a complete list of translated hex codes?  I have
seen
> the document that comes with the BMS .exe, but that doesn't seem to have
all
> the hex codes listed.  There are some, for instance, for the MFD's that I
> don't see.  I have got a real set of MFD's that are wired in matrix and I
> ordered an xkeys matrix decoder to control them.  I've never worked with
the
> xkeys before, but it seems like the perfect solution for the real MFD's.
> What I'm not sure is if I can use hex values programmed into the xkeys
> software or do I need to execute a keyboard command for the program to
> "remember".
> 
> Thanks
> Jay
> 
> -----Original Message-----
> From: simpits-tech-bounces at simpits.org
> [mailto:simpits-tech-bounces at simpits.org] On Behalf Of Mark Doran
> Sent: Monday, December 01, 2003 9:36 PM
> To: 'Simulator Cockpit tech list'
> Subject: RE: [simpits-tech] KEYSTROKE add on for BMS 0.98
> 
> What the 0xFFFFFFFF value should do in there is make the key name visible
in
> the in-game config screen from which you can assign it a key value
manually.
> If you want to you can manually select the key per line by placing the
> correct hex value in the file at the outset.
> 
> Frank's technique here is I think the good shortcut for getting to a file
> that does have specific values: my plan is to make just such a file with
all
> "F" hex values and then just run through assigning keys a b c d e f g h I
j
> k l.... for functions in order until I get all the ones that IO think we
> need for pit builder use and publish that in case it helps for everyone.
> 
> FYI, I just checked in what I think is the last of the new code required
to
> place every last knob/switch directly in every possible position with a
> single key command for each discrete position (no more stateless toggle
> commands!! :-).  Nice round number now -- 140 new key commands since
SP3...
> 
> Now the purists (looks around quickly to see if Gene is watching ;-) may
say
> that doing this with keyboard events is pretty hokey and will add to the
> tale of woe by saying that the Falcon4 sh.mem interface is less than ideal
> but I reckon that "I/O" things for Viper drivers are much better now: at
> least we have direct stateless/mappable commands that can be injected from
> physical controllers for every active cockpit function in the game and the
> output stuff works consistently for all data values presented regardless
of
> out-the-window view.
> 
> Actually the more I work with it the more the sh.mem interface is actually
> growing on me.  How's that for scary??
> 
> Now if I can just get the BMS DirectX expert to teach me enough to whack
out
> some MFD images... ;-)
> 
> Cheers,
> 
> Mark.
> 
> 
> > -----Original Message-----
> > From: Joseph Fagner [mailto:falcon4 at sbcglobal.net]
> > Sent: Sunday, November 30, 2003 8:38 PM
> > To: 'Simulator Cockpit tech list'
> > Subject: RE: [simpits-tech] KEYSTROKE add on for BMS 0.98
> >
> > AS I'm pretty unfamiliar with programming and all.  But does everyone of
> > these commands have the same hex code?  How does the sim know what you
are
> > asking it to do?  I'm sure to some its obvious, but to me it's not.
Please
> > explain.
> >
> > Jay
> >
> > -----Original Message-----
> > From: simpits-tech-bounces at simpits.org
> > [mailto:simpits-tech-bounces at simpits.org] On Behalf Of Frank Riedel
> > Sent: Wednesday, November 19, 2003 3:59 PM
> > To: Simulator Cockpit tech list
> > Subject: [simpits-tech] KEYSTROKE add on for BMS 0.98
> >
> > Hi All
> > Copy and paste in to your Keystroke.key file
> > and you are ready with all the new "goodies" from BMS
> >
> > Thanks to Mark for info !
> >
> > Frank
> >
> > SimAirSourceOff 1 0 0XFFFFFFFF 0 0 0 1 "AirCondOff"
> > SimAirSourceNorm 1 0 0XFFFFFFFF 0 0 0 1 "AirCondNorm"
> > SimAirSourceDump 1 0 0XFFFFFFFF 0 0 0 1 "AirCondDump"
> > SimAirSourceRam 1 0 0XFFFFFFFF 0 0 0 1 "AirCondRam"
> > SimDriftCOOn 1 0 0XFFFFFFFF 0 0 0 1 "SimDriftCOOn"
> > SimDriftCOOff 1 0 0XFFFFFFFF 0 0 0 1 "SimDriftCOOff"
> > SimFuelSwitchCenterExt 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelSwitchCenterExt"
> > SimFuelSwitchWingExt 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelSwitchWingExt"
> > SimFuelSwitchWingInt 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelSwitchWingInt"
> > SimFuelSwitchResv 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelSwitchResv"
> > SimFuelSwitchNorm 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelSwitchNorm"
> > SimFuelSwitchTest 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelSwitchTest"
> > SimINSInFlt 1 0 0XFFFFFFFF 0 0 0 1 "SimINSInFlt"
> > SimINSNav 1 0 0XFFFFFFFF 0 0 0 1 "SimINSNav"
> > SimINSNorm 1 0 0XFFFFFFFF 0 0 0 1 "SimINSNorm"
> > SimINSOff 1 0 0XFFFFFFFF 0 0 0 1 "SimINSOff"
> > SimAVTRSwitchOn 1 0 0XFFFFFFFF 0 0 0 1 "SimAVTRSwitchOn"
> > SimAVTRSwitchAuto 1 0 0XFFFFFFFF 0 0 0 1 "SimAVTRSwitchAuto"
> > SimAVTRSwitchOff 1 0 0XFFFFFFFF 0 0 0 1 "SimAVTRSwitchOff"
> > SimRFNorm 1 0 0XFFFFFFFF 0 0 0 1 "SimRFNorm"
> > SimRFQuiet 1 0 0XFFFFFFFF 0 0 0 1 "SimRFQuiet"
> > SimRFSilent 1 0 0XFFFFFFFF 0 0 0 1 "SimRFSilent"
> > SimEWSProgFour 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSProgFour"
> > SimEWSProgThree 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSProgThree"
> > SimEWSProgTwo 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSProgTwo"
> > SimEWSProgOne 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSProgOne"
> > SimEWSModeAuto 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSModeAuto"
> > SimEWSModeSemi 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSModeSemi"
> > SimEWSModeMan 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSModeMan"
> > SimEWSModeStby 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSModeStby"
> > SimEWSModeOff 1 0 0XFFFFFFFF 0 0 0 1 "SimEWSModeOff"
> > SimReticleOff 1 0 0XFFFFFFFF 0 0 0 1 "SimReticleOff"
> > SimReticleStby 1 0 0XFFFFFFFF 0 0 0 1 "SimReticleStby"
> > SimReticlePri 1 0 0XFFFFFFFF 0 0 0 1 "SimReticlePri"
> > SimRightAPDown 1 0 0XFFFFFFFF 0 0 0 1 "SimRightAPDown"
> > SimRightAPMid 1 0 0XFFFFFFFF 0 0 0 1 "SimRightAPMid"
> > SimRightAPUp 1 0 0XFFFFFFFF 0 0 0 1 "SimRightAPUp"
> > SimLeftAPDown 1 0 0XFFFFFFFF 0 0 0 1 "SimLeftAPDown"
> > SimLeftAPMid 1 0 0XFFFFFFFF 0 0 0 1 "SimLeftAPMid"
> > SimLeftAPUp 1 0 0XFFFFFFFF 0 0 0 1 "SimLeftAPUp"
> > SimMainPowerMain 1 0 0XFFFFFFFF 0 0 0 1 "SimMainPowerMain"
> > SimMainPowerBatt 1 0 0XFFFFFFFF 0 0 0 1 "SimMainPowerBatt"
> > SimMainPowerOff 1 0 0XFFFFFFFF 0 0 0 1 "SimMainPowerOff"
> > SimEpuOn 1 0 0XFFFFFFFF 0 0 0 1 "SimEpuOn"
> > SimEpuAuto 1 0 0XFFFFFFFF 0 0 0 1 "SimEpuAuto"
> > SimEpuOff 1 0 0XFFFFFFFF 0 0 0 1 "SimEpuOff"
> > SimDecRadioChannel 1 0 0XFFFFFFFF 0 0 0 1 "SimDecRadioChannel"
> > SimHUDBrtNight 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDBrtNight"
> > SimHUDBrtAuto 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDBrtAuto"
> > SimHUDBrtDay 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDBrtDay"
> > SimHUDAltAuto 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDAltAuto"
> > SimHUDAltBaro 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDAltBaro"
> > SimHUDAltRadar 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDAltRadar"
> > SimHUDVelocityGND 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDVelocityGND"
> > SimHUDVelocityTAS 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDVelocityTAS"
> > SimHUDVelocityCAS 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDVelocityCAS"
> > SimHUDDEDDED 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDDEDDED"
> > SimHUDDEDPFL 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDDEDPFL"
> > SimHUDDEDOff 1 0 0XFFFFFFFF 0 0 0 1 "SimHUDDEDOff"
> > SimScalesOff 1 0 0XFFFFFFFF 0 0 0 1 "SimScalesOff"
> > SimScalesVAH 1 0 0XFFFFFFFF 0 0 0 1 "SimScalesVAH"
> > SimScalesVVVAH 1 0 0XFFFFFFFF 0 0 0 1 "SimScalesVVVAH"
> > SimHSIIlsNav 1 0 0XFFFFFFFF 0 0 0 1 "SimHSIIlsNav"
> > SimHSINav 1 0 0XFFFFFFFF 0 0 0 1 "SimHSINav"
> > SimHSITcn 1 0 0XFFFFFFFF 0 0 0 1 "SimHSITcn"
> > SimHSIIlsTcn 1 0 0XFFFFFFFF 0 0 0 1 "SimHSIIlsTcn"
> > FOVDefault 1 0 0XFFFFFFFF 0 0 0 1 "FOVDefault"
> > FOVIncrease 1 0 0XFFFFFFFF 0 0 0 1 "FOVIncrease"
> > FOVDecrease 1 0 0XFFFFFFFF 0 0 0 1 "FOVDecrease"
> > FOVToggle 1 0 0XFFFFFFFF 0 0 0 1 "FOVToggle"
> > SimPitchLadderATTFPM 1 0 0XFFFFFFFF 0 0 0 1 "SimPitchLadderATTFPM"
> > SimPitchLadderFPM 1 0 0XFFFFFFFF 0 0 0 1 "SimPitchLadderFPM"
> > SimPitchLadderOff 1 0 0XFFFFFFFF 0 0 0 1 "SimPitchLadderOff"
> > SimDriftCOOff 1 0 0XFFFFFFFF 0 0 0 1 "SimDriftCOOff"
> > SimDriftCOOn 1 0 0XFFFFFFFF 0 0 0 1 "SimDriftCOOn"
> > SimAirSourceRam 1 0 0XFFFFFFFF 0 0 0 1 "SimAirSourceRam"
> > SimAirSourceDump 1 0 0XFFFFFFFF 0 0 0 1 "SimAirSourceDump"
> > SimAirSourceNorm 1 0 0XFFFFFFFF 0 0 0 1 "SimAirSourceNorm"
> > SimAirSourceOff 1 0 0XFFFFFFFF 0 0 0 1 "SimAirSourceOff"
> > SimFuelTransWing 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelTransWing"
> > SimFuelTransNorm 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelTransNorm"
> > SimExtFuelTrans 1 0 0XFFFFFFFF 0 0 0 1 "SimExtFuelTrans"
> > SimFuelPumpFwd 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelPumpFwd"
> > SimFuelPumpAft 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelPumpAft"
> > SimFuelPumpNorm 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelPumpNorm"
> > SimFuelPumpOff 1 0 0XFFFFFFFF 0 0 0 1 "SimFuelPumpOff"
> >
> >
> >
> > _______________________________________________
> > Simpits-tech mailing list
> > Simpits-tech at simpits.org
> > http://www.simpits.org/mailman/listinfo/simpits-tech
> > To unsubscribe, please see the instructions at the bottom of the above
> page.
> > Thanks!
> >
> 
> _______________________________________________
> Simpits-tech mailing list
> Simpits-tech at simpits.org
> http://www.simpits.org/mailman/listinfo/simpits-tech
> To unsubscribe, please see the instructions at the bottom of the above
page.
> Thanks!
> 

_______________________________________________
Simpits-tech mailing list
Simpits-tech at simpits.org
http://www.simpits.org/mailman/listinfo/simpits-tech
To unsubscribe, please see the instructions at the bottom of the above page.
Thanks!




More information about the Simpits-tech mailing list