Skip to content

PerritoDeck 0.1.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Oct 23:18
· 13 commits to main since this release
c396920

PerritoDeck turns an old Android tablet or phone into a Stream Deck–style control surface for your computer. Its keys press hotkeys, type text, control media and volume, open apps and websites, run commands, and show live values such as CPU use or the OBS scene. OBS Studio is built in, and 24 plugins come with it (features). It's free and open source, with no account and no cloud.

This first release is for Windows, with Perrito on Android tablets and phones, Amazon Fire included. It's pre-alpha: expect rough edges and breaking changes.

What you need

  • A Windows 10 or 11 PC, 64-bit. PerritoDeck installs just for you, with no administrator needed. On Windows 10 the installer may download Microsoft Edge WebView2, so stay online while it runs.
  • An Android tablet or phone with Android 5.1 or newer, Amazon Fire tablets included, on the same Wi-Fi as the computer. A USB cable works too, with USB debugging on and Android's adb tool on the computer (how).
  • Optional: Python 3 for the plugins that come with PerritoDeck, and a current Node.js LTS for JavaScript and Stream Deck plugins (how to get them).
  • Not in this release: macOS, iPhone and iPad, Linux packages, and the command-line host. Linux and the command-line host build from source, but Linux hasn't been tried on a desktop with a tablet yet.

Getting started

  1. On the computer, run perritodeck-0.1.0-windows-x64-setup.exe (under Downloads below). It isn't signed yet, so SmartScreen says "Windows protected your PC": choose More info, then Run anyway.
  2. The first time PerritoDeck starts, Windows Firewall asks whether it may use the network. Allow it on private networks, and check that Windows treats your home Wi-Fi as private: on a network Windows calls public, the prompt's default lets nothing in, and tablets connect only over USB (help).
  3. On the tablet, download perrito-0.1.0.apk and open it. Android asks before it installs an app from outside an app store: allow it. On a Fire tablet, first allow apps from unknown sources in Settings → Security & Privacy.
  4. The first time, PerritoDeck's window shows Pair a tablet. In Perrito, tap Scan QR code and point the camera at the code, or tap Pair next to your computer and type the 6-digit code.

Closing the window leaves PerritoDeck running in the tray. The getting started guide has the details, USB included. To hear about new versions, tick Tell me when a new version is out in Settings; it's off until you do.

Perrito isn't on Google Play. Obtainium can keep this APK updated from GitHub. F-Droid is coming in a later version and will ship this same signed APK, so you'll be able to switch to it without reinstalling.

What has been tested

  • On a real computer and tablet: Windows 11 with an Amazon Fire 7 (Fire OS 7.3), over Wi-Fi and USB. Pairing, hotkeys and typing, opening apps, profiles that switch with the app in front, and the installer were tested, and so were the Audio devices, Soundboard, Windows and apps, Screenshot, Clipboard snippets, System monitor and Now playing plugins.
  • OBS Studio: tested against a real OBS 31 on Windows, with a test client in place of the tablet. The built-in OBS buttons and live values (scenes, recording, mute, the replay buffer) ran through PerritoDeck; the OBS Studio plugin ran on its own, not yet inside the app. All 22 bugs found are fixed and re-checked. Not tried yet: the plugin in the app, going live to a streaming service, and OBS on another computer.
  • Emulators only: Android 5.1 (what older Fire tablets run, as Fire OS 5), 7.1, 9 and 14, and the Fire HD 10's screen, where automated tests pair Perrito with PerritoDeck and press its keys. A release build of the APK, made as the one attached here is, was checked on the Fire 7 and on Android 5.1 and 14: pairing by code and by QR code, keys, sliders, USB, the licences screen, the launcher icons, and showing the computer as on the network again after the tablet's Wi-Fi drops and comes back.
  • For hours: three hours on Windows 11 with the Fire 7 over Wi-Fi, with live values updating and a key pressed every few minutes, while the tablet's screen went off and on, its Wi-Fi dropped and came back, and Android's battery-saving sleep cut the connection. Memory stayed flat, nothing was logged as an error, every press arrived, and Perrito reconnected by itself each time.
  • Not tried yet: Windows 10, Android 15 and 16, a phone, two tablets on one computer, a tablet that Windows Firewall really blocks, and the computer going to sleep and waking up.

Experimental

Experimental means it has only been tried against stand-ins for the real service or device, or with sample plugins, so it may not work with yours. If you try one, tell us how it went.

  • Plugins: GitLab, HTTP requests, Philips Hue, Elgato Key Light, MQTT, Ollama, Proxmox VE, Spotify, TrueNAS, Twitch, Weather, Wake-on-LAN and "Is it up?" (uptime checks). They come with PerritoDeck, but the app's Comes with PerritoDeck list doesn't mark them; Look online and the catalogue do, and say what each was tested against.
  • Built in: Home Assistant, and Bitfocus Companion mode, which makes the tablet a Companion button panel.
  • Plugins made for the Elgato Stream Deck: only two of Elgato's sample plugins have been tried.

