Skip to content

Report terminal support for CSI-u #967

Closed

Description

@stefanhaller

It would be useful to know whether the terminal supports kitty's keyboard protocol. There is a way to detect this, described here. Applications can make use of more advanced keybindings if they know it's available.

Would you consider adding an API to Screen to query this? We are still on v2, and upgrading to v3 is quite a bit of work for us, so it would be awesome to have this available in v2; but I understand of course if you don't want to add things to v2 any more.

Activity

  1. gdamore commented on Jan 4, 2026

    @gdamore
    Owner

    Indeed I'm not really trying to keep adding things to v2. After all I need some carrots so people upgrade -- and honestly its a lot more work to maintain multiple featureful branches.

    Note that you probably also want to know about Win32 input mode, which has the same richness as kitty's protocol.

    Which also begs a question about the Modify Other Keys protocol from XTerm. I suspect that's less interesting for you, even though it does avoid much of the ambiguity present in the legacy protocols. (You can for example discriminate between control I and control J.)

  2. stefanhaller commented on Jan 5, 2026

    @stefanhaller
    Author

    Indeed I'm not really trying to keep adding things to v2. After all I need some carrots so people upgrade -- and honestly its a lot more work to maintain multiple featureful branches.

    Yes, fully understood, and I expected this.

    Note that you probably also want to know about Win32 input mode,
    Which also begs a question about the Modify Other Keys protocol from XTerm.

    I wasn't aware that there are other protocols than the kitty one. Sure, if they are detectable, this would be great to know about too.

  3. added 3 commits that reference this issue on Apr 26, 2026
    f322458
    577eb9a
    fb418c1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions