已开启
TUI 应能解析 CSI-u 键报(vs code 1.140.0, atomcode 5.2) #1618
rdsz创建于  1 天前
rdsz
1 天前 创建

[27u 是 Esc 键的 Kitty 键盘协议上报残片
:完整序列是 ESC [ 27 u,27 是 Esc 的码点,u
是该协议格式的结束符。结合你之前的 [99;5u
(查证后它其实是 普通 Ctrl+C 的 VS Code Kitty
编码,不是
Ctrl+Shift+C——我上轮猜错了),两个片段对应关系:

┌────────────────┬──────────┬───────────────┐
│ 输入框里的残片 │ 实际按键 │ 完整序列 │
├────────────────┼──────────┼───────────────┤
│ [27u │ Esc │ ESC [ 27 u │
├────────────────┼──────────┼───────────────┤
│ [99;5u │ Ctrl+C │ ESC [ 99 ; 5 │
│ │ │ u │
└────────────────┴──────────┴───────────────┘

为什么没中断、为什么打成字

我探测了当前环境:TERM_PROGRAM=vscode、
VSCODE_INJECTION=1,你的 AtomCode 跑在 VS Code
集成终端里,本机版本 1.140.0。VS Code 从 1.109.5
起默认启用 Kitty 键盘协议(设置项
terminal.integrated.enableKittyKeyboardProtocol
,默认 true),于是 Esc、Ctrl+C
这类键不再以传统控制字符发出,而是编码成上面的
CSI-u 序列。AtomCode 的 TUI
目前不解析这种编码(它自己的文档也标注 Kitty
协议相关功能"Windows 上不可用"),于是一律
吞掉开头 ESC、把剩余字符当普通输入打进输入框
——Esc「清空输入/打断输出」、Ctrl+C「取消当前操作」
就都失效了,落成了你看到的文本。

likedislike
atomgit-botatomgit-bot成员
1 天前 添加了label:bug
atomgit-bot
atomgit-bot成员
1 天前 评论:

你好,谢谢反馈。我们已收到这条 Issue,会由维护者继续处理。代码相关结论需要读仓库核实后再说;若方便可补充版本号与最小复现。

likedislike
atomgit-botatomgit-bot成员
1 天前 将 duxin 设为负责人
rdsz
1 天前 评论:

vs code 1.140.0, atomcode 5.2
打开终端 --- atomcode --- 输入框“Esc”就出来[ 27 u

同时5.2也比经常卡

likedislike