libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.31k stars 1.84k forks source link

"Quit RetroArch" is mapped to a key by default #2670

Closed RollingStar closed 8 years ago

RollingStar commented 8 years ago

By default, RetroArch will immediately close down without saving anything if you press Esc. This perplexes me. I can't think of any game on Windows that has behavior like this. I've yet to encounter a time when the universal Windows combination Alt + F4 does not work to close RetroArch. This key combination works in probably 99% of Windows software, so the user already knows it. Why map "quit" to one key? It's right next to the F1 key which opens the menu (used all the time). Very easy for the end user to make a mistake.

andres-asm commented 8 years ago

This is not really a bug though, this is just a design decision, could be considered good or bad it's all a matter of perspective. I'll leave this open for a while to see if there is any feedback.

BTW, Alt + F4 works on my PC running windows 8.1 x64

mdeguzis commented 8 years ago

Or just don't hit Esc. Map it in the menu to something else then.

RollingStar commented 8 years ago

@ProfessorKaos64, you're saying it's intended behavior that one of the most-used keys in-game (F1 = RetroArch menu) should be within 2 centimeters / 1 inch of the key that instantly ends a user's game without saving? Can you name another program that maps buttons with common functionality next to ones that end the program without saving? How many programs have a single key or button (not a combination) that closes everything without saving?

If there are no other such programs: what makes RetroArch so special? Is this a new user-interaction paradigm? Will Chrome, Microsoft Word, and Netflix copy this functionality within the next 5 years?

joolswills commented 8 years ago

takes 2 mins to remap it - less time than moaning on an issue tracker :-) Perhaps they will change the defaults at some point - or you could submit a pull request with your argument. Bearing in mind though that many people are used to the default now.

inactive123 commented 8 years ago

Removed a bunch of posts. To everyone - I have no more desire for any drama from this point on. I am going to stay to my channels and disassociate myself from it at all costs. To anybody posting anything that can cause further team rifts - if I even sense the possibility of something like that happening, I'm going to instantly remove it. Please keep it out of my sight OKthnx. Satiating all the whims and needs of some user's pet peeves is not worth it having these huge drama episodes over with fellow team members over stupid shit. I'd rather that user would take the time and effort then to make a pull request that we either merge or don't merge based on the merit of what is actually being done.

Time to start running this in a more efficient way because the only other alternative for me is to stop with RA and libretro altogether and I'm sure you wouldn't want that either.

saviski commented 8 years ago

How do I remap the "Quit RetroArch" HotKey to nothing? Can't find a way to set it to nothing through the UI. I've managed to do it only by editing the input_exit_emulator key on the retroarch.cfg file to: input_exit_emulator = "null"

andres-asm commented 8 years ago

press start on the setting you want to clear

On Wed, May 4, 2016 at 11:43 PM, Marcelo Saviski notifications@github.com wrote:

How do I remap the "Quit RetroArch" HotKey to nothing? Can't find a way to set it to nothing through the UI. I've managed to do it only by editing the input_exit_emulator key on the retroarch.cfg file to: input_exit_emulator = "null"

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/libretro/RetroArch/issues/2670#issuecomment-217075793

inukaze commented 7 years ago

Hi there, i want remap "esc" instead "close retroarch (same if i press ALT+F4)" i prefer open the Quick Menu.

andres-asm commented 7 years ago

So... map it?, map quit to something else (or clear it with retropad Y) and map esc to menu toggle

omenking commented 7 years ago

Is there a user benefit to having the esc key mapped to quit by convention? I ask genuinely as I would understand and accept its default mapping if there a reason other than user preference.

Oggom commented 7 years ago

Is there a user benefit to having the esc key mapped to quit by convention?

Playing hentai games when you still live with your parents is a risky business.

inactive123 commented 7 years ago

Well, maister made the default bindings like that. I don't think maister had hentai games in mind when he did that, it just so happened to work the exact same way as what you would find in those games (also, games like FF13 have an 'Escape to immediately quit' convention too, so it's Japanese software in general)

Anyway, we didn't do this for ' hurr durr Japanese games' or whatever, it's just a convention we did at the beginning. No greater forethought probably went into it, and it has been 7+ years now since we originally made the software, so it has grown into a convention by now for retroArch, and if we change it now, dozens of downstream projects like RetroPie who probably designed around this would be in trouble. And there's no telling how many other projects designed around this convention by now, since we get used by so many launchers. Why risk breaking all of those in one fell swoop?

Besides, I think the few Japanese users we recently gained are probably more familiar with this convention than others, and personally, I like the immediate exit thing.

Bottom line, you can change it if you don't like it. I don't see a big issue here. I am also not convinced that changing it makes it better.

RollingStar commented 7 years ago

What about saving state upon exit? How many cores support save states?

Or what about making the quick menu something other than F1? I just don't understand why two important functions with very different outcomes are next to each other.

Or what about asking for confirmation on exit? Or having a setting that does this?

omenking commented 7 years ago

What @twinaphex says makes sense. I wasn't sure the length and legacy of the keybindings. As much as I'd like to see it changed, the damage to the long-term dependants might out weight the connivence to new comers.

I thought maybe for Windows/OSX specific builds its might be possible to serve up different default bindings.

ghost commented 7 years ago

We tried making a "confirm on exit" option once, but due to the current state of the menu code, it caused all kinds of corner case failures, so we had to revert it.

dishcandanty commented 7 years ago

introducing myself to retro arch. the escape key closing the app is extremely annoying. a lifetime of applications has trained me to use escape to back out of a menu

drone540 commented 7 years ago

dishcandanty same thing i was thinking. I think escape key would take me back a menu. i'm not sure what key going back to is mapped to besides delete. But how do you exit a current emulator and go back to the menu? is that even possible?

omenking commented 7 years ago

@dishcandanty @drone540

https://github.com/libretro/RetroArch/issues/2670#issuecomment-322066748

Ferk commented 7 years ago

Doesn't retroarch.cfg get automatically created for the user when it's freshly installed? New defaults would only affect new installs, nobody's configuration would get changed. I understand that some people might be surprised if they reset their Retroarch configuration and reinstall it, though.

Downstream projects like RetroPie should provide their own default if they really depend in configurations in such a way that the system actually is "designed around it", otherwise it wouldn't be a very robust design and considering this setting can be changed easily it wouldn't be a very sensible design decision to depend on that, imho.

@drone540 It's F1 to go back to the menu.

ghost commented 7 years ago

@RollingStar We already have an 'auto-save state' that works on exit I believe, it should be in Settings -> Saving.

drone540 commented 7 years ago

@Ferk Yeah it was F1 I was looking for. @RollingStar Yeah F1 and Escape are pretty close together. I can see easily hitting the wrong one by accident. @bparker06 Oh that's cool that auto-save/load state on escape. At least now if I hit escape by accident I won't lose progress any more.

I guess the Escape issue is less likely when you are using a controller to play the game. I installed retro arch at my job on Linux before my home, so using keyboard as a controller makes me want to hit escape to do menu actions since it's more natural when you are already on the keyboard.

I still kinda need to see how to remap the keyboard keys. Have not found those anywhere in the GUI. Guessing those are only in a .cfg file?

BenMcLean commented 6 years ago

This is absolutely crazy. On TyrQuake, you need the ESC key to access the menu.

inactive123 commented 6 years ago

You can use Game Focus toggle (F11) in order to avoid this.

dankcushions commented 6 years ago

my era of PC games (90s, early 00s) had the convention of Escape being the 'menu' key so this default has often caught me out, even though i'm aware of it. i'm not sure of what the convention is these days, but i would guess escape still means 'menu' in most PC games, and you exit game through the relevant menu option.

i know you can change it, but escape = immediate exit does seem a pretty niche default. it's one of those little things that often comes up in retroarch complaints.

BenMcLean commented 6 years ago

Whether it is wscape or not, there needs to be some consistent default button combination for immediate exit for when things go wrong with the software.

On Wed, May 2, 2018, 5:15 AM dankcushions notifications@github.com wrote:

my era of PC games (90s, early 00s) had the convention of Escape being the 'menu' key so this default has often caught me out, even though i'm aware of it. i'm not sure of what the convention is these days, but i would guess escape still means 'menu' in most PC games, and you exit game through the relevant menu option.

i know you can change it, but escape = immediate exit does seem a pretty niche default. it's one of those little things that often comes up in retroarch complaints.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/2670#issuecomment-385930789, or mute the thread https://github.com/notifications/unsubscribe-auth/ABqpMq0l2ERSfUzrkp-fUn10H3m0PwkLks5tuYdegaJpZM4HLKrD .

sayore commented 6 years ago

This is an insane design decision, i just downloaded it and i cant get anything to work because i always have in mind that ESC opens the Menu or goes back a menu entry. This is true madness. I hate this.

inukaze commented 6 years ago

Mee too, i ever press ESC key to Open the Quick Menu instead F1. the Exit combination should be another like F9 or F12 or "Alt+F4" (The most common for the Software), or like DOSBox "Ctrl+F9"

andres-asm commented 6 years ago

Just change it....

On Thu, Jun 7, 2018, 8:30 AM Inukaze notifications@github.com wrote:

Mee too, i ever press ESC key to Open the Quick Menu instead F1. the Exit combination should be another like F9 or F12

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/2670#issuecomment-395420560, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0HsLpCamnWodLfcfbqyyD8Ag4D5sks5t6SragaJpZM4HLKrD .

inukaze commented 6 years ago

i never change the default mappings xD of RetroArch GUI. because if i need to install and/or use the software in another device or pc. the most people don't change neither.

For example, the mapping of Mupen64Plus Core, in Mario Kart 64, with my Xbox360 Gamepad, when i press "RT" have 2 functions, "Z+B" (Use item, and brake), and yes, at same time. xD

i don't know why the default Mapping is it xD. but the Gamepad Mapping, yes i change for some games and/or specific cores.

BenMcLean commented 6 years ago

There ought to be some key combo to instantly quit but it needs to be something which isn't used by the cores.

ghost commented 6 years ago

I think this thread has run its course and there is nothing left to discuss.

The default is not going to be changed but there are currently several ways to change this behavior at runtime for those that don't like it:

For everyone that disagrees there are just many that prefer it like it is. I think a default with so many ways to change the behavior is already more than enough. I'm locking this thread.