docs(terminal): update coverage assessment after P2 mouse reporting
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -10,8 +10,8 @@
|
|||||||
|
|
||||||
按用途粗估:
|
按用途粗估:
|
||||||
|
|
||||||
- **「跑通真实终端会话」核心用途**:约 50–60%
|
- **「跑通真实终端会话」核心用途**:约 **75–80%**
|
||||||
- **xterm.js 完整 API / 特性面**:约 15–20%
|
- **xterm.js 完整 API / 特性面**:约 **20–25%**
|
||||||
|
|
||||||
差距集中在**输入完整性**、**API/生态**、**可配置性**,而非「能不能用」。
|
差距集中在**输入完整性**、**API/生态**、**可配置性**,而非「能不能用」。
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
3. **浏览器快捷键仲裁**:`handle_keydown` 对 bare `Ctrl+字母`(无 Shift/Alt/Meta)调用 `preventDefault()`,阻止浏览器吃掉 `Ctrl-R` 刷新、`Ctrl-F` 查找、`Ctrl-A` 全选等。`Ctrl+Shift` 组合(如 `Ctrl-Shift-C` 复制)和 `Ctrl+Alt`/`Ctrl+Meta` 组合保留给浏览器/系统。
|
3. **浏览器快捷键仲裁**:`handle_keydown` 对 bare `Ctrl+字母`(无 Shift/Alt/Meta)调用 `preventDefault()`,阻止浏览器吃掉 `Ctrl-R` 刷新、`Ctrl-F` 查找、`Ctrl-A` 全选等。`Ctrl+Shift` 组合(如 `Ctrl-Shift-C` 复制)和 `Ctrl+Alt`/`Ctrl+Meta` 组合保留给浏览器/系统。
|
||||||
|
|
||||||
**浏览器预留键(硬限制,无法拦截)**:`Ctrl-W`(关标签)、`Ctrl-T`(新标签)、`Ctrl-N`(新窗口)从 Chrome 4 起被浏览器保留,`preventDefault()` 对它们无效,浏览器在 `keydown` 到达页面前就消费了。这是所有网页终端的共同限制(xterm.js 同样如此),只能在浏览器之外解决(系统全局快捷键 / 扩展 / Electron 包装)。readline 退格删词可用 `Alt+Backspace` 替代 `Ctrl-W`。
|
**浏览器预留键(硬限制,无法拦截)**:`Ctrl-W`(关标签)、`Ctrl-T`(新标签)、`Ctrl-N`(新窗口)从 Chrome 4 起被浏览器保留,`preventDefault()` 对它们无效,浏览器在 `keydown` 到达页面前就消费了。这是所有网页终端的共同限制(xterm.js 同样如此),只能在浏览器之外解决(系统全局快捷键 / 扩展 / Electron 包装)。readline 退格删词可用 `Alt+Backspace` 替代 `Ctrl-W`。
|
||||||
4. **测试**:`key_to_bytes_table` 单测覆盖整套键表,18 个 terminal 测试全过、clippy 干净。
|
4. **测试**:`key_to_bytes_table` 单测覆盖整套键表,23 个 terminal 测试全过、clippy 干净。
|
||||||
|
|
||||||
**有意调整的行为**(出于浏览器终端的可用性,与原生 xterm 不同):
|
**有意调整的行为**(出于浏览器终端的可用性,与原生 xterm 不同):
|
||||||
- `Ctrl-C` (0x03) → 无选区时发 SIGINT 中断前台进程;**有选区时优先复制**,不发送 0x03。
|
- `Ctrl-C` (0x03) → 无选区时发 SIGINT 中断前台进程;**有选区时优先复制**,不发送 0x03。
|
||||||
|
|||||||
Reference in New Issue
Block a user