(This fgcommand was broken for a few weeks. Now it's fixed, but the
wrapper use is desirable, as this allows easy redefining.)
- cyborg gold: cosmetics
(if <name> isn't defined, "Axis #0", or "Btn #2" etc. are used in the
joystick info dialog; <name>s should at least be used for entries with
OS specific indices)
property /rotors is available at joystick driver laod time. Note that
the FDM creates /rotors *afterwards*, so it needs to be defined in the
*-set.xml file already (which is the case for all helicopters in CVS).
A simple, self-ending <rotors/> tag should do.
I got a new joystick, a Speedlink Black Hawk (USB) with force feedback for
which I have written a setup xml file (see attachment) since with the default
setup, the rudder control didn't work.
Perhaps you could include it in the next version of Flightgear, such that
other users with the same joystick could immediately use it. The xml file
contains a description of the axis/button setup and should be self-explanatory.
I am using Windows XP but I guess the configuration should at least work on
all Windows platforms, no idea whether it works under Linux.
It would be great if one could get the vibration function to work (for
touchdown, running over uneven ground, plane stalling and the like) but I
frankly don't know how to do it. Has anybody already implemented force feedback?
Let me stress that Flightgear is a great sim and that I really enjoy it a lot!
You all are doing a great job!
I've just purchased a Logitech Attack 3 usb joystick and it
works great with Flightgear.
It has 11 button and a throttle control.
I have attatched an xml file for inclusion into Flightgear.
The buttons are as follows:
Trigger Button 0 : Brakes
Button 3 : Elevator trim up
Button 2 : Elevator trim down
button 6 : Elevators up
button 7 : Elevators down
button 8 : Brake left
button 9: Brake right
With buttons 11 - Gear up
Button - 10 Gear down
joystick configuration for a Wingman Force 3D USB.
mfranz:
This driver is supposed to work for the non-USB versions, too, so
I'm replacing the non-USB driver with this one, and add its <name>s
here. If it turns out that we need a separate driver, it's better to
derive it from this file, as this is adapted to the newest methods
(nasal wrappers, etc.), while the old driver was only partly functional.
The proper file ( the one with axis assignment set correctly for all OSes ) was too quickly removed, certainly because of its -win suffix.
I merged the good things in one file, discarding the problematic ones.
Initial revision. This is the only joystick that the Walmart next to my
house is selling. (What are you going to do?) Buttons 2 and 4 are still
unmapped awaiting any good suggestions.
- to support "old-style" gear/flap control (operation as long as button
pressed/lever pushed -> b29/hurricane), let bindings not only report
up/down, but up (-1), stop (0), down (1).
- let controls.flapsDown() ignore "stop" so as to remain compatible with
prior behavior
- adapt all joysticks/aircraft (sigh)
- some minor cosmetics in joystick configs, such as indentation fixes
avoids the obscure and ugly "which" workaround
Note that the input subsystem sets variable "this" to this joystick's
base property path; This is useful to be able to access the driver's own
information from the property tree. Example:
data = props.globals.getNode(this).getNode("data");
where "this" contains string "/input[0]/joysticks[0]/js[0]" if the js is
the first in the system
for operation-modes; only one user visible change: the speed brake toggle
does now also show a popup like the thrust reverser and the parking brake;
I hope that this is seen as useful help rather than annoyance.
The one hat axis should be 4 for Unix/Linux and 6 for windows (according
to someone on IRC), while the other hat axis is apparently 7 for all
systems. Changed the throttle to Nasal, too.
I didn't nasalify the rest, because that's error-prone and I wouldn't
be able to test it.
This file is in a rather bad state. Hence:
- remove doubled "rudder" settings
- fix & nasalify brake properties (/controls/gear/wheel[?]/brake, yet again)
- remove redundant index setting
- nasalify throttle (to allow more than 8 engines)
- nasalify flaps (to make flaps with more than 4 positions work)
- nasalify elevator trim (just for fun :-)
- fix syntax
- remove lots of trailing spaces
File tested by Jon-Eirik Pettersen
i modified the joystick settings for the Sidewinder Precision Pro joystick.
Now all buttons and axis react the same way in unix and windows except for
the view elevation binding which is on axis 5 in unix and 7 in windows.
Here the windows axis is inverse, the unix version is not.
This means if you move the hat down in unix you will look down
if you move the hat down in windows you will look up.
To fix this we would need some sort of property to inverse the axis independly
for windows and unix. If you know a way to do this feel free to fix this.
I also added some more button bindings.
With button 1 you can now switch between the views,
The brakes where moved from button 1 to button 0 because this button was
unused and users who want to switch from MS Flight Simulator to FlightGear
will like that too because the buttons are now used the same way on both
sims. With the unused button 8 (shift button), you can now retract the gears.
I also fixed the arrangement for the 4 buttons called A, B, C and D left to
the stick.
With button B you can now turn the flaps up and with button A down.
With button C you can use the left brake and with button D the right brake.
Before those changes the windows and unix bindings were different and somehow
unordered (crossed).
I tested this new Joystick settings in Windows Millenium and
Linux Slackware 10 with Flightgear 0.9.6 for windows and the newest cvs
version from today for Linux.
I use both Linux and Win XP with my CH yoke and pedals and noted that I have two different versions of the yoke xml with the mixture and prop axis reversed. Here is an edit that works for me with both Win XP and Linux.
The following patch updates the ThrustMaster FCS joystick configuration. I have "Nasal-ized" the joystick bindings, drawing ideas from the Cyborg-Gold-3d-USB configuration file. I also changed some of the bindings, so the joystick setup is more like the default four-axis-joystick config. When I submitted the original config file, I had the hat switch bound to the rudder and elevator trim. Since the vast majority (all?) of the other joystick configs use the hat switch to control view direction, I think it would be best for the defaults for this joystick to conform to the rest in order to obey the "principle of least surprise" for the unsuspecting user.
controls in the cockpit vs. which wheels they apply to. FlightGear now
sets /controls/gear/brake-left, /controls/gear/brake-right, and
/controls/gear/brake-parking. It should be up to the FDM to sort out
which wheels under which circumstances are affected by these controls
and ultimately what happens to the physical motion of the aircraft.
First, I've attached a copy of the Logitech WingMan Force 3D XML
file "wingman-force-3d.xml" I put together after getting one of
these for Christmas. (It would be nice if the force feedback worked,
but I haven't had time to play with it that much. Come to think about
it I'm not even sure forece feedback works under Linux in general.)
Besides providing the new file I also edited the higher-level
/FlightGear/joysticks.xml file to add the description for this joystick
as follows:
diff -n joysticks.xml_orig joysticks.xml
a22 1
<js-named include="Input/Joysticks/Logitech/wingman-force-3d.xml"/>
I'm using a different Joystick now, but these changes
were on my harddisk for a while and should be in CVS:
replace "squared" by "power 3" (the X8-30 is of rather
bad quality, and the 3 help to avoid jitter). Add
"interval-sec" settings.
Since several people on the list have been asking questions about this Saitek joystick and the comments at the top of this xml file in cvs were wrong and confusing, I am posting this update with the following changes:
1. Removed the confusing/wrong comments.
2. Added throttle bindings for engines 2 thru 7 (required for the b52).
3. Changed the hat axis to rotate the view continuously (required to see the mag switch in the p51d and just a lot nicer with any 3d cockpit).
This last change makes the hat point the line of sight more like moving your head. This is the way the CH pro-yoke-USB is set up.
If you are not used to this set up and you use aircraft with 2d pannels, you will likely need to use shift-nuberpad-8 to get the original forward view once you look arround.
here's the promised patch:
- make throttle work for 8 engines (b52)
- resolve multiple property bindings (simply stating
more than one property per binding doesn't do anything;
this has to be written as two bindings; didn't touch
"Reset View" button in X45, though)
- add $Id$ lines
- adjust step size in "my" joystick file (X8-30) to
work best on a 2.4GHz computer :->
I didn't add entries for propeller related properties, such as mixture, prop-pitch, and I didn't change the boost property. These are still for at most two engines.
I've got nice joystick Logitech WingMan Force and found no file for it
in FG 0.8. If anyone interested, I offer it here. It is based on
Logitech WingMan Extreme configuration, but there are less axes (no
rudder:() and more (9!) buttons (actually, I don't use them all). Hope
it is useful.
> It has more or less the same layout than the one for the MS Sidewinder
> Force.
>
> There is already a profile for this joystick in the base package but
> it differs in the axes layout : axes 2 & 3 are inverted and the hat is
> at 6&7 instead of 5&6. I think this is a Linux/Windows difference.
> As the reported name is different, the two profiles can coexist.
with Sidewinder Pro 3d but I do not have a string. Also I do not have the
non-English strings for the USB stick. Note that this config is similar to
the Force feedback stick, except the axes for the rudder and throttle are
different on the Precision 2 USB and Pro 3d sticks.