Vega CLI: commands to take a screenshot and press remote keys

App Name: Dice Chess TV
SDK version you are referring to for this feature request: v0.24 (0.24.12112)
React Native version you are referring for this feature request: RN 0.83
App Link on Amazon Appstore: not published yet

Is your feature request related to a problem?

We check every change to our app on the Virtual Device, from scripts and from AI coding agents: press remote keys, then look at the screen. The vega CLI installs and launches apps, but it has no command for either step. The routes available today:

  • Appium with the Vega driver needs an Appium 2 server, the driver package, the device’s automation toolkit and Node 22 or earlier (topic 28665). Threads here report its screenshots on the VVD being flaky or a frame behind (20196, 29134), and the toolkit not starting on OS 1.2 devices (29136).
  • gwsi-tool-screenshooter, through vega exec vda shell, is for a Fire TV Stick: the VDA reference notes that the Virtual Device doesn’t support it, as staff confirmed in 29249. On the Virtual Device it gives no error, though: it writes a 0-byte file or hangs. So Appium is the only documented way to take a screenshot there.
  • For keys, the emulator console’s event send, QEMU’s send-key and inputd-cli on the device all report success and never reach an app.

Describe the solution you’d like

Two documented commands, for the Virtual Device and for devices in developer mode:

  • vega device screenshot -d <device> [file.png]: save the screen as a PNG.
  • vega device press -d <device> <key...>: press remote keys by name (up, down, left, right, select, back, …), with an optional hold time and a gap between keys.

With both, a script or an agent could check any screen with the tools the SDK already installs, and the docs could show them next to install-app and launch-app.

Is this a blocker? Describe alternatives you’ve considered

Not a blocker for us. On the Virtual Device only, we call the Android emulator’s own gRPC API (EmulatorController.sendKey and getScreenshot) through vega-vvd-driver, an unofficial open-source tool. It cannot help on a Fire TV Stick, and it depends on an emulator interface that Vega does not document.

Additional context

Our friction log records these obstacles as FL-08 (key injection) and FL-09 (screenshots): Friction log | Dice Chess TV

Hi @Fortemate,

Thank you for the detailed write-up and for logging the friction so clearly (FL-08 / FL-09).

To confirm I’ve understood the ask: you’d like first-class, documented vega CLI commands to capture a screenshot and to send remote key presses that work on both the Virtual Device and developer-mode physical devices, so your scripted and agent-driven testing can rely on tooling the SDK already ships.

I’m passing these details along to our team as a feature request for consideration.

Thanks again for helping us improve the Vega platform.

Warm regards,
Aishwarya