Class KittyKeyboardSupport

java.lang.Object
org.jline.terminal.impl.KittyKeyboardSupport

public final class KittyKeyboardSupport extends Object
Utility class for Kitty Keyboard Protocol support in terminals.

The Kitty Keyboard Protocol is a progressive enhancement to terminal keyboard handling that replaces legacy, ambiguous escape code encodings with unambiguous CSI … u sequences. It allows applications to reliably distinguish key combinations that were previously indistinguishable, such as Shift+Enter versus Enter, or Ctrl+I versus Tab.

The protocol uses a flags-based push/pop stack model. Applications push a set of enhancement flags when entering an interactive mode and pop them when leaving. Main and alternate screens maintain independent stacks.

Enhancement Flags

FlagValueEffect
Disambiguate1All keys get unambiguous CSI … u encoding
Report event types2Adds press/repeat/release distinction
Report alternate keys4Sends shifted + base-layout key codes
Report all keys8Even plain letters become CSI sequences
Report associated text16Adds generated text as codepoints
See Also: