Use input method depending on chart keymode #705
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes issue: #678
Previously, it was only possible to play charts using the input method picked as music select input option. This PR introduces a change that will select appropriate input method depending on the type of chart being played.
Additionally, previous logic of using an incrementing int with modulo operation, to determine which song select input option was chosen was refactored into using an already existing enum with all possible options, what possibly makes adding another options in the future much easier.
I discovered that song select option also determines which keys can be bound in key binding screen, and that state only changed when user got back to song select screen and again to key configuration. I moved the part of code that was setting this input method to class responsible for key binding screen, and it changes instantly when user chooses a different song select input option. So overall, it didn't solve the underlying issue, (bindings are still limited by option chosen), but at least it's somewhat better as it changes in the binding screen. Once this PR is merged, I'll create a separate issue that explains this problem in detail and maybe try to work on it too.
Part of this PR just removes unneeded whitespace, but it's split in separate commits. Main commit that represents the main logic change can be viewed here: dc8d23e