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

Add a Hotkey Manager #4946

Open
BroJac5246 opened this issue Aug 3, 2022 · 3 comments
Open

Add a Hotkey Manager #4946

BroJac5246 opened this issue Aug 3, 2022 · 3 comments
Labels
scope: addon Related to one or multiple addons scope: core Related to the core script/extension workings scope: webpages Related to the web pages (settings page, pop-up, etc) type: enhancement New feature for the project

Comments

@BroJac5246
Copy link
Contributor

BroJac5246 commented Aug 3, 2022

The Problem

Scratch Addons now has a ton of addons that use hotkeys/keyboard shortcuts/etc. This is great! You can perform tons of neat little actions. However, this comes with two major problems:

  1. There are now way too many hotkeys to keep track of– and when you throw in some of Scratch's lesser known ones, it can be very confusing for both users and developers.
  2. The wide range of devices & browsers can cause compatibility issues. See the list of related issues below.

In #4662 (also linked below), WorldLanguages and I came to the conclusion that a hotkey section in the settings would be the best solution. However, the specifics need to be discussed, which is part of why I'm opening this.

Here's what we need to consider:

  1. Where would the hotkeys settings show up? In both the full screen settings and the popup, or just the full screen settings? Because of how important this will be, I think we should go with the former, but that's just my opinion.
  2. How will the new approach to hotkeys be? This is a HUGE question. We already know there will be a dedicated manager, but how will this work? How will hotkeys be managed? Will addons specify in their addon.json that they would like to request a hotkey(s)?
  3. Will the hotkey manager allow users to change the hotkeys included in vanilla scratch? This comment by WL demonstrates how this could be useful. (Read my comment after that one as well.) This could be complicated, though, which we need to consider.
  4. Will different hotkeys be suggested, or even allowed, based on OS, to help users fix compatibility issues before they even arise?
  5. Will additional hotkeys be introduced when this is implemented, such as those recommended in Keyboard Shortcuts for navigating the Scratch website #4725
  6. What will happen to addons that use hotkeys? Will these be hidden from users? What if they need to have additional settings?
  7. How will migration work? This was somewhat mentioned in Points 2 and 6, but what will happen to existing addons? Will they need to be modified for the new approach? Will we have to add a hotkey option to the addon manifest (addon.json)? How will users' settings be ported?
  8. Not a big problem, but we also might need to remember to implement credits into the hotkey manager, depending on the approach we take.

Describe alternatives you've considered

Not implement a hotkey manager and let users suffer?

Issues that Demonstrate the Need for this

Issues that demonstrate compatibility issues:
#4466 and #4662

Issues that suggest keyboard shortcuts:
#4725 and #4888 (Plus probably a ton more that I'm too lazy to find)

@BroJac5246 BroJac5246 added status: needs triage Needs triaging by putting relevant labels type: enhancement New feature for the project labels Aug 3, 2022
@mxmou mxmou added scope: webpages Related to the web pages (settings page, pop-up, etc) and removed status: needs triage Needs triaging by putting relevant labels labels Aug 3, 2022
@WorldLanguages
Copy link
Member

Thanks for merging the main points of discussion into this single issue!

@RedGuy12
Copy link
Contributor

RedGuy12 commented Aug 8, 2022

Related: ScratchAddons/manifest-schema#24

@WorldLanguages WorldLanguages added scope: addon Related to one or multiple addons scope: core Related to the core script/extension workings labels Aug 8, 2022
@WorldLanguages
Copy link
Member

Discussion is happening on a different issue (#5145), but the list of points to consider is still relevant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: addon Related to one or multiple addons scope: core Related to the core script/extension workings scope: webpages Related to the web pages (settings page, pop-up, etc) type: enhancement New feature for the project
Projects
None yet
Development

No branches or pull requests

4 participants