Known issues

  • Uninstalling doesn't remove your setup. Your pairings, profiles and settings, passwords included, stay in %APPDATA%\perritodeck\PerritoDeck even with Delete the application data ticked; delete that folder by hand to remove them. Installing a later version first runs this version's uninstaller, which doesn't touch them either, and its "Click OK to kill it" just closes PerritoDeck.
  • Apps run as administrator don't get hotkeys or typed text, and nothing says so. Start the app normally if you can; for OBS, use the OBS buttons instead of hotkeys (more).
  • OBS, Home Assistant and Companion settings take effect after a restart. You set them up in Settings → Integrations, and saving there offers Restart now (how).
  • A shared profile can split a command across two keys, one that types it and one that presses Enter, and importing doesn't warn about that, though it does list every single key that runs a program or types and confirms something. Import only profiles you trust.
  • Look online can offer a plugin made for a newer PerritoDeck. The catalogue has the latest plugin versions, and a plugin can't yet say which PerritoDeck it needs.
  • On the Fire 7, switching pages freezes the screen for about half a second, and over Wi-Fi, changes the computer sends by itself (titles, live values, pages) can take up to a second to show. Its Wi-Fi also stalls now and then, for a few seconds to a minute; Perrito reconnects by itself.
  • On Fire OS 7, after the tablet's Wi-Fi drops and comes back, a computer you haven't paired yet may not show under Found on this network until you close and open Perrito again. Paired computers aren't affected.
  • On a phone held sideways, keys can end up under the camera cutout.

Getting help

Stuck? See the troubleshooting guide.

To report a bug or ask for a feature or a plugin, open an issue and pick a form. For a bug, paste what Settings → Getting help → Copy diagnostics gives you. It leaves out keys, tokens and passwords, but it shows folder paths, which include your Windows user name, and your tablets' names, so read it before you post.

Report security problems privately: use Report a vulnerability, or email dev@perritodeck.dev with "SECURITY" in the subject (SECURITY.md).

Licence

PerritoDeck is under the Apache License 2.0, and the plugins and plugin SDKs under the MIT License. PerritoDeck isn't affiliated with Elgato, Corsair or Bitfocus. "Stream Deck" is a trademark of Corsair Memory, Inc., used here only to describe compatibility.

Downloads

File
Windows 10/11 perritodeck-0.1.0-windows-x64-setup.exe (installs for you, no admin needed)
Android 5.1+ perrito-0.1.0.apk
Plugin catalogue perritodeck-0.1.0-plugin-catalogue.zip (not needed to install: it's what perritodeck.dev/plugins/ serves)
Licences third-party-licenses.txt: the licence texts of the open-source code PerritoDeck is built on

Check a download against SHA256SUMS: on Windows, Get-FileHash <file> -Algorithm SHA256 in PowerShell, and compare it with that file's line; on Linux, sha256sum -c SHA256SUMS --ignore-missing. How to verify, and what an unsigned build looks like on each OS: https://perritodeck.dev/download.html

Android signing certificate

perrito-0.1.0.apk is signed with the PerritoDeck release key. Its certificate's SHA-256 fingerprint is:

848c5d3f31f3bef31ecdaf308d4fa1db6a2c0a78b63ce6dacb3d6bacc98f24e5

Check the APK with apksigner verify --print-certs perrito-0.1.0.apk: the "certificate SHA-256 digest" line must show the same value. keytool writes it in capitals with colons: 84:8C:5D:3F:31:F3:BE:F3:1E:CD:AF:30:8D:4F:A1:DB:6A:2C:0A:78:B6:3C:E6:DA:CB:3D:6B:AC:C9:8F:24:E5.

Android changes

First preview release.

• Pair with your computer by QR code or 6-digit code; encrypted connection
• Finds your computer on Wi-Fi automatically
• Full-screen, multi-touch button grid with crisp host-drawn keys
• Pages, toggles and live clock keys from your profile
• ⚠ on a key when its action fails, ✓ when a command finishes
• Works back to Android 5.1, including Fire tablets

What's Changed

  • build(deps): Bump the actions-major group across 1 directory with 8 updates by @dependabot[bot] in #1
  • android: keep "On this network" right across Wi-Fi changes by @dmang-dev in #2
  • core: drop a silent tablet after the idle timeout even while the host sends by @dmang-dev in #4
  • docs: v0.1.0's release notes are final by @dmang-dev in #3

New Contributors

Full Changelog: https://github.com/perritodeck/perritodeck/commits/v0.1.0