microsoft / microsoft/pxt-microbit

Ability to remap keyboard shortcuts

Open
#6,171 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

keyboard navigation
Dominant language
TypeScript
Stars
804
Forks
721
Avg merge
2d 9h
Merged PRs (30d)
2

Description

Is your feature request related to a problem? Please describe.
Background: https://github.com/microsoft/pxt/issues/10464 is upgrading to the latest Blockly keyboard navigation and #6152 will add a keyboard controls documentation in the app.

For some users the default keyboard shortcuts are not practical. One common scenario is potential conflicts with screenreader keyboard shortcuts, which are often customised. For this reason to improve accessibility we should allow the user to change the keys.

This should apply to:

  • Blockly shortcut registry keyboard shortcuts
  • Global shortcuts, e.g. those proposed on #6151
  • Potentially Monaco/JavaScript Editor, though this has an overwhelming number of shortcuts and commands that could potentially have shortcuts, so it might be best tackled separately or with a UI approach that allows blocks-focussed users to easily ignore them.

Describe the solution you'd like
There's lots of examples of this type of UI in similar apps.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Blockly shortcut registry and the global shortcuts proposed in #6151, using the keyboard controls documentation from #6152 and the upgrade context in microsoft/pxt#10464. Define the scope before implementation: configurable Blockly and global shortcuts, with Monaco/JavaScript Editor shortcuts either excluded or handled through a separate UI approach.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
accessibility, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.