This shows you the differences between two versions of the page.
— | guide:bindings_1.8.6_and_1.9_betas [2012-12-19 09:40] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | {{notice|Obsolete|See [[bindings]] for the current behavior.}} | ||
+ | |||
+ | [[doomsday]] uses the concept of event bindings to allow player input controls to be configured freely, to the user's control preferences. The same scheme is used whether you are using keyboard, mouse, joystick or any other (or combination) of input devices. | ||
+ | |||
+ | {{note|Some input devices have additional settings which can be used to configure them in-game (eg sensitivity with mouse/ | ||
+ | |||
+ | |||
+ | ====== Events ====== | ||
+ | |||
+ | |||
+ | Events are really " | ||
+ | |||
+ | Events can be bound to console commands (and aliases) or to special "game actions" | ||
+ | |||
+ | {{note|A game action is a game-specific control (registered by the game at runtime) used to typically control things such as player movement controls which must be responded to quickly (these events are tunneled directly to the game's player control [[responder]]).}} | ||
+ | |||
+ | Binding Classes were introduced in Doomsday1.9.0-beta3 to allow multiple commands/ | ||
+ | |||
+ | |||
+ | ====== Creating event bindings ====== | ||
+ | |||
+ | |||
+ | Binding events to commands/ | ||
+ | |||
+ | Most games that run under Doomsday also offer a graphical interface for configuring the in-game controls. It is recommended that new or novice users should use this interface instead of setting up the controls " | ||
+ | |||
+ | Here follows a list of the console commands you'll use when setting up event bindings (click the links for information on how to use each command): | ||
+ | |||
+ | * [[console_command_reference# | ||
+ | * [[console_command_reference# | ||
+ | * [[console_command_reference# | ||
+ | * [[console_command_reference# | ||
+ | * [[console_command_reference# | ||
+ | |||
+ | |||
+ | ====== Binding classes ====== | ||
+ | |||
+ | |||
+ | Binding classes allow multiple commands/ | ||
+ | |||
+ | Each game that runs under Doomsday will register any binding classes it plans to use on startup, in addition to those created by Doomsday (see the documentation for the game for details of the binding classes it uses). | ||
+ | |||
+ | Currently Doomsday automatically uses the following binding classes for all games: | ||
+ | * **game**: the default binding class. | ||
+ | * **biaseditor** | ||
+ | |||
+ | {{Note|Doomsday also provides three additional binding classes which users can manage themselves via the [[console_command_reference# | ||
+ | |||
+ | Any time you must specify a binding class (eg when using the " | ||
+ | |||
+ | So for example, to create an event binding which creates a new bias light source when you press F5 you would use the following command: | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | Notice that the bind class " | ||
+ | |||
+ | |||
+ | ===== When are they active? ===== | ||
+ | |||
+ | |||
+ | Normally this is something you don't need to think about as a user. | ||
+ | |||
+ | Typically, it is the game's responsibilty to manage the state of binding classes. For example, if the game creates a binding class for an in-game map (such as the automap in jDoom) it follows that the game will make sure this binding class is only active when required. | ||
+ | |||
+ | {{notice|Tip|The [[console_command_reference# | ||
+ | |||
+ | However, if you are using the additional binding classes for custom functionality* you will need to manage the custom binding classes manually, via use of the [[console_command_reference# | ||
+ | |||
+ | |||
+ | ===== Binding Class Stack ===== | ||
+ | |||
+ | |||
+ | Normally this is something you don't need to think about as a user. | ||
+ | |||
+ | Typically, it is the responsibility of the game to make sure it registers the binding classes it uses in an appropriate order. | ||
+ | |||
+ | {{note|However, | ||
+ | |||
+ | Binding classes are arranged into a stack internally by the engine. The binding command/ | ||
+ | |||
+ | For example, player presses the ' | ||
+ | If both of the built-in binding classes " | ||
+ | bind game +1 +weapon1 | ||
+ | bind biaseditor +1 blhide | ||
+ | The only time that pressing the ' | ||
+ | |||
+ | |||
+ | ====== Footnotes ====== | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | |||