Skip to content

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

Merged
tig merged 16 commits into
tui-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 into
tui-cs:developfrom
BDisp:kitty-keyboard-protocol-alt-gr-fix

Conversation

@BDisp

@BDisp BDisp commented Apr 9, 2026

Copy link
Copy Markdown
Collaborator

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.

@tig tig left a comment

Copy link
Copy Markdown
Member

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

BDisp commented Apr 10, 2026

Copy link
Copy Markdown
Collaborator Author

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

tig commented Apr 11, 2026

Copy link
Copy Markdown
Member

@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

BDisp commented Apr 11, 2026

Copy link
Copy Markdown
Collaborator Author

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

@tig
tig merged commit 329803e into tui-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