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 "locally-constrained" shortcuts where applicable #733

Closed
windymilla opened this issue Feb 5, 2025 · 8 comments · Fixed by #756
Closed

Add "locally-constrained" shortcuts where applicable #733

windymilla opened this issue Feb 5, 2025 · 8 comments · Fixed by #756
Labels
core feature Required for basic PPing

Comments

@windymilla
Copy link
Collaborator

windymilla commented Feb 5, 2025

Some tools, such as Spell Checker, could have shortcuts that are restricted to only working in the Spelling dialog. An example would be for adding the current word to the project dictionary.

Such shortcuts would not affect the wider program, so could safely be added now, even before the wider questions around shortcuts have been resolved. This would aid accessibility for some users.

@windymilla windymilla added the core feature Required for basic PPing label Feb 5, 2025
@windymilla
Copy link
Collaborator Author

See Page Separator Fixup for an example, although they use plain keystrokes, rather than Ctrl or Cmd keystrokes. Should they be reconsidered, e.g. Cmd/Ctrl+D instead of D to delete a page separator? That might be more consistent with other dialogs where it might not be appropriate to have plain keystrokes because there are also fields where the user needs to be able to type.

@windymilla
Copy link
Collaborator Author

In fact, Cmd/Ctrl+D will work in the Page Sep Fixup, so perhaps best to change docs to say to use that, but actually continue to support plain keystrokes that GG1 users are familiar with.

@srjfoo
Copy link
Member

srjfoo commented Feb 11, 2025

In fact, Cmd/Ctrl+D will work in the Page Sep Fixup, so perhaps best to change docs to say to use that, but actually continue to support plain keystrokes that GG1 users are familiar with.

By golly, it does work with the Cmd key! I think that it's more accessible to continue to support the plain keystrokes, where we can. I have reservations about only documenting it using Cmd/Ctrl, though. If it isn't documented, how will those who really need it be aware of it?

@windymilla
Copy link
Collaborator Author

In fact, Cmd/Ctrl+D will work in the Page Sep Fixup, so perhaps best to change docs to say to use that, but actually continue to support plain keystrokes that GG1 users are familiar with.

By golly, it does work with the Cmd key! I think that it's more accessible to continue to support the plain keystrokes, where we can. I have reservations about only documenting it using Cmd/Ctrl, though. If it isn't documented, how will those who really need it be aware of it?

Just typing plain keystrokes is not appropriate for any dialog that has a text field in it, such as spelling (where there is a field for the threshold) or Search (search & replace fields) and no doubt some others. That's why shortcuts tend not to be plain keystrokes, and use things like Ctrl/Cmd/Option/Alt/Fn/etc. If GG2 were a brand new program with no history, I don't think there would be any question - no shortcuts would be plain keystrokes. Given its history though, there is probably no harm in supporting the keystrokes that work in GG1's Page Separator dialog. Maybe the manual could say "Cmd/Ctrl D (or just plain D for compatibility with GG1"

@srjfoo
Copy link
Member

srjfoo commented Feb 11, 2025

Just typing plain keystrokes is not appropriate for any dialog that has a text field in it, such as spelling (where there is a field for the threshold) or Search (search & replace fields) and no doubt some others. That's why shortcuts tend not to be plain keystrokes, and use things like Ctrl/Cmd/Option/Alt/Fn/etc. ...

Understood that no dialog that actually needs keyboard input should have single key shortcuts. But you've kept the single key navigation of the menus -- or am I inappropriately seeing similarity there?

... If GG2 were a brand new program with no history, I don't think there would be any question - no shortcuts would be plain keystrokes. ...

Very true. Quite unlikely.

... Given its history though, there is probably no harm in supporting the keystrokes that work in GG1's Page Separator dialog. Maybe the manual could say "Cmd/Ctrl D (or just plain D for compatibility with GG1"

It's always a balance, isn't it, between modernization and not annoying the **** out of existing users?

@windymilla
Copy link
Collaborator Author

Understood that no dialog that actually needs keyboard input should have single key shortcuts. But you've kept the single key navigation of the menus -- or am I inappropriately seeing similarity there?

You need to do Alt+keystroke to begin key navigation of menus, and then the focus is locked to the menus until you either choose and option or escape out of it. So they are more like typing in text field - the keystrokes can't stray out to another widget - they are locked to the purpose you're using them for.

@srjfoo
Copy link
Member

srjfoo commented Feb 11, 2025

Understood that no dialog that actually needs keyboard input should have single key shortcuts. But you've kept the single key navigation of the menus -- or am I inappropriately seeing similarity there?

You need to do Alt+keystroke to begin key navigation of menus, and then the focus is locked to the menus until you either choose and option or escape out of it. So they are more like typing in text field - the keystrokes can't stray out to another widget - they are locked to the purpose you're using them for.

And so, within Footnote fixup, are single keystrokes locked to the purpose they're being used for. I definitely agree that single keystrokes are inappropriate in a dialog that takes typed user input, and that by extension, single keystrokes within any similar looking dialog may be overall confusing.

@windymilla
Copy link
Collaborator Author

The difference I'm thinking of but not explaining well is the "grabbing" of focus that happens with menus - the same as happens on Windows with file selection dialogs. Once it grabs focus, you have to complete or abandon that operation. The equivalent for footnote dialog would be if you clicked in the main text, the footnote dialog would vanish, which doesn't happen of course. It's called focus grabbing in some window/code systems. And dialogs that do that are sometimes called "modal" dialogs because you're in that mode. Footnote fixup is a non-modal dialog.
Anyway, sounds like we're both OK with generally using Ctrl/Cmd shortcuts, but permitting plain keys for Page Seps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core feature Required for basic PPing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants