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

Consider adding keyboard shortcuts reference to help menu #2083

Open
banchan86 opened this issue Dec 18, 2024 · 4 comments
Open

Consider adding keyboard shortcuts reference to help menu #2083

banchan86 opened this issue Dec 18, 2024 · 4 comments
Labels
dear-imgui Issues that would be a good candidate for handling with the Dear ImGui transition

Comments

@banchan86
Copy link

banchan86 commented Dec 18, 2024

In addition to the context menu and hover tooltips already implemented in Bonsai, one way to improve the discoverability of keyboard shortcuts within the editor could be to include a simple table reference in the help menu. This is a common pattern used by applications such as Visual Studio Code. Technically, users can access this information within the editor through the View Help button, which links to the Workflow Editor article (some improvements could be made there: bonsai-rx/docs#108). However, users may not realize this section exists.

@bruno-f-cruz
Copy link
Contributor

One thing to consider here is how to generalize this to 3rd party libraries or even libraries not found in the core. This is especially relevant for visualizers as the UI logic is implemented at the level of the C# class itself.

@PathogenDavid
Copy link
Member

This is a common pattern used by applications such as Visual Studio Code.

For anyone else who hadn't seen this before, this is what this brings up.

I'd actually argue this isn't a very common pattern in Windows applications. Generally keyboard shortcuts are discovered via context menu hints, which Bonsai does provide:

Screenshot of Bonsai context menu

I think the main issue is probably ones that are overly hidden (most notably all the click-drag modifiers in the workflow editor.) I think it might be better to identify these and figure out a way to surface them in a more discoverable manner.


That being said, I do think there's some value in surfacing keyboard shortcuts as a big table of "Look at what you can do!" for budding power users who want to learn more. So here's some more uncommon patterns that I think are interesting:

There used to be a somewhat popular app for macOS called CheatSheet that showed an overlay of active hotkeys if you held down ⌘ Command for a few seconds. It's similar in spirit to that VSCode PDF, except it's context sensitive (IE: it shows hotkeys which would currently work), which means it'd work for unusual shortcuts provided by custom visualizers:

Screenshot of CheatSheet's overlay for Visual Studio Code

(It's worth emphasizing that this worked in any app, not just VSCode. The nicest quality screenshot I found just happened to be VSCode. I believe it worked by enumerating everything in the macOS main menu bar, which is well-adopted by macOS apps since it's a central part of the system UI experience and users expect apps to use it exhaustively. Unfortunately Windows was never as principled about this sort of thing.)

Microsoft PowerToys includes a similar feature but only for Windows system-wide shortcuts:

Screenshot of the PowerToys Shortcut Guide

Another interesting example to look towards is the Visual Studio Code Command Palette, which can be summoned with Ctrl+Shift+P or just F1:

Screenshot of Visual Studio Code Command Palette

I've always quite liked this for discovering both functionality and hotkeys. It's also a really nice way to access rarely-used functionality without moving your hand to the mouse.

@banchan86
Copy link
Author

@bruno-f-cruz do you mean that 3rd party libraries can actually define their own keyboard shortcuts? Are there existing examples of this (just curious).

@PathogenDavid you are right it's not that common, I just recall seeing it too in other applications like Evernote (RIP). I love the idea of a keyboard shortcut to call up the keyboard shortcut cheat sheet!

@PathogenDavid
Copy link
Member

PathogenDavid commented Dec 20, 2024

do you mean that 3rd party libraries can actually define their own keyboard shortcuts?

There's definitely nothing currently stopping them, I'm also curious if anyone is actively doing so too.


(To clarify the dear-imgui label: That really only applies to the more ambitious implementations of this feature. We could definitely have a shortcut to a page on the documentation website similar to VSCode in the short term.)

@PathogenDavid PathogenDavid added the dear-imgui Issues that would be a good candidate for handling with the Dear ImGui transition label Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dear-imgui Issues that would be a good candidate for handling with the Dear ImGui transition
Projects
None yet
Development

No branches or pull requests

3 participants