true-input
작성자: factory-ai
드로이드 제어 워크플로우를 위한 배경 지식 — 직접 호출되지 않음. 헤드리스 환경을 통한 실제 터미널 에뮬레이터 자동화를 위한 true-input 드라이버 메커니즘…
npx skills add https://github.com/factory-ai/factory-plugins --skill true-inputTrue-Input Driver
The orchestrator routed you here. Use these mechanics to execute your plan.
Drive a real terminal emulator, injecting keystrokes through the platform's native HID input path. This proves exactly what bytes the terminal emits -- no synthetic injection, no PTY distortion.
When to use
- Proving that a terminal really sends the sequence you expect (e.g., Ghostty's
Shift+Enter) - Recording demos that reflect actual terminal rendering
- Validating that Droid handles a keystroke correctly end-to-end in a specific terminal
If you don't need real terminal proof, use tuistory -- it's faster and more deterministic.
Platform support
| Platform | Status | Driver | Read |
|---|---|---|---|
| Linux / Wayland | Implemented | cage + wtype + any Wayland terminal | platforms/linux.md |
| macOS (QEMU) | Implemented | QEMU monitor sendkey to a macOS VM | platforms/macos.md |
| Windows (KVM) | Implemented | virsh send-key to a KVM/QEMU VM | platforms/windows.md |
Read the platform file for your target OS. Each contains prerequisites, core pattern, command reference, encoding reference, recording, troubleshooting, and recovery -- specific to that platform.
Key differences from tuistory
| Concern | tuistory | true-input |
|---|---|---|
| Snapshot source | Virtual screen buffer | Scrubbed PTY log (Linux) or screenshot (VM platforms) |
| Wait mechanism | Event-driven (screen redraws) | Log polling (Linux) or sleep-based (VMs) |
| Recording | Must wrap launch (--record) | Can start/stop any time |
| Keyboard encoding | Synthetic (bypasses terminal) | Real terminal encoding path |
Known dead ends
- Xvfb + xdotool: bypasses real keyboard processing entirely
- uinput + Xvfb: Xvfb does not consume kernel input devices
- SSH for TUI testing: PTY layer distorts input encoding; use SSH only for deployment
- Raw
asciinema rec: true-input records viawf-recorder(Wayland screen capture), not asciinema. Usetctl --recordortctl record start/stop. Callingasciinema recdirectly has no access to the compositor and produces nothing useful.
factory-ai의 다른 스킬
full-stack-playbook
factory-ai
이 플레이북은 풀스택 웹 애플리케이션 미션을 실행하는 방법을 안내합니다. CRUD 앱, 대시보드, 전자상거래 사이트 및 프론트엔드와 백엔드 계층이 구분된 유사한 프로젝트에 사용하세요.
official
agent-browser
factory-ai
드로이드 제어 워크플로우를 위한 배경 지식으로, 직접 호출되지 않습니다. 웹 페이지 및 Electron 데스크톱 앱 자동화를 위한 agent-browser 드라이버 메커니즘입니다.
official
autoresearch
factory-ai
자율 실험 루프: 아이디어를 시도하고, 효과가 있는 것은 유지하며, 효과가 없는 것은 폐기하고, 멈추지 않습니다.
official
ban-type-assertions
factory-ai
Ban `as` type assertions in a package via the `@typescript-eslint/consistent-type-assertions` lint rule, replacing them with compiler-verified type-safe…
official
browser-navigation
factory-ai
테스트, 데이터 추출 및 웹 상호작용을 위한 포괄적인 브라우저 자동화.
official
capture
factory-ai
드로이드 제어 워크플로우를 위한 배경 지식으로, 직접 호출되지 않습니다. 터미널 및 브라우저 세션의 녹화 라이프사이클을 관리합니다.
official
commit-security-scan
factory-ai
LLM 추론과 위협 모델 패턴을 사용하여 코드 변경 사항의 보안 취약점을 분석합니다. PR 리뷰, 커밋 전 검사 또는 브랜치 비교에 사용하세요.
official
compose
factory-ai
드로이드 제어 워크플로우를 위한 배경 지식 — 직접 호출되지 않음. Remotion을 통한 비디오 조립 — 타이틀 카드, 레이아웃, 전환, 효과, 쇼케이스…
official