joypad extensions

From Wiki

Jump to: navigation, search
(woops: bad information)
 
(12 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
<onlyinclude>
 
<onlyinclude>
 +
Extensions in this section take the form of a [[#pseudo button]] on the left of the equal (=) sign and a [[#keyboard macro]] on the right. Refer to [[#Action]]. This section is to be used by players to configure a game controller. An author may supply a modified default configuration database, however it is recommended that a stock configuration database be used.
  
Extensions in this section take the form of a [[#pseudo button]] on the left of the equal (=) sign and a [[#keyboard macro]] on the right. Refer to [[#Action]]. This section is to be used by players to configure a game controller. An author may supply a modified default configuration database, however it is recommended that a stock configuration database be used.  
+
A button in this section can be assigned a "reaction" so that if it represents a joystick axes for example, then when the axes is tilted in its negative direction the alternative action is taken. To assign a reaction prefix the button with an underscore (_) ''or'' use the formal 1st_button_action and 1st_button_reaction constructions where 1 is a button number and anything goes between it and _button_action or _button_reaction.
  
'''Note: as of 1.1.1.5 the addition of this section to the Ex.ini file will make game controllers not appear in the Options menu. This is by design. The following extensions are in addition to the button configuration extension pattern explained in the paragraph above.'''
+
'''Note: as of 1.1.1.5 the addition of this section to the Ex.ini file will make game controllers not appear in the in-game Options menu. This is by design. The following extensions are in addition to the button configuration extension pattern explained in the paragraph above.'''
  
====...pseudo_..._axis====
+
====..._analog_gaits====
{{Ex/inival|1.0.0.1|pseudo buttons|This extension assigns an action and reaction pseudo button pair to the first 3 analog stick axes. This extension comes in 6 forms. The part between pseudo_ and _axis can be one of x, y, or z, for the 1st, 2nd, and 3rd axis respectively. The part before pseduo_ can be absent to indicate the action, or positive direction, or an underscore (_) to indicate the reaction, or negative direction|button}}
+
{{Ex/inival|1.1.1.5|series of real numbers between 0 and 1|calibrates the sensitivity of the 8 axes. The part before _analog_gaits must be one of: axis, for the 1st, 2nd, and 3rd axes; axis2, for the 4th, 5th, and 6th axes; slider, for the the 7th axis; and slider2, for the 8th axis. Refer to [[#pseudo_..._axis]], [[#pseudo_..._axis2]], [[#pseudo_slider]], and [[#pseudo_slider2]] respectively.
  
====...pseudo_..._axis2====
+
This extension has 7 parts that must be separated in a way that is unambiguous. Any part not specified defaults to: 0.2, 0.333333, 0.5, 0.666666, 0.75, 0.875, and 0.95 respectively. This is a perfect linear mapping. A game controller may use a nonlinear mapping. In example, a [[DualShock]] controller is very biased; ''.2 .25 .3 .4 .55 .75 .95'' gives a greater sense of control over its sticks by flattening out the windows between the gaits.  
{{Ex/inival|1.0.0.1|pseudo buttons|This extension assigns an action and reaction pseudo button pair to the second 3 analog stick axes. This extension comes in 6 forms. The part between pseudo_ and _axis can be one of x, y, or z, for the 4st, 5th, and 6th axis respectively. The part before pseduo_ can be absent to indicate the action, or positive direction, or an underscore (_) to indicate the reaction, or negative direction|button}}
 
  
====...pseudo_slider====
+
Note that this is not a mechanism for calibrating imbalance or fighting in a stick. That is done with the [[Windows]] Control Panel calibration feature.  
{{Ex/inival|1.0.0.1|pseudo buttons|This extension assigns an action and reaction pseudo button pair to the 7th analog stick axes. This extension comes in 2 forms. The part before pseduo_ can be absent to indicate the action, or positive direction, or an underscore (_) to indicate the reaction, or negative direction|button}}
 
  
====...pseudo_slider2====
+
The first and last numbers in the series are unique. An input below the first number is ignored. This is important because sticks usually require a wide "dead zone" so not to appear cocked when left still. An input above the last number is taken to be full tilt. A calibrated stick should achieve full tilt. An expanded window lessens the need to force a stick to full tilt.
{{Ex/inival|1.0.0.1|pseudo buttons|This extension assigns an action and reaction pseudo button pair to the 8th analog stick axes. This extension comes in 2 forms. The part before pseduo_ can be absent to indicate the action, or positive direction, or an underscore (_) to indicate the reaction, or negative direction|button}}
+
 
 +
If a number is less than or equal to the number before it results are undefined. The option to merge gaits will be visited at a later date|real}}
  
 
====do_not_associate_pov_hat_diagonals====
 
====do_not_associate_pov_hat_diagonals====
Line 25: Line 25:
 
{{Ex/inival|1.0.0.1|MS-DOS wildcard expressions matching the device name of one of your plugged in game controllers|selects the game controller or other device to be configured by the enclosing [[#Joypad]] section.  
 
{{Ex/inival|1.0.0.1|MS-DOS wildcard expressions matching the device name of one of your plugged in game controllers|selects the game controller or other device to be configured by the enclosing [[#Joypad]] section.  
  
You can discover the name of your game controller either by looking for it in the [[Windows]] Control Panel, or looking for it inside of Sword of Moonlight game; note that whenever a Joypad section is present all controllers will appear to be unplugged in game.
+
You can discover the name of your game controller either by looking for it in the [[Windows]] Control Panel, or looking for it in-game while playing a Sword of Moonlight game; note that whenever a Joypad section is present all controllers will appear to be unplugged in game.
  
 
You can even change the name of your controller via the Control Panel, however if you unplug the controller the name will revert to the factory default. Doing so can be useful if you have two controllers of the same make and model. The default behavior is to use the next available controller.
 
You can even change the name of your controller via the Control Panel, however if you unplug the controller the name will revert to the factory default. Doing so can be useful if you have two controllers of the same make and model. The default behavior is to use the next available controller.
Line 36: Line 36:
 
{{Ex/inival|1.0.0.1|positive whole numbers|selects a point-of-view hat to be configured. A game controller may have multiple hats, but only one is able to be configured by [[#pseudo_pov_hat_...]]|whole}}
 
{{Ex/inival|1.0.0.1|positive whole numbers|selects a point-of-view hat to be configured. A game controller may have multiple hats, but only one is able to be configured by [[#pseudo_pov_hat_...]]|whole}}
  
====*pseudo_pov_hat_...====
+
====pseudo_..._axis====
 +
{{Ex/inival|1.0.0.1|pseudo buttons|assigns an action and reaction pseudo button pair to the first 3 analog stick axes. This extension comes in 6 forms. The part between pseudo_ and _axis can be one of x, y, or z, for the 1st, 2nd, and 3rd axis respectively|button}}
 +
 
 +
====pseudo_..._axis2====
 +
{{Ex/inival|1.0.0.1|pseudo buttons|assigns an action and reaction pseudo button pair to the second 3 analog stick axes. This extension comes in 6 forms. The part between pseudo_ and _axis can be one of x, y, or z, for the 4st, 5th, and 6th axis respectively|button}}
 +
 
 +
====pseudo_pov_hat_...====
 +
{{Ex/inival|1.0.0.1|pseudo buttons|assigns an action or reaction pseudo button to one of the major angles of the point-of-view hat. Refer to [[#pov_hat_to_use_for_play]].
 +
 
 +
The part after pseudo_pov_hat_ can be one of 0, 9000, 18000, 27000 for up, right, down, left respectively. And if [[#do_not_associate_pov_hat_diagonals]] 4500, 13500, 22500, 31500 for up right, bottom right, bottom left, up left respectively|button}}
 +
 
 +
====pseudo_slider====
 +
{{Ex/inival|1.0.0.1|pseudo buttons|assigns an action and reaction pseudo button pair to the 7th analog stick axes|button}}
 +
 
 +
====pseudo_slider2====
 +
{{Ex/inival|1.0.0.1|pseudo buttons|assigns an action and reaction pseudo button pair to the 8th analog stick axes|button}}
  
 
</onlyinclude>
 
</onlyinclude>

Latest revision as of 14:09, 11 May 2013


Extensions in this section take the form of a #pseudo button on the left of the equal (=) sign and a #keyboard macro on the right. Refer to #Action. This section is to be used by players to configure a game controller. An author may supply a modified default configuration database, however it is recommended that a stock configuration database be used.

A button in this section can be assigned a "reaction" so that if it represents a joystick axes for example, then when the axes is tilted in its negative direction the alternative action is taken. To assign a reaction prefix the button with an underscore (_) or use the formal 1st_button_action and 1st_button_reaction constructions where 1 is a button number and anything goes between it and _button_action or _button_reaction.

Note: as of 1.1.1.5 the addition of this section to the Ex.ini file will make game controllers not appear in the in-game Options menu. This is by design. The following extensions are in addition to the button configuration extension pattern explained in the paragraph above.

..._analog_gaits[edit]

Introduced around 1.1.1.5, this extension calibrates the sensitivity of the 8 axes. The part before _analog_gaits must be one of: axis, for the 1st, 2nd, and 3rd axes; axis2, for the 4th, 5th, and 6th axes; slider, for the the 7th axis; and slider2, for the 8th axis. Refer to #pseudo_..._axis, #pseudo_..._axis2, #pseudo_slider, and #pseudo_slider2 respectively.

This extension has 7 parts that must be separated in a way that is unambiguous. Any part not specified defaults to: 0.2, 0.333333, 0.5, 0.666666, 0.75, 0.875, and 0.95 respectively. This is a perfect linear mapping. A game controller may use a nonlinear mapping. In example, a DualShock controller is very biased; .2 .25 .3 .4 .55 .75 .95 gives a greater sense of control over its sticks by flattening out the windows between the gaits.

Note that this is not a mechanism for calibrating imbalance or fighting in a stick. That is done with the Windows Control Panel calibration feature.

The first and last numbers in the series are unique. An input below the first number is ignored. This is important because sticks usually require a wide "dead zone" so not to appear cocked when left still. An input above the last number is taken to be full tilt. A calibrated stick should achieve full tilt. An expanded window lessens the need to force a stick to full tilt.

If a number is less than or equal to the number before it results are undefined. The option to merge gaits will be visited at a later date. Values are limited to series of real numbers between 0 and 1.[#]

do_not_associate_pov_hat_diagonals[edit]

Introduced around 1.0.0.1, this extension in the affirmative disables the default behavior of treating a point-of-view hat as if it is an 8 direction-pad where pressing the diagonal directions of the pad is equivalent to simultaneously pressing the pseudo buttons assigned to the two non-diagonal directions on either side of the diagonal. Values are limited to binary statements.[#]

joypad_to_use_for_play[edit]

Introduced around 1.0.0.1, this extension selects the game controller or other device to be configured by the enclosing #Joypad section.

You can discover the name of your game controller either by looking for it in the Windows Control Panel, or looking for it in-game while playing a Sword of Moonlight game; note that whenever a Joypad section is present all controllers will appear to be unplugged in game.

You can even change the name of your controller via the Control Panel, however if you unplug the controller the name will revert to the factory default. Doing so can be useful if you have two controllers of the same make and model. The default behavior is to use the next available controller.

It is not necessary to specify the entire name. An asterisk (*) can be used in place of any portion of the name. A question mark (?) can take the place of a single character. Values are limited to MS-DOS wildcard expressions matching the device name of one of your plugged in game controllers.[#]

In the future it will be possible to specify a Windows GUID. However GUIDs are usually only useful to programs like Excellector.

pov_hat_to_use_for_play[edit]

Introduced around 1.0.0.1, this extension selects a point-of-view hat to be configured. A game controller may have multiple hats, but only one is able to be configured by #pseudo_pov_hat_.... Values are limited to positive whole numbers.[#]

pseudo_..._axis[edit]

Introduced around 1.0.0.1, this extension assigns an action and reaction pseudo button pair to the first 3 analog stick axes. This extension comes in 6 forms. The part between pseudo_ and _axis can be one of x, y, or z, for the 1st, 2nd, and 3rd axis respectively. Values are limited to pseudo buttons.[#]

pseudo_..._axis2[edit]

Introduced around 1.0.0.1, this extension assigns an action and reaction pseudo button pair to the second 3 analog stick axes. This extension comes in 6 forms. The part between pseudo_ and _axis can be one of x, y, or z, for the 4st, 5th, and 6th axis respectively. Values are limited to pseudo buttons.[#]

pseudo_pov_hat_...[edit]

Introduced around 1.0.0.1, this extension assigns an action or reaction pseudo button to one of the major angles of the point-of-view hat. Refer to #pov_hat_to_use_for_play.

The part after pseudo_pov_hat_ can be one of 0, 9000, 18000, 27000 for up, right, down, left respectively. And if #do_not_associate_pov_hat_diagonals 4500, 13500, 22500, 31500 for up right, bottom right, bottom left, up left respectively. Values are limited to pseudo buttons.[#]

pseudo_slider[edit]

Introduced around 1.0.0.1, this extension assigns an action and reaction pseudo button pair to the 7th analog stick axes. Values are limited to pseudo buttons.[#]

pseudo_slider2[edit]

Introduced around 1.0.0.1, this extension assigns an action and reaction pseudo button pair to the 8th analog stick axes. Values are limited to pseudo buttons.[#]