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

Keyboard shortcut documentation leaves out a lot of shortcuts #1192

Open
SRNissen opened this issue Oct 22, 2023 · 0 comments
Open

Keyboard shortcut documentation leaves out a lot of shortcuts #1192

SRNissen opened this issue Oct 22, 2023 · 0 comments

Comments

@SRNissen
Copy link

Begin "Issue"

Shortcut documentation is incomplete

---

Begin "To Reproduce"

  • Read shortcut documentation on system76.com[1]
  • Write software that respects all of those shortcuts and instead uses other shortcuts like [Ctrl]+[Shift]+[E] to open an object explorer dialog, and [Alt]+[Esc] to close dialogs.
  • Compile and run your software on Pop!_Os.
  • Press [Ctrl]+[Shift]+[E] followed by + [Alt]+[Esc]

End "To Reproduce"

---

Begin "Expected Result"

The software opens a dialog and closes it again

End "Expected Result"

---

Begin "Actual Result"

IBUS intercepts [Ctrl]+[Shift]+[E] for Emoji entry

Pop!_OS intercepts [Alt]+[Esc] for window shifting.

End "Actual Result"

---

Begin "Possible fix"

Writing distro-compatible software would be a lot easier if there was a list of the shortcuts already claimed by the distro, by first-party services, and by third-party services that are bundled with the distro.

If you read the support article[1], you are missing a number of shortcuts you should not use, e.g. [Alt]+[Esc] is not mentioned.

If you then proceed to install the distro and read through the Keyboard Shortcuts dialog in Settings, you will not learn that [ctrl]+[shift]+[e/u] are claimed by the bundled IBUS component for emoji and unicode purposes.

It is obviously impossible to deconflict every shortcut once the user starts installing third party components outside of those bundled with the distro, but it should be possible to know what keyboard shortcuts are available to third parties if they are the only third party non-bundled component that has been installed.

This issue is related to an issue I filed on VSCode[2], specifically about [ctrl]+[shift]+[e] which the VSCode linux shortcut layout[3] uses to interact with the project explorer pane.

Which is maybe their own mistake! Maybe it's Microsoft that should have done better due diligence, but I sure didn't know about this either.

End "Possible Fix"

Or however you want to handle this.

---

End "Issue"

---

Begin "Opinions"

I have to write this, feel free to disregard it. (Not the issue. The issue above is real. Don't disregard the issue. Feel free to disregard my opinion)

My own personal workaround has been to re-key the IBUS shortcuts to [super]+[shift]+[e/u], but it would be fantastic if a systemic solution could be found.

It would probably be a tremendous workload, but it would be great if the distro committed to reserving some OS key (Super?) and bundling no components that intercept any shortcut unless that shortcut starts with the OS key

Either by

  • not providing those components along with the OS or
  • by leaving them disabled until the user actively enables them and therefore can be assumed to know they exist or
  • Only bundling them with the OS in a version re-written to use the OS key.

What an incredible amount of work that would be! The coordination required! The friction. The complaints from people who have gotten used to (insert shortcut I don't know about). [Alt]-[F2] might as well be considered sacred and yet it would have to be [Super]+[F2] under this scheme. Well, I guess [Alt]+[F2] can stay - it is standardized across distros so all software written for Linux should probably be aware of it and not use that shortcut. But still! What a tremendous and thankless task to lift.

But it would be better.

End "Opinions"

---

Begin "References"

End "References"

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

No branches or pull requests

1 participant