Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Input Mapping/Remapping #28

Closed
3 tasks done
odecay opened this issue Jun 29, 2022 · 10 comments
Closed
3 tasks done

Input Mapping/Remapping #28

odecay opened this issue Jun 29, 2022 · 10 comments
Assignees
Labels
kind:tracking Tracking issue for other tasks scope:medium Intermediate size task

Comments

@odecay
Copy link
Collaborator

odecay commented Jun 29, 2022

Support for mapping of inputs to keyboard/controller buttons via a menu/saved + loaded from a settings asset.

@zicklag
Copy link
Member

zicklag commented Jun 29, 2022

loaded from a settings asset.

Just an implementation note, we probably want the default mappings stored in an asset, and then have a thin storage layer over Filesystem on native and browser local storage on web that we use for when a user changes the mappings and their data needs to be stored.

That storage layer can be used for storing player progress like what level they're on and similar stuff.

@odecay
Copy link
Collaborator Author

odecay commented Jun 29, 2022

I don't know much about browser local storage but I was thinking it might need special attention, glad to hear you already have thoughts about it. Thin storage layer sounds useful and progress saving also sounds like something we should have.

@zicklag
Copy link
Member

zicklag commented Jul 4, 2022

I think this is the next thing I should work on after #11 get's finished up with #50, can you assign it to me?

My plan so far is:

moved to issue description

@zicklag
Copy link
Member

zicklag commented Jul 5, 2022

It looks like this input plugin is pretty well designed, so I'll try that out and see how it goes: https://github.com/Leafwing-Studios/leafwing-input-manager.

@odecay
Copy link
Collaborator Author

odecay commented Jul 5, 2022

Yeah I was going to suggest Leafwing input manager, It seems like that will take care of the first part of defining actionlike enums and mapping controls. 👍

@zicklag
Copy link
Member

zicklag commented Jul 5, 2022

@odecay I ran into a Bevy problem detecting DPad inputs, and I opened a PR to fix it, but obviously if that PR is going to be merged it will be into Bevy 0.8.0-dev, so we can't just use it without switching to Bevy from git.

I am going to be working on getting analog sticks working with leafwing-input-manager, so that could save us from needing DPad support for now, though.

Either way that brought up a question, what's our "policy" for crate dependencies right now. Are we fine using dependencies from git if we have to? For instance, if I add support for analog sticks in leafwing-input and they aren't ready to do a crates.io release yet, are we good just continuing with a git dependency?

@odecay
Copy link
Collaborator Author

odecay commented Jul 5, 2022

I feel like it should be fine to use git dependencies especially if it is blocking us from supporting something, with the goal to move back to release deps when the newer version is released.

@erlend-sh erlend-sh added this to the v0.0.3 milestone Jul 8, 2022
@zicklag
Copy link
Member

zicklag commented Jul 13, 2022

Just got a storage abstraction working in the browser, now I just need to implement it for native, which should be easy.

@zicklag
Copy link
Member

zicklag commented Jul 13, 2022

Storage abstraction is ready! #79

Now I'll work on the settings menu and allowing you to configure input mappings.

@zicklag zicklag added audience:user scope:medium Intermediate size task kind:tracking Tracking issue for other tasks and removed kind:enhancement labels Jul 14, 2022
@zicklag zicklag removed this from the v0.0.3 milestone Jul 17, 2022
@odecay
Copy link
Collaborator Author

odecay commented Aug 12, 2022

This is done, anything else on top of what we have should be considered as improvements.

@odecay odecay closed this as completed Aug 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:tracking Tracking issue for other tasks scope:medium Intermediate size task
Projects
None yet
Development

No branches or pull requests

3 participants