Conversation
With a Cyrillic layout active, ctrl+с was reported as ctrl+U+0441 and ctrl+shift+м never matched the ctrl+shift+v paste binding. - Report the kitty base layout key (the key at the same position in the PC-101 layout, derived from the physical key) when an application enables REPORT_ALTERNATE_KEYS, so ctrl+с is sent as `1089::99` and apps can match it as ctrl+c. - When no key binding matches a textual key pressed with Ctrl, Alt or Super, retry with the same PC-101 key.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With a non-Latin layout active, keys pressed with Ctrl/Alt/Super are reported and matched by their layout character, so shortcuts break: ctrl+с on a Cyrillic layout reaches apps as
CSI 1089;5u, which apps that enableREPORT_ALTERNATE_KEYScan't match as ctrl+c, and ctrl+shift+м never triggers rio's own ctrl+shift+v paste binding. The kitty protocol covers this with the base layout key, the key at the same position in the standard PC-101 layout. The existing comment said winit doesn't expose it, but it can be derived fromKeyEvent::physical_key, which is position-based.REPORT_ALTERNATE_KEYSis on and it differs from the key code: ctrl+с is sent asCSI 1089::99;5u, shift+с as1089:1057:99. Sequences on a US layout are unchanged.