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

Fix: keyboard shortcuts #1259

Closed
4 tasks done
abose opened this issue Dec 30, 2023 · 1 comment
Closed
4 tasks done

Fix: keyboard shortcuts #1259

abose opened this issue Dec 30, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@abose
Copy link
Member

abose commented Dec 30, 2023

Describe the bug

  • Change all keyboard shortcuts that start with a alt-key and ctrl-alt-key and alt-shift-key as those are os reserved in different platforms. - part1: Shortcut refactor and fix UX issues with keyboard shortcuts #1257

  • Evaluate if we need to enable the vscode style ctrl-k modifier key to give one more layer of keyboard shorcuts. - Not a priority right now as we added ui navigation overlay workflow with double ctrl-key click.

  • Create a keyboard shorctcut best practices markdown in docs folder in phcode with the keyboard guideleines and other info as defined below. -

  • Fix code folding shortcuts, as they are mangled with ctrl-number and other inconsitencies with phcode shortcuts.

  • Add a vscode extension with vscode key bindings. This may not be a priority for beta in which case add a differentt issue and close this on if all other issues are fixed in this issue. - tracked seperately here: Support for VScode keybinding #168 . For the time being inline shortcut edit feature planned right within the menu should help users set shortcuts eazily.

Reproduction

No response

Expected behavior

Rules to follow when figuring out default shortcuts:

  1. Default shortcuts should only be applied for frequently used workflows. If it's rarely used like
    opening a project, etc., we should not allocate a shortcut. Ideally, assign a shortcut if the user is likely
    to use it several times in a five-minute window.
  2. In Windows, shortcuts cannot start with a Ctrl-Alt-<something> as it's reserved for special OS functionalities. - we have special altgr functionality handling in windows for brackets. So ctrl-alt shortcuts are allowed in all platforms.
  3. In macOS, shortcuts can't start with a single Alt-key combo as it's used for unicode typing in Eastern European languages.
  4. Maintain Consistency Across Browser and Desktop Applications: Shortcuts should offer a uniform experience
    in both browser-based and desktop environments, even when accounting for platform-specific restrictions.
    For instance, 'Ctrl-N' is used for creating a new file in the desktop, but this shortcut
    is reserved by the browser, an alternative like 'Ctrl-1' can was used in the browser. To ensure
    consistency, the same 'Ctrl-1' shortcut was also be enabled for creating a new file in the desktop
    app along with Ctrl-N. This approach helps users experience predictable across different platforms.

Additional considerations:
4. Avoid conflicts with standard OS shortcuts: Ensure that the chosen shortcuts do not conflict with common
operating system shortcuts. For instance, shortcuts like Alt-F4 in Windows or Cmd-Q in macOS are universally
used for closing applications and should not be overridden.
6. Consistency with similar applications: Where possible, align shortcuts with those used in similar applications
to reduce the learning curve for new users. For example, using Ctrl/Cmd + S for 'save' is a widely recognized standard.
7. Avoid overloading single keys with multiple modifiers: Combining too many modifier keys (like Ctrl-Shift-Alt-Cmd-K)
can make shortcuts hard to remember and physically challenging to perform.
8. Localization and Internationalization: Be aware of how shortcuts might interact with different keyboard layouts
and languages. For example, what is convenient on a QWERTY keyboard might not be on AZERTY or QWERTZ.
9. User Customization: Allow users to customize or reassign shortcuts, as personal preferences and workflows vary.
This also helps users resolve any unforeseen conflicts with other software they use.
10. Document Shortcuts: See keyboard.json for most shortcuts. Other shortcuts may be set programmatically
by the phoenix extensions.

OS, Browser and Phoenix versions

all

logs or debug stack trace if any

No response

Additional context

No response

@abose
Copy link
Member Author

abose commented Feb 6, 2024

Marking as done.

@abose abose closed this as completed Feb 6, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in Native Phoenix Builds Beta Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Development

No branches or pull requests

1 participant