Screenshot button: bindable on keyboard and any controller, Capture on Switch controllers by default #712

Open
opened 2026-11-15 05:39:29 +00:00 by HumanBean · 0 comments
Owner

A player asked whether there is a plan to support the screenshot (Capture) button on Switch controllers. This covers a screenshot button for every input as well: one action, bindable on the keyboard and any controller, with Capture as its default on Switch controllers.

Now

Pressing the Capture button on a Switch controller (Joy-Con, Pro Controller) does nothing. Longshot has no screenshot feature for players: the only captures are debugging ones driven by environment variables (RX_SCREENSHOT in gpu/render/rx_core.cpp, RX_VK_SHOTS in the Vulkan renderer).

Asked for

  • A Screenshot action that saves a screenshot of the game.
  • It can be bound like the other controls:
    • to a keyboard key (F12, as a default to consider);
    • to a button on any controller (Xbox, PlayStation, generic pads), including a combination for pads with no spare button.
  • On Switch controllers, pressing Capture takes it by default, the way it does on the console.

Notes

  • SDL reports the Capture button as SDL_GAMEPAD_BUTTON_MISC1. The Share button on Xbox Series and PlayStation 5 controllers maps to the same button, so it is a natural default on those too.
  • A button bound to Screenshot must not also reach the game. A button the game uses that is also bound to Screenshot needs a rule, or the binding is refused.
  • Questions to settle:
    • Where screenshots go (next to the saves, or the system's Pictures folder).
    • The file format (PNG).
    • Whether the capture includes the menu and the HUD, or only the game picture.
    • Some feedback that it worked (a short toast).
  • Steam Input may already take the Capture button and F12 for its own screenshots when Steam runs the game. Longshot shouldn't take two screenshots, or fight Steam over the button.
  • The capture must not stall the frame. The debugging capture reads the image back synchronously, so it can't be reused as it is.
A player asked whether there is a plan to support the screenshot (Capture) button on Switch controllers. This covers a screenshot button for every input as well: one action, bindable on the keyboard and any controller, with Capture as its default on Switch controllers. ## Now Pressing the Capture button on a Switch controller (Joy-Con, Pro Controller) does nothing. Longshot has no screenshot feature for players: the only captures are debugging ones driven by environment variables (`RX_SCREENSHOT` in `gpu/render/rx_core.cpp`, `RX_VK_SHOTS` in the Vulkan renderer). ## Asked for - A **Screenshot** action that saves a screenshot of the game. - It can be bound like the other controls: - to a keyboard key (F12, as a default to consider); - to a button on any controller (Xbox, PlayStation, generic pads), including a combination for pads with no spare button. - On Switch controllers, pressing **Capture** takes it by default, the way it does on the console. ## Notes - SDL reports the Capture button as `SDL_GAMEPAD_BUTTON_MISC1`. The Share button on Xbox Series and PlayStation 5 controllers maps to the same button, so it is a natural default on those too. - A button bound to Screenshot must not also reach the game. A button the game uses that is also bound to Screenshot needs a rule, or the binding is refused. - Questions to settle: - Where screenshots go (next to the saves, or the system's Pictures folder). - The file format (PNG). - Whether the capture includes the menu and the HUD, or only the game picture. - Some feedback that it worked (a short toast). - Steam Input may already take the Capture button and F12 for its own screenshots when Steam runs the game. Longshot shouldn't take two screenshots, or fight Steam over the button. - The capture must not stall the frame. The debugging capture reads the image back synchronously, so it can't be reused as it is.
HumanBean changed title from Capture button on Switch controllers saves a screenshot to Screenshot button: bindable on keyboard and any controller, Capture on Switch controllers by default 2026-11-15 05:40:53 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot#712
No description provided.