-
Notifications
You must be signed in to change notification settings - Fork 165
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
Properly track keymap when virtual keyboard is in use #1222
Comments
And to clarify, that is only when sending input to clients, like you decided to type not on a virtual keyboard but on a regular one, and you don't have IM grab going on. But that could be naturally determined due to a fact that virtual keyboard can't type into grab. The smithay should also never use keymap from the virtual_keyboard for itself. |
chrisduerr
added a commit
to chrisduerr/smithay
that referenced
this issue
Nov 15, 2023
Smithay's virtual keyboard implementation previously stored a single keymap on the seat, updating it whenever either the real or virtual keyboard's keymap was changed. As a result the two keyboards could break each other by setting an incorrect keymap. To allow both the seat's real keyboard and the virtual keyboard to function simultaneously, a separate keymap is stored for each and whenever an input event related to a keymap is handled, the keymap is updated. Closes Smithay#1222.
chrisduerr
added a commit
to chrisduerr/smithay
that referenced
this issue
Nov 15, 2023
Smithay's virtual keyboard implementation previously stored a single keymap on the seat, updating it whenever either the real or virtual keyboard's keymap was changed. As a result the two keyboards could break each other by setting an incorrect keymap. To allow both the seat's real keyboard and the virtual keyboard to function simultaneously, a separate keymap is stored for each and whenever an input event related to a keymap is handled, the keymap is updated. Closes Smithay#1222.
chrisduerr
added a commit
to chrisduerr/smithay
that referenced
this issue
Nov 16, 2023
Smithay's virtual keyboard implementation previously stored a single keymap on the seat, updating it whenever either the real or virtual keyboard's keymap was changed. As a result the two keyboards could break each other by setting an incorrect keymap. To allow both the seat's real keyboard and the virtual keyboard to function simultaneously, a separate keymap is stored for each and whenever an input event related to a keymap is handled, the keymap is updated. Closes Smithay#1222.
chrisduerr
added a commit
to chrisduerr/smithay
that referenced
this issue
Nov 16, 2023
Smithay's virtual keyboard implementation previously stored a single keymap on the seat, updating it whenever either the real or virtual keyboard's keymap was changed. As a result the two keyboards could break each other by setting an incorrect keymap. To allow both the seat's real keyboard and the virtual keyboard to function simultaneously, a separate keymap is stored for each and whenever an input event related to a keymap is handled, the keymap is updated. Closes Smithay#1222.
Drakulix
pushed a commit
that referenced
this issue
Nov 20, 2023
Smithay's virtual keyboard implementation previously stored a single keymap on the seat, updating it whenever either the real or virtual keyboard's keymap was changed. As a result the two keyboards could break each other by setting an incorrect keymap. To allow both the seat's real keyboard and the virtual keyboard to function simultaneously, a separate keymap is stored for each and whenever an input event related to a keymap is handled, the keymap is updated. Closes #1222.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Have dedicated input types for both normal input and
Virtual keyboard. Each type should track its keymap
and modifiers state separatelly. They should also
register into some global type that they were
the last to send keys for the given client.
When sending input events for the client,
smithay should compare old != new source
and resend keymap with the modifiers being
active on that keymap, and then forward the
state.
The tracking should be per-seat, not per-client
since seat can focus only one client at a time
and virtual keyboard just improves on normal
keyboard.
The text was updated successfully, but these errors were encountered: