Difference between revisions of "Manual:Config:Advanced:Bindings:Joystick"
(fixed links) |
(Updated some hatswitch information) |
||
Line 56: | Line 56: | ||
<bind hatswitch="0" button="3" modifier="none" command="StopKey" /> | <bind hatswitch="0" button="3" modifier="none" command="StopKey" /> | ||
</pre> | </pre> | ||
− | |||
− | + | ''Is this really how it works? For me it binds the NORMAL BUTTON-0 to the ABKey and not the 'virtual' one of the hatswitch/throttle. But that's what is in the vegastrike.config file :-/ '' | |
− | + | ||
+ | ''You are correct. This bug preventing "bind" from working with hatswitches, and thus hatswitches from working at all, has been fixed in latest CVS, but not in 0.4.3.'' | ||
===DIGITAL COOLIHAT/HATSWITCH=== | ===DIGITAL COOLIHAT/HATSWITCH=== | ||
Line 73: | Line 73: | ||
* <code>digital-hatswitch</code> - Number of the digital hatswitch. | * <code>digital-hatswitch</code> - Number of the digital hatswitch. | ||
* <code>direction</code> - Direction (-button) of digital hatswitch. | * <code>direction</code> - Direction (-button) of digital hatswitch. | ||
− | ** Possible values: <code> | + | **Possible values: "center", "up", "right", "left", "down", "rightup", "rightdown", "leftup", "leftdown" |
+ | * <code>command</code> - Specify the command to start when the button is pressed here. See [[Manual:Keyboard layout|Keyboard layout]] for description and a list of commands. | ||
+ | |||
+ | ===DIGITAL AXES/D-PAD AS HATSWITCH=== | ||
+ | This can allow one to use a (usually digital) axis such as a D-Pad as button commands, such as camera keys, etc. | ||
+ | |||
+ | ====Sample==== | ||
+ | <pre> | ||
+ | <axis name="hatswitch" nr="0" margin="0.26" joystick="0" axis="2"> | ||
+ | <hatswitch value="-0.75"/> | ||
+ | <hatswitch value="0.75"/> | ||
+ | </axis> | ||
+ | <axis name="hatswitch" nr="1" margin="0.26" joystick="0" axis="3"> | ||
+ | <hatswitch value="-0.75"/> | ||
+ | <hatswitch value="0.75"/> | ||
+ | </axis> | ||
+ | |||
+ | <bind hatswitch="0" button="0" command="Cockpit::YawLeft" /> | ||
+ | <bind hatswitch="0" button="1" command="Cockpit::YawRight" /> | ||
+ | <bind hatswitch="1" button="0" command="Cockpit::PitchDown" /> | ||
+ | <bind hatswitch="1" button="1" command="Cockpit::PitchUp" /> | ||
+ | </pre> | ||
+ | |||
+ | ====Description==== | ||
+ | In <axis> tags: | ||
+ | * <code>axis</code> - Number of the joystick axes for up/down and left/right. | ||
+ | * <code>margin</code> - basically, you want this to include 1.0 and -1.0, but not 0.0 when adding hatswitch-value +/- margin | ||
+ | * <code>joystick</code> - 0=down/left, 1=up/right | ||
+ | In <bind> tags: | ||
+ | * <code>hatswitch</code> and <code>nr</code> - Number of the two defined "hatswitches". | ||
+ | * <code>button</code> - 0=down/left, 1=up/right | ||
* <code>command</code> - Specify the command to start when the button is pressed here. See [[Manual:Keyboard layout|Keyboard layout]] for description and a list of commands. | * <code>command</code> - Specify the command to start when the button is pressed here. See [[Manual:Keyboard layout|Keyboard layout]] for description and a list of commands. | ||
Revision as of 06:15, 30 July 2005
Config:Advanced:Bindings:Mouse | Config:Advanced:Bindings | Config:Advanced:Variables |
Contents
Joystick Configuration
This page provides working examples of different joystick configurations, showing how each buton has been bound to operate a single Vega Strike function.
If a Joystick Configuration matches your joystick, you can edit copy the configuration here into your vegastrike config file.
JOYSTICK: bind
Sample
<bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />
Description
-
joystick
- Number of the joystick. -
player
- for which player is the command specified? FIXME ?how this is right? -
button
- Number of the button on the joystick. -
modifier
- FIXME ? no clue ? -
command
- Specify the command to start when the button is pressed here. See Keyboard layout for description and a list of commands.
JOYSTICK: axis
Sample
<axis name="x" joystick="0" axis="0" inverse="false" />
Description
-
name
- Name of the axis (in the game) to bind (x,y,z,throttle
) -
joystick
- Number of the joystick. -
axis
- Number of axis of the joystick. -
inverse
- Set this totrue
if you want to inverse the axis direction and tofalse
if not.
ANALOG COOLIHAT/HATSWITCH
Sample
<axis name="hatswitch" nr="0" margin="0.15" joystick="1" axis="2"> <hatswitch value="-1.0"/> <hatswitch value="-0.6"/> <hatswitch value="-0.19"/> <hatswitch value="0.1"/> </axis> <bind hatswitch="0" button="0" modifier="none" command="ABKey" /> <bind hatswitch="0" button="1" modifier="none" command="AccelKey" /> <bind hatswitch="0" button="2" modifier="none" command="DecelKey" /> <bind hatswitch="0" button="3" modifier="none" command="StopKey" />
Is this really how it works? For me it binds the NORMAL BUTTON-0 to the ABKey and not the 'virtual' one of the hatswitch/throttle. But that's what is in the vegastrike.config file :-/
You are correct. This bug preventing "bind" from working with hatswitches, and thus hatswitches from working at all, has been fixed in latest CVS, but not in 0.4.3.
DIGITAL COOLIHAT/HATSWITCH
Sample
<bind joystick="0" digital-hatswitch="0" direction="up" command="ABKey"/>
Description
-
joystick
- Number of the joystick. -
digital-hatswitch
- Number of the digital hatswitch. -
direction
- Direction (-button) of digital hatswitch.- Possible values: "center", "up", "right", "left", "down", "rightup", "rightdown", "leftup", "leftdown"
-
command
- Specify the command to start when the button is pressed here. See Keyboard layout for description and a list of commands.
DIGITAL AXES/D-PAD AS HATSWITCH
This can allow one to use a (usually digital) axis such as a D-Pad as button commands, such as camera keys, etc.
Sample
<axis name="hatswitch" nr="0" margin="0.26" joystick="0" axis="2"> <hatswitch value="-0.75"/> <hatswitch value="0.75"/> </axis> <axis name="hatswitch" nr="1" margin="0.26" joystick="0" axis="3"> <hatswitch value="-0.75"/> <hatswitch value="0.75"/> </axis> <bind hatswitch="0" button="0" command="Cockpit::YawLeft" /> <bind hatswitch="0" button="1" command="Cockpit::YawRight" /> <bind hatswitch="1" button="0" command="Cockpit::PitchDown" /> <bind hatswitch="1" button="1" command="Cockpit::PitchUp" />
Description
In <axis> tags:
-
axis
- Number of the joystick axes for up/down and left/right. -
margin
- basically, you want this to include 1.0 and -1.0, but not 0.0 when adding hatswitch-value +/- margin -
joystick
- 0=down/left, 1=up/right
In <bind> tags:
-
hatswitch
andnr
- Number of the two defined "hatswitches". -
button
- 0=down/left, 1=up/right -
command
- Specify the command to start when the button is pressed here. See Keyboard layout for description and a list of commands.
Joystick Examples
Please insert your working configs here
Microsoft SideWinder Force Feedback Pro
(may work for other sidewinder-joysticks as well)
add joy_ffp
to the line
#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev
like this
#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev joy_ffp
Add the description text
#desc joy_ffp Microsoft SideWinder Force Feedback Pro
Make the joystick the current one
edit the #set Joystick xxxx
line to
#set Joystick joy_ffp
Binding code
Place the code below above the </bindings>
line in the vegastrike.config
file.
FIXME Attention: This bindings may not work under linux ... at least it doesn't for me since i switched. Help is always welcome.
<!-- #joy_ffp --> <!-- Joystick:Microsoft SideWinder Force Feedback Pro:BEGIN--> <!-- buttons:BEGIN --> <bind joystick="0" player="0" button="0" modifier="none" command="FireKey" /> <!-- stick:fire key --> <bind joystick="0" button="1" modifier="none" command="MissileKey" /> <!-- stick:left key --> <bind joystick="0" button="2" modifier="none" command="TargetKey" /> <!-- stick:top right key --> <bind joystick="0" button="3" modifier="none" command="PickTargetKey" /> <!-- stick:bottom right key --> <bind joystick="0" button="4" modifier="none" command="ABKey" /> <!-- socket:"A" key --> <bind joystick="0" button="5" modifier="none" command="MisSelKey" /> <!-- socket:"B" key --> <bind joystick="0" button="6" modifier="none" command="WeapSelKey" /> <!-- socket:"C" key --> <bind joystick="0" button="7" modifier="none" command="AccelKey" /> <!-- socket:"D" key --> <bind joystick="0" button="8" modifier="none" command="SheltonKey" /> <!-- not used? --> <bind joystick="0" button="9" modifier="none" command="DecelKey" /> <!-- socket:shift key --> <!-- buttons:END --> <!-- axes:BEGIN --> <axis name="x" joystick="0" axis="0" inverse="false" /> <!-- stick:left/right --> <axis name="y" joystick="0" axis="1" inverse="false" /> <!-- stick:up/down --> <axis name="z" joystick="0" axis="3" inverse="true" /> <!-- stick:roll left/right --> <!-- <axis name="throttle" joystick="0" axis="2" inverse="false" /> not working in 0.4.x --> <!-- socket:throttle --> <!--vvv throttle axis vvvv--> <axis name="hatswitch" nr="0" margin="0.25" joystick="0" axis="2" inverse="false"> <!-- socket:throttle --> <hatswitch value="-1.0"/> <hatswitch value="-0.5"/> <hatswitch value="0.5"/> <hatswitch value="1.0"/> </axis> <!-- axes:END --> <!-- throttle-bindings:BEGIN --> <bind hatswitch="0" button="0" modifier="none" command="ABKey" /> <bind hatswitch="0" button="1" modifier="none" command="AccelKey" /> <bind hatswitch="0" button="2" modifier="none" command="DecelKey" /> <bind hatswitch="0" button="3" modifier="none" command="StopKey" /> <!-- throttle-bindings:END --> <!-- hatswitch:BEGIN --> <bind joystick="0" digital-hatswitch="0" direction="up" command="Cockpit::Inside"/> <bind joystick="0" digital-hatswitch="0" direction="left" command="Cockpit::InsideLeft"/> <bind joystick="0" digital-hatswitch="0" direction="center" command="Cockpit::Inside"/> <bind joystick="0" digital-hatswitch="0" direction="right" command="Cockpit::InsideRight"/> <bind joystick="0" digital-hatswitch="0" direction="down" command="Cockpit::InsideBack"/> <!-- hatswitch:END --> <!-- Joystick:Microsoft SideWinder Force Feedback Pro:END--> <!-- #end -->
USB Saitek Cyborg 3D
4-axis/8-buttons/1-hatswitch stick + CH pedals on a gameport
http://vegastrike.sourceforge.net/forums/viewtopic.php?p=12580#12580 forum link
<!-- #joy_cyborg3d --> <!-- Joystick:USB Saitek Cyborg 3D (4 axis 10 button 1 hatswitch):BEGIN --> <!-- buttons:BEGIN --> <bind joystick="1" player="0" button="0" modifier="none" command="FireKey" /> <bind joystick="1" button="1" modifier="none" command="ABKey" /> <bind joystick="1" button="2" modifier="none" command="StopKey" /> <bind joystick="1" button="3" modifier="none" command="TargetKey" /> <bind joystick="1" button="4" modifier="none" command="PickTargetKey" /> <bind joystick="1" button="5" modifier="none" command="DecelKey" /> <bind joystick="1" button="6" modifier="none" command="SheltonKey" /> <bind joystick="1" button="7" modifier="none" command="AccelKey" /> <bind joystick="1" button="8" modifier="none" command="Cockpit::NavScreen" /> <bind joystick="1" button="9" modifier="none" command="MisSelKey" /> <bind joystick="1" button="10" modifier="none" command="Cockpit::Inside" /> <bind joystick="1" button="11" modifier="none" command="Cockpit::InsideLeft" /> <bind joystick="1" button="12" modifier="none" command="Cockpit::InsideRight" /> <bind joystick="1" button="13" modifier="none" command="Cockpit::InsideBack" /> <!-- buttons:END --> <!-- axes:BEGIN --> <axis name="x" joystick="1" axis="0" inverse="false" /> <axis name="y" joystick="1" axis="1" inverse="false" /> <!-- <axis name="throttle" joystick="1" axis="2"/> --> <!-- axes:END --> <!-- Joystick:USB Saitek Cyborg 3D (4 axis 10 button 1 hatswitch):END --> <!-- gameport CH pedals:BEGIN --> <!-- axes:BEGIN --> <axis name="z" joystick="0" axis="3" inverse="true"/> <!-- axes:END --> <!-- gameport CH pedals:END --> <!-- #end -->
USB Saitek X45
4-axis/7-button/4-hatswitch/2 rotary control, 2 mode switch (M1,M2,M3 and AUX0-1) stick/flight control system.
3 of the 4 hatswitches could be called like buttons. So I configured them for Cockpit Display and Weapon Selection. Until now the 2 rotary controls are unused. The mode switches are configured for SPEC/cloak.
<!-- #joy_saitek_x45 --> <!-- Joystick:USB Saitek X45 (4 axis, 7 buttons, 4 hatswitches):BEGIN --> <!-- buttons:BEGIN --> <bind joystick="0" player="0" button="0" modifier="none" command="FireKey" /> <bind joystick="0" button="3" modifier="none" command="MissileKey" /> <bind joystick="0" button="4" modifier="none" command="ABKey" /> <bind joystick="0" button="5" modifier="none" command="Cockpit::SwitchRVDU" /> <bind joystick="0" button="1" modifier="none" command="UnitTargetKey" /> <bind joystick="0" button="2" modifier="none" command="SigTargetKey" /> <bind joystick="0" button="7" modifier="none" command="NearestTargetKey" /> <!-- button 6 is originally intended as Shift button --> <!-- <bind joystick="0" button="6" modifier="none" command="Cockpit::NavScreen" /> --> <bind joystick="0" button="8" modifier="none" command="CloakKey" /> <bind joystick="0" button="9" modifier="none" command="CloakKey" /> <bind joystick="0" button="10" modifier="none" command="CloakKey" /> <bind joystick="0" button="11" modifier="none" command="ToggleWarpDrive" /> <bind joystick="0" button="12" modifier="none" command="ToggleWarpDrive" /> <bind joystick="0" button="13" modifier="none" command="ToggleWarpDrive" /> <!-- Joystick: HatSwitch 2 (left) --> <bind joystick="0" button="14" modifier="none" command="WeapSelKey" /> <bind joystick="0" button="15" modifier="none" command="MisSelKey" /> <bind joystick="0" button="16" modifier="none" command="ReverseWeapSelKey" /> <bind joystick="0" button="17" modifier="none" command="ReverseMisSelKey" /> <!-- ThrottleSystem: HatSwitch 3 (back)--> <bind joystick="0" button="18" modifier="none" command="Cockpit::PitchDown" /> <bind joystick="0" button="19" modifier="none" command="Cockpit::YawLeft" /> <bind joystick="0" button="20" modifier="none" command="Cockpit::PitchUp" /> <bind joystick="0" button="21" modifier="none" command="Cockpit::YawRight" /> <!-- ThrottleSystem: MouseCursorControl (front)--> <bind joystick="0" button="22" modifier="none" command="Cockpit::InsideLeft" /> <bind joystick="0" button="23" modifier="none" command="Cockpit::Inside" /> <bind joystick="0" button="24" modifier="none" command="Cockpit::InsideRight" /> <bind joystick="0" button="25" modifier="none" command="Cockpit::InsideBack" /> <!-- buttons:END --> <!-- axes:BEGIN --> <axis name="x" joystick="0" axis="0" inverse="false" /> <axis name="y" joystick="0" axis="1" inverse="false" /> <axis name="throttle" joystick="0" axis="4"/> <axis name="z" joystick="0" axis="3"/> <!-- axes:END --> <!-- Joystick:USB Saitek X45 (4 axis, 25 buttons, 4 hatswitches):END --> <!-- #end -->
Logitech Dual Analog Gamepad
add joy_log_dual_gp
to the line
#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev
like this
#cat Joystick no_joy joy_normal joy_throttle joy_axis joy_throttle_and_axis joy_t_a_rev joy_log_dual_gp
Add the description text
#desc joy_log_dual_gp Logitech Dual Analog Gamepad
Make the joystick the current one
edit the #set Joystick xxxx
line to
#set Joystick joy_log_dual_gp
Binding code
Place the code below above the </bindings>
line in the vegastrike.config
file.
<!-- #joy_log_dual_gp --> <axis name="x" joystick="0" axis="0" inverse="false" /> <axis name="y" joystick="0" axis="1" inverse="true" /> <axis name="z" joystick="0" axis="2" inverse="true"/> <!-- (Not Working) axis name="throttle" joystick="0" axis="3"/--> <!-- The digital pad has axis 4 and 5 and values of -1,0,1 --> <!-- Need to work out what to use it for and how to use it --> <!--The Buttons on this Joypad are clearly marked with numbers --> <!--Unfortunately they start with 1 and system starts with 0 --> <bind joystick="0" button="0" modifier="none" command="ABKey" /> <bind joystick="0" button="1" modifier="none" command="DecelKey" /> <bind joystick="0" button="2" modifier="none" command="DockKey" /> <bind joystick="0" button="3" modifier="none" command="AccelKey" /> <bind joystick="0" button="4" modifier="none" command="TargetKey" /> <bind joystick="0" button="5" player="0" modifier="none" command="FireKey" /> <bind joystick="0" button="6" modifier="none" command="PickTargetKey" /> <bind joystick="0" button="7" modifier="none" command="MissileKey" /> <bind joystick="0" button="8" modifier="none" command="WeapSelKey" /> <bind joystick="0" button="9" modifier="none" command="AutoKey" /> <!-- #end -->
See also
- Current vegastrike.config in the CVS.
Config:Advanced:Bindings:Mouse | Config:Advanced:Bindings | Config:Advanced:Variables |