[Feature]: Keystroke telemetry capture and shortcut HUD visualization
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
- #1320 par @rainyflash — fermée sans fusion
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 1/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- electron, typescript
- Domaine
- desktop, full-stack
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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).
- Langage dominant
- TypeScript
- Étoiles
- 3.7k
- Forks
- 231
- Merge moyen
- 15 h 10 min
- PR mergées (30 j)
- 324
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de getopenscreen/openscreen
-
Native review wanted: machine-translated recording bar tooltips (14 locales)Peut-être à nouveau libre @auberginewly l’a pris il y a 21 jours, et aucune pull request n’est ouverte. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
getopenscreen/openscreen#913 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Windows update click opens the full NSIS wizard instead of a UAC promptPeut-être pris @EtienneLescot l’a pris aujourd’hui. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 30/100
getopenscreen/openscreen#1437 ·
Les mainteneurs répondent en général sous 1 jour
-
[Feature]: Cursor size px unitOuverteenhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
getopenscreen/openscreen#1436 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
getopenscreen/openscreen#1435 ·
Les mainteneurs répondent en général sous 1 jour
-
QA: e2e pass on v2.2.0-rc.1 (macOS, Windows)Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
getopenscreen/openscreen#1431 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de getopenscreen/openscreen
Issues similaires
-
Replace discontinued crypto-js in the themePeut-être pris @aelmanaa l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
PaloAltoNetworks/docusaurus-openapi-docs#1689 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
solana-foundation/solana-web3.js#4015 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
formatSearchQuery drops the :present modifier, so `email:present=true` is sent as `email=true`Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 1/5 1-3 heures Accessibilité débutants 90/100
ivopogace/opencode-courier#422 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
chapel-lang/chapel-vscode#158 ·
Les mainteneurs répondent en général sous 1 jour