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

Implement the Keychain Plugin #700

Merged
merged 46 commits into from
May 16, 2022
Merged

Implement the Keychain Plugin #700

merged 46 commits into from
May 16, 2022

Conversation

OverloadedOrama
Copy link
Member

@OverloadedOrama OverloadedOrama commented May 10, 2022

Implements the Keychain Plugin, that aims to improve the shortcut system by letting the users re-map every input action bindings available in the application. Compared to the previous shortcut settings, this new system allows for empty input actions, multiple input events (shortcut bindings) for every action, of multiple input types, such as Keyboard, Mouse and Gamepad buttons. As a result, Pixelorama should be a lot more configurable and accessible, and also a lot more usable in devices such as the Steam Deck, although I do not own one to confirm this.

Screenshot from Pixelorama

Implements most parts of #588, except the addition of missing shortcuts.

Need to be taken care of before merging:

  • The first part of Keyboard and gamepad experience is limited Keychain#5 needs to be fixed.
  • Make the plugin text translatable. This does not include translatable action names.
  • Tool modifiers, such as the shortcuts used for 1:1 shape creation, centered origin, displacement etc that were made configurable in Added shortcuts #673, are currently not. They should be made configurable with different actions that are currently mapped to the same events, local/independent from each other.
  • Camera movement with arrow keys is configurable.

This PR does not come with any new input actions for elements that are missing, such as certain buttons and menu items that currently have no shortcuts. It also does not make stuff like moving the selection with arrow keys, and selecting multiple cels in the timeline configurable. These features are outside the scope of this PR and will be implemented at a later date.

Temporarily comment out some code regarding the configurable modifiers
A temporary change, they will be made configurable again, with different actions that are currently mapped to the same events, local/independent from each other.
@OverloadedOrama OverloadedOrama marked this pull request as draft May 10, 2022 22:38
This way, the input actions get updated from the start, instead of only at the ShortcutEdit scene.

WARNING, this currently causes crashes if the menu items have no shortcut binded to them.
To keep it the same as the upstream plugin
@OverloadedOrama OverloadedOrama marked this pull request as ready for review May 13, 2022 19:39
@OverloadedOrama
Copy link
Member Author

I made the tool modifier shortcuts configurable, so this PR is now on-par with the master branch feature-wise. I think the PR is ready, extra features can be added after it gets merged. Needs some more testing and I will most likely merge it soon.

This commit removes the ability to press Shift and Control+Shift to adjust the camera arrow key movement speed. Instead, the speed depends on the zoom level.

The right joypad analog stick is configured to move the camera by default.
@OverloadedOrama
Copy link
Member Author

I wasn't originally intending to add the ability for users to create their own shortcut profiles in this PR, but I thought it might be best to do this as soon as possible, because I changed the way shortcut profiles (previously called presets) work so that each profile has its own .tres Resource file and this would break the previous shortcut settings users may have set.

So now we have support for multiple custom shortcut profiles. 🥳 But I don't think I will add anything else to this PR now, it should be good to get merged.

@OverloadedOrama OverloadedOrama merged commit f509dfb into master May 16, 2022
@OverloadedOrama OverloadedOrama deleted the better-input-plugin branch May 16, 2022 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant