button extensions

From Wiki

Sword of Moonlight Extension Library

Revision as of 04:47, 23 February 2018 by Holy (talk | contribs) (XInput 9 & 10 notes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


This section is available as of 1.1.1.6.

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. This section can be used to assign actions to the buttons of the game controller when not using #Joypad sections. Game authors may use this section to prioritize functions provided by extensions such as #do_pause and #do_escape, or just add arbitrary buttons to assist in testing their games. Players may use it to manually set their buttons and or put buttons 9 through 16 of their game controller to use.

More actions can be assigned to 0, 9000, 18000, and 27000, corresponding to the controller's first point-of-view hat. Refer to #pseudo_pov_hat_....

Note: that buttons 1 through 8 are configured by Sword of Moonlight in game. If you assign actions to them the in-game configuration for that button will be ignored. Authors should not do this on behalf of players because PC game controllers are all very different.

Pause & Select by default

Some time ago buttons 9 and 10 were assigned to PAUSE and ESCAPE respectively. They must be reassigned in order to change this behavior. PAUSE pauses a game. ESCAPE changes the analog mode, or escapes out of menus. 10 is a "select" button on many controllers. This makes that button select the analog mode, making it easier for players to discover its functionality. Refer to #do_pause and #do_escape.

XInput note for Xbox devices

Xbox style controllers have analog trigger buttons that need to be moved into DirectInput positions 7 and 8 so they are among the buttons that are configurable in the classical game menu. Unfortunately this means buttons 7 & 8 must be moved up by two, to the 9 & 10 positions; and so any higher buttons must also be moved up. As of 1.2.1.14 only 4 buttons are moved, so to cover PlayStation's L3 and R3 buttons. More buttons are not envisioned.