You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Keyboard Control Sets. These can be added, deleted, enabled, disabled, reordered(?), and edited. Builtin control schemes cannot be deleted or edited, but can be disabled. When two control sets both use the same key, disable whichever scheme the user is not currently interacting with.
Melee Scene
When the melee scene is opened, neither player has a controller. The first controller to generate an action will be assigned to player 1. The second controller to emit an action will be assigned to player 2, when in 2-player mode.
Since keyboard controllers have disparate keys bound, the first bound keypress unambiguously determines what keyboard layout is being used. After the melee scene, if only one player is using the keyboard, we could opt to give them a special "all the keyboard" keyboard controller, which would let them use all of the enabled keyboard control sets at once.
Problem & Solution: "I use arrow keys and should always be player 1!"
Buffer the first controller's action for up to xyz milliseconds or until the second controller's action also arrives.
Now that we have two controllers (with actions buffered), compare their "priority"-- that is, where they are on the list of keyboard control sets (joysticks being lowest priority). Assign player 1 the higher priority controller, or whichever pressed the button first in case of a priority tie (two joysticks). Play back the buffered actions and hope the players don't notice the delay.
Same model works for Joysticks, too
If we don't want remapping support for joysticks, skip this section and just know that the first gamepad action will identify what gamepad the player is holding.
Gamepad Control Sets. Similar to keyboard control sets, but with the concept of "default" instead of enabled/disabled. Up to one gamepad control set may be marked as default. Note that these are mappings from SDL's unified GameController to our actions, and not mappings from SDL's raw Joystick interface to actions.
With joystick controllers, the first SDL button press event identifies what GameController the player is holding, but we need to find out what gamepad control set they're using. If the "default" mark has been applied to a control set, give them those controls. Otherwise, give them a list of gamepad control sets to choose from.
The text was updated successfully, but these errors were encountered:
The control scheme for me is unergonomic; I could see the game benefiting from an option that adds a more ergonomic control scheme. Arrow keys for movement, Z for punch, X for kick and C for special moves.
Main Menu Scene :: Input Configuration
Keyboard Control Sets. These can be added, deleted, enabled, disabled, reordered(?), and edited. Builtin control schemes cannot be deleted or edited, but can be disabled. When two control sets both use the same key, disable whichever scheme the user is not currently interacting with.
Melee Scene
When the melee scene is opened, neither player has a controller. The first controller to generate an action will be assigned to player 1. The second controller to emit an action will be assigned to player 2, when in 2-player mode.
Since keyboard controllers have disparate keys bound, the first bound keypress unambiguously determines what keyboard layout is being used. After the melee scene, if only one player is using the keyboard, we could opt to give them a special "all the keyboard" keyboard controller, which would let them use all of the enabled keyboard control sets at once.
Problem & Solution: "I use arrow keys and should always be player 1!"
Buffer the first controller's action for up to xyz milliseconds or until the second controller's action also arrives. Now that we have two controllers (with actions buffered), compare their "priority"-- that is, where they are on the list of keyboard control sets (joysticks being lowest priority). Assign player 1 the higher priority controller, or whichever pressed the button first in case of a priority tie (two joysticks). Play back the buffered actions and hope the players don't notice the delay.Same model works for Joysticks, too
If we don't want remapping support for joysticks, skip this section and just know that the first gamepad action will identify what gamepad the player is holding.Gamepad Control Sets. Similar to keyboard control sets, but with the concept of "default" instead of enabled/disabled. Up to one gamepad control set may be marked as default. Note that these are mappings from SDL's unified GameController to our actions, and not mappings from SDL's raw Joystick interface to actions.
With joystick controllers, the first SDL button press event identifies what GameController the player is holding, but we need to find out what gamepad control set they're using. If the "default" mark has been applied to a control set, give them those controls. Otherwise, give them a list of gamepad control sets to choose from.
The text was updated successfully, but these errors were encountered: