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

bug(mac): standardize interaction between OSK and physical keyboard modifier keys #12584

Closed
sgschantz opened this issue Oct 25, 2024 · 0 comments · Fixed by #12836
Closed

bug(mac): standardize interaction between OSK and physical keyboard modifier keys #12584

sgschantz opened this issue Oct 25, 2024 · 0 comments · Fixed by #12836
Assignees
Milestone

Comments

@sgschantz
Copy link
Contributor

sgschantz commented Oct 25, 2024

Implement predictable behavior when clicking on a modifier key on the OSK and pressing the corresponding physical key.

After our design discussion, we agreed to the following:

# OSK State User Action Expected Result
1 Open to default layer A OSK modifier key is clicked with the mouse The modifier key toggles state between selected or unselected and displays the corresponding layer of characters for each key on the keyboard.
2 Open to default layer An OSK character key is clicked with the mouse The key's character is output to the active client application.
3 Open with the shift layer selected and the SIL Euro Latin keyboard active The user presses the 'S' key on the physical keyboard. => capital 'S' OSK remains in the shift Layer
4 Open with the shift layer selected and the SIL Euro Latin keyboard active The user holds down the shift key and presses the 'S' key on the physical keyboard, then releases the shift key. => capital 'S' OSK returns to the default layer
5 Open with the shift layer selected and the Khmer Angkor keyboard active The user holds down the option/alt key and presses the 'S' key on the physical keyboard​, then releases option/alt key. => ᧭ (RAlt+Shift+S) OSK returns to the shift layer
6 Open with the default layer selected and the SIL Euro Latin keyboard active The user presses and releases the shift key on the physical keyboard. OSK momentarily shows the shift layer, then returns to the default layer
7 Open with the default layer selected and the SIL Euro Latin keyboard active The user presses and holds the shift key on the physical keyboard and then presses the 'S' key on the physical keyboard. OSK momentarily shows the shift layer, => capital S, then returns to the default layer
8 Open with the default layer selected and the SIL Euro Latin keyboard active The user presses the Caps Lock key. Keyman shrugs (.kvk does not support Caps Lock yet) TODO: open a feature issue Future: show the Caps Lock layer Q: what happens to Shift state? Q: what about Shift Lock?
9 Open with the shift layer selected The user closes the OSK and then opens it again. OSK is reset to the current state of the hardware modifiers

For background, see comments by @mcdurdin in #12556

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants