Merged
Conversation
Owner
Author
|
This is largely working. There's still some non-ideal behavior when trying to control the analog stick from keyboard and a gamepad simultaneously which I'll try to sort out before merge, but other than that, this is ready for review now I think. |
3558139 to
778d9ac
Compare
Owner
Author
|
I tried prototyping multi-mapping on top of this, and it comes out pretty well and quite flexible (including more than 2-inputs combos). Just a little polish left here then I think we can get it in. |
Owner
Author
|
Alright, polish done. Works fine now, and solves an old issue when using both gamepad and keyboard together. |
unknownbrackets
approved these changes
Apr 1, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This will make it easier to implement multi-input combo mappings as in #14793 . This PR doesn't implement it though, only lays the ground work.
Basically, we flip the entire mapping algorithm on its head - instead of taking an input all the way through, we recompute the related outputs from stored inputs on every input change. This will make combos very easy to implement.
Also, analog virtual keys are now more general and handled by the mapper (including conversion of signed axis to unsigned, as required by PS4 controller triggers on DInput), so VIRTKEY_SPEED_ANALOG is now
muchsimpler.