Skip to content

Fixes #4917. Kitty Keyboard Protocol doesn't works with AltGr and with empty fields#4919

Merged
tig merged 16 commits intogui-cs:developfrom
BDisp:kitty-keyboard-protocol-alt-gr-fix
Apr 11, 2026
Merged

Fixes #4917. Kitty Keyboard Protocol doesn't works with AltGr and with empty fields#4919
tig merged 16 commits intogui-cs:developfrom
BDisp:kitty-keyboard-protocol-alt-gr-fix

Conversation

@BDisp
Copy link
Copy Markdown
Collaborator

@BDisp BDisp commented Apr 9, 2026

Fixes

Proposed Changes/Todos

  • ModifierKey.AltGr
  • Add keypad keys

Pull Request checklist:

  • I've named my PR in the form of "Fixes #issue. Terse description."
  • My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
  • My code follows the Terminal.Gui library design guidelines
  • I ran dotnet test before commit
  • I have made corresponding changes to the API documentation (using /// style comments)
  • My changes generate no new warnings
  • I have checked my code and corrected any poor grammar or misspellings
  • I conducted basic QA to assure all features are working

@BDisp BDisp requested a review from tig as a code owner April 9, 2026 23:33
Refactored Kitty keyboard protocol handling to use KittyKeyboardFlags in AnsiInput, added EnableKittyKeyboard method, and updated DriverImpl to synchronize enabled flags across input and output. Removed obsolete KittyProtocolEnabled property and improved logging/tracing for clarity.
Copy link
Copy Markdown
Member

@tig tig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed some changes to simplifiy enablement.

I'm confused about whether this is a WIndows only issue or not.

Do you know that it doesn't exist on other platforms?

Comment thread Terminal.Gui/Drivers/AnsiDriver/AnsiInput.cs Outdated
@BDisp
Copy link
Copy Markdown
Collaborator Author

BDisp commented Apr 10, 2026

Your commit c969d3f broke keyboard kitty support. Please review it. Thanks.

@BDisp BDisp marked this pull request as draft April 10, 2026 20:16
@BDisp BDisp marked this pull request as ready for review April 10, 2026 22:29
@tig
Copy link
Copy Markdown
Member

tig commented Apr 11, 2026

@BDisp please remove the fix for #4918 from this PR. Your fix is not at the right level and adds unnecessary coupling of kitty specific details into the IInput/AnsiInput code.

Your fixes for the other two issues are fine though.

The correct solution to #4918 needs to go in InputProcessorImpl and AnsiInputProcessor; in ProcessAfterParsing we need to give derived processors a chance to suppress keydown events that come from fallback stream processing after ANSI parsing.

I have a robust set of tests and fix in #4927.

@BDisp
Copy link
Copy Markdown
Collaborator Author

BDisp commented Apr 11, 2026

I already remove all the changes related with the #4918. I hope I didn't breaking anything. Thanks.

@tig tig merged commit 329803e into gui-cs:develop Apr 11, 2026
11 checks passed
@BDisp BDisp deleted the kitty-keyboard-protocol-alt-gr-fix branch April 11, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Kitty Keyboard Protocol doesn't works with AltGr and with empty fields Invalid global.json file with "sdk" version

2 participants