Skip to content

0.5.0

Choose a tag to compare

@mishan mishan released this 15 Oct 06:02
· 473 commits to main since this release
a64429b

Holding keys and buttons, pictures as colorblind eyes see them, bursts, videos, and gamepads.

Install

pipx install --system-site-packages shotbox   # the command and the Python API
npm install --save-dev shotbox                # the Node helpers

The README lists the system tools shotbox drives.

Added

  • key --hold SECS and click --hold SECS keep keys or a button down that long, the chords pressed together and let go last first: for games, and anything that reacts to how long something's held. In the background (&), one is held while other input goes on.
  • key --down/--up and click --down/--up leave a key or button down between commands, on X11. A Wayland virtual keyboard's keys go up when its connection closes, so there --down is refused, saying to use --hold.
  • shotbox vision IN OUT --as KIND, and --vision KIND on capture and shoot: a picture as someone with protanopia, deuteranopia or tritanopia sees it (Machado et al., 2009, at full severity), or in gray.
  • shotbox record OUT: a video of the display or a window, as an MP4, WebM or GIF, for --seconds or until stopped (Ctrl-C, kill, its session's display going), and the file is finished however it stops, even killed outright. --crop, --fps, --pointer and --park; X11 sessions only for now, and it needs ffmpeg.
  • capture --burst N, with --every SECS and --sheet FILE: several pictures, numbered and timed, and a sheet of them, for motion.
  • --gamepads N and shotbox pad: virtual Xbox 360 controllers, made with uinput, that only the session's programs see: each runs under bubblewrap with a /dev/input of its own, and the machine's raw HID and USB devices masked. Worked with pad press, stick, trigger and neutral; what's left down stays down between commands. MCP: start_session takes gamepads, and a gamepad tool.
  • term --shoot passes --audio on to the session it starts.
  • MCP: press_keys and click take hold (seconds) and state (down or up), which last across calls on Wayland too, since a session keeps its input connection; screenshot takes vision, and burst and every for a burst as one sheet.

Fixed

  • A TMPDIR too long for a session's sockets is said at the start (Linux allows a socket path 107 bytes), rather than D-Bus failing to start or sway crashing.

The full list is in the changelog.