[Feature]: Keystroke telemetry capture and shortcut HUD visualization
维护者通常 1 天内回复
还没有人认领这个 Issue。
- #1320 来自 @rainyflash —— 已关闭,未合并
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 1/100
- Issue 类型
- 功能
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- electron, typescript
- 领域
- desktop, full-stack
调研方向
The request spans recording telemetry, IPC and MCP tools, the AxcutDocument model, PreviewCanvas, SceneDescription, FloatingInspector, and V4Timeline; begin by reading the existing cursor telemetry pipeline at technical-documentation/architecture/cursor.md. Check the open pull request #1320 before taking this on. Done means privacy-filtered keystroke events can be captured, edited as timeline callouts, and rendered with configurable HUD settings.
由索引模型根据 Issue 内容生成。
描述
Search existing issues
- I have searched the existing issues
Is your feature request related to a problem?
During software tutorials, coding demos, and shortcut-heavy workflows, viewers can see where the cursor clicks (via .cursor.json telemetry) but cannot see which keyboard shortcuts or key combinations the presenter pressed (e.g. Ctrl+Shift+P, Cmd+K, Enter, Esc). Manually adding text annotations for every shortcut is tedious and error-prone. (Related to #1286)
Describe the solution you'd like
Add end-to-end Keystroke Telemetry Capture & Shortcut HUD Visualization:
- Keystroke Telemetry Sidecar & Recording:
- Capture keyboard shortcut events and special keys during recording into a
<video>.keys.jsonsidecar (or alongside cursor telemetry) with privacy-safe filtering (capturing modifier combinations like Ctrl/Cmd/Alt/Shift + key and navigation/function keys by default, avoiding raw password/text typing). - Provide IPC and MCP/agent support (
getKeystrokeTrack/setKeystrokeTrack) to read or inject recorded keystroke events.
- Capture keyboard shortcut events and special keys during recording into a
- Document Model & Timeline (
AxcutDocument):- Add clip-anchored
keystrokeRanges(and editor-level keystroke HUD appearance settings:enabled,position,themedark/light/glass,scale,holdDurationMs,modifiersOnly) so keystrokes can be automatically derived from telemetry or authored/edited/deleted as timeline pills.
- Add clip-anchored
- Editor UI (Preview HUD, Timeline & Inspector):
- Render stylized keycap badges (
KeystrokeOverlay) inPreviewCanvasandSceneDescriptionwith smooth pop-in/fade-out transitions. - Allow toggling, styling, and editing keystroke callouts in
FloatingInspectorandV4Timeline.
- Render stylized keycap badges (
- AI Agent & MCP Tools:
- Expose
getKeystrokeTrack,addKeystroke,setKeystroke, and keystroke HUD settings insetEditorSettings/getCurrentDocumentso agents can inspect recorded shortcuts or place shortcut callout pills on the timeline.
- Expose
Describe alternatives you've considered
Baking keystrokes directly into the recorded video pixels was rejected for the same reason cursor rendering uses .cursor.json telemetry: keeping keystrokes as structured data allows restyling, repositioning, filtering out mistakes, and staying crisp under zoom or aspect-ratio changes.
Additional context
Complements the existing cursor telemetry pipeline (technical-documentation/architecture/cursor.md).
- 主要语言
- TypeScript
- 星标
- 3.7k
- 派生
- 231
- 平均合并
- 16 小时 25 分钟
- 30 天内合并 PR
- 331
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
getopenscreen/openscreen 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
getopenscreen/openscreen#1423 ·
维护者通常 1 天内回复
-
Native review wanted: machine-translated recording bar tooltips (14 locales)可能重新可做 @auberginewly 于 20 天前认领,目前没有进行中的 PR。 未关闭good first issue help wanted
难度 2/5 1-3 小时 新手友好度 68/100
getopenscreen/openscreen#913 · 5 条评论 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 57/100
getopenscreen/openscreen#1422 ·
维护者通常 1 天内回复
-
macOS: pick the YCbCr matrix per buffer instead of hard-coding BT.709可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 3/5 1-2 天 新手友好度 72/100
getopenscreen/openscreen#1420 ·
维护者通常 1 天内回复
-
[Feature]: completely disable HuggingFace connection button可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭enhancement
难度 3/5 1-2 天 新手友好度 48/100
getopenscreen/openscreen#1419 ·
维护者通常 1 天内回复
查看 getopenscreen/openscreen 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
marmelab/react-admin#11431 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
db-ux-design-system/core-web#8655 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
stripe/react-stripe-js#728 ·
-
[Upload Grade C dataset] the pop-up changes it's size while uploading the document => Jumping effect未关闭bug
难度 2/5 1-3 小时 新手友好度 66/100
epam/statgpt-admin-frontend#305 ·
维护者通常 1 天内回复