pegasus-frontend
pegasus-frontend copied to clipboard
Feature Request - add a way to force-exit the open program and go back to the frontend
Loving this front-end. For me I use pegasus for couch style gaming and while a few emulators have a way to map a button or set of buttons to exit, many do not.
It'd be nice if pegasus could somehow support this and have it be configurable. Ex: 'press and hold the home button for 5 seconds to quit the current child application and return to pegasus'.
That'd be a nice feature but I'm not sure it's technically possible on all platforms. Might work in theory for keyboards on Windows, but may not for gamepads and different OSes.
Yeah, you'd have to find an input library that could match the platforms Pegasus aims to support.
I do think this idea is feasible as other front-ends provide this. One open-source example that has nearly as many platforms as Pegasus is the frontend 'attract-mode' where it seems you configure an 'exit hotkey'.
It's not the input handling that's problematic, but rather grabbing the input of another program or the global system. I fear there will be either security, performance or platform support issues. However if there's already a working example that this can be done, that's really promising!
Hi, I just wanted to chime in to also ask for this feature given it's been posted for a year and half. My use case involves Steam Link on an Nvidia Shield to stream games to the TV from my rig in another room. I've tested launching Pegasus as a Steam shortcut and it seems to work but then I cannot stop games using the Steam overlay as the task reacting to the 'Exit Game' command is Pegasus in this case. I'm trying to run emulators like Cemu or Dolphin this way but it breaks the leanback experience as I'm not able to exit the emulators without this feature. In LaunchBox and BigBox there is an option to exit games through a combination of keys so it must be possible to do. I tried this by running BigBox as a Steam shortcut and it works. As an extra feature request, as commented in the original request, it be great if a sort of long press in the command can be added. In BigBox I've configured the combination of the Start and Select buttons to exit a game but the game exits immediately which seems rather harsh in case the combination was triggered by mistake. Retroarch has introduced the option to press the combination twice in order to exit (with a nice message informing of the process) so that or long press of a couple of seconds would be good.
If you have a dualshock you can map combo for game exiting through ds4drv. Dunno about other pads though @DreevCi
I'm using the Steam Link with its controller support so not sure if I can use any external tool. Gamepads are mapped as Xinput controllers and that's it. And I currently have 3 different types of controllers (Xbox One, PS4 and 8bitdo) so a universal way of doing this would be great. I actually saw that with Dolphin there is a hot key binding feature so in the end the emulators I'm missing are PCSX2 and (specially this one) Cemu.
@DreevCi with cemu you could bind xdotool exec sh -c 'xdotool key Escape key alt+f key e key KP_Enter'
that's what I do with ds4drv [ unmaximizes to show menu, picks File menu, picks exit, exits ] bound to a pad combo.
It actually works with any app that has a normal menu
I appreciate you weighing in @DreevCi . I'm honestly a bit surprised others aren't running into this more often.
I have a similar setup. Shield device streamed from Steam on a Windows host (so xdotool
is not an option and even if it was..). At the moment, if I'm not using Dolphin, I have to walk into the other room to close the application.
There must be a way to bind pads under windows surely? [ I don't know honestly, I'm lucky enough to not have to use it ]. You have things like autohotkey in place of the xdotol if memory serves me right.
There are options for sure. Someone on Discord just wrote how he uses RocketLauncher + Joy2Key. I'd need to check those myself. In any case, I understand this is not a priority given the options available but it'd be great to have it as it would make the frontend experience easier for everyone, specially the not so tech savvy.
You can do this quite nicely on Windows with reWASD
Bumping this as I just dealt with the same issue on my system. In the end, I simply set Steam Big Picture to map Start+Select on my controller to Ctrl+Q, which I then set as the Exit hotkey for all of my external emulators. Edit: Now that I'm fully implementing my system, I'm finding that PCSX2 Standalone doesn't have hotkey mapping and the devs are pretty antagonistic to the idea, and I've had to swap ePSXe for DuckStation, but I feel those are faults of those particular emulators and not of this idea. As a workaround I've set my normal exit (Ctrl+Q) to an Action Set triggered by Start which sets Select to trigger the shortcut, then the PCSX2 exit (Esc) to an Action Set triggered by Select which sets Start to trigger that shortcut, which should work just fine for the moment.
My thinking now is that, surely this can be done via Pegasus so I don't have to have Steam open in the background hogging memory? Gamepad support is already in, so while Pegasus is a background process (i.e. a game is running) it can simply be waiting for the exit hotkey (set in Controls potentially), where it'll then send keypresses to the system a la AutoHotKey, exiting the emulator. You could have the exit keypresses documented somewhere so users would know how to set their configs, OR add an optional exit:
attribute for collections where a user can define what they would like to be pressed to exit the emulator.
I'm pretty new to Pegasus so forgive me for not knowing exactly what permissions that would take or whether it's actually feasible, but having this kind of feature taken care of by Pegasus for me would be the ideal, so I'm just dropping some ideas. Eventually, I plan to learn the design patterns of Pegasus and fork/PR an edit of this sort.
Personally I think this should be left up to the user's preferred controller remap software. As I mentioned before this is easily done with reWASD
on Windows by just mapping a button press combo to Alt+F4 (or even better with SuperF4). This is what I use and it works flawlessly.
Just to be clear, the user above is suggesting a paid program. For those that want an alternative, I did find https://keysticks.net/ which is free/open-source but I'm assuming it doesn't support all the controllers Pegasus does.
This feature seems split for frontends. I had thought this was a common feature but it seems Playnite also doesn't support it. Meanwhile Launchbox and Attract Mode do.
I personally still run in the other room and manually quit the program. Not sure these other programs suggested would even work for my use-case since the input is through Steamlink (app).
I'm fine with whatever mmatyas ends up deciding. When I opened this, I had assumed there would be a large amount of users with similar needs but that doesn't seem to be the case.
I want to support this request. For the moment I'm using RetroBat/EmulationStation which allows me to press Hotkey+Start to exit (almost) any game. The drawback is, RetroBat is Windows only and I want a solution which works under Linux as well. Pegasus looks really well done, however if it does not support a hotkey to kill games that is a huge downside for me.
I want to support this request. For the moment I'm using RetroBat/EmulationStation which allows me to press Hotkey+Start to exit (almost) any game. The drawback is, RetroBat is Windows only and I want a solution which works under Linux as well. Pegasus looks really well done, however if it does not support a hotkey to kill games that is a huge downside for me.
For Linux you have https://github.com/AntiMicroX/antimicrox which allows you to bind any combo and much more