https://bugs.kde.org/show_bug.cgi?id=519627
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit| |https://invent.kde.org/util | |ities/konsole/-/commit/1983 | |d2b4735d6b61b74cf85854acc1c | |b4d2445d5 Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #3 from [email protected] --- Git commit 1983d2b4735d6b61b74cf85854acc1cb4d2445d5 by Tomaz Canabrava, on behalf of Timothy Redaelli. Committed on 10/05/2026 at 07:32. Pushed by tcanabrava into branch 'master'. Implement Kitty keyboard protocol Add support for the Kitty keyboard protocol, which provides enhanced keyboard input for terminal applications that opt into it. The protocol is application-driven: programs push/pop keyboard flags via escape sequences (CSI >Nu, CSI <Nu, CSI ?u, CSI =N;Mu) to request enhanced encoding. When active, keys are reported using CSI u sequences with modifier bits, event types, and optional alternate key / text codepoint fields depending on the flags. Implementation: - KittyKeyMap: maps Qt key codes to Kitty key info (functional, legacy, CSI_u, or plain keys with their codepoints and legacy encodings) - Per-screen flag stacks in Vt102Emulation for push/pop/query/set - handleKittyKeyEvent() encodes key events according to active flags, including support for modifier-only keys, event type reporting, alternate key reporting (via xkbcommon), and text-as-codepoints - Ctrl+letter keys (e.g. Ctrl+C, Ctrl+D) are correctly detected by deriving keycodes from Qt key values instead of event text, which contains control characters that were previously rejected M +1 -0 src/CMakeLists.txt A +150 -0 src/KittyKeyMap.cpp [License: GPL(v2.0+)] A +53 -0 src/KittyKeyMap.h [License: GPL(v2.0+)] M +461 -1 src/Vt102Emulation.cpp M +17 -1 src/Vt102Emulation.h M +302 -0 src/autotests/Vt102EmulationTest.cpp M +10 -0 src/autotests/Vt102EmulationTest.h https://invent.kde.org/utilities/konsole/-/commit/1983d2b4735d6b61b74cf85854acc1cb4d2445d5 -- You are receiving this mail because: You are watching all bug changes.
