-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ui: move decrease frameskip key from F8 to Shift F9
- Loading branch information
Showing
2 changed files
with
4 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A nitpick of mine: the P key. Should it be moved to the F5-F8 row? Then IPT_KEYPAD can use P, and users/devs can type all letters with IPT_KEYBOARD when the UI lock is disabled.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would break too many people’s decades of muscle memory and all the “designed for MAME” control panels that emulate keyboards. I think even changing the default frameskip controls is going to annoy a significant chunk of the userbase because people are so used to it.
Remember people can reassign pause, and only need to do it once if they don’t like it being on a letter key.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's say a device keypad had 0-9, A,B,C,P. Then I (as developer) always find myself skipping the P key in the input defs to circumvent a clash with the UI pause key, and use something like O instead. Which is awkward.
Or eg. a "PLAY" button, which I'd assign to the Y key.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know – the defaults for Taiwanese mahjong control panels assign semicolon to P to avoid a conflict with pause. (I realise they predate MAME having the MESS-sourced UI controls toggle.)
Keypads with only a few letter keys but they happen to include P are a relatively small proportion of systems. The number of systems with either just “game controls” or a full keyboard are a lot more common.
But changing the default for pause would be incredibly disruptive. You’d be pissing off too many people.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Playing devil's advocate, if the default was changed to a function key which I think would make it more user friendly, especially for new/newer users, anyone upset about the new mapping could just change theirs back to P.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to throw a bit of fuel onto the fire, I have been using the Pause/Break key for pause for some years. Many PC games also use the Pause key for pause. Afaik nothing else uses P, which is a relic carryover from the days when MAME was arcade-only. I appreciate that some keyboards might not have a Pause key, but the same situation exists with Scroll Lock, and users are expected to sort that out themselves.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
None of the laptops I have access to have a dedicated Pause/Break button, at best it's a hidden function of another button. Keyboards are highly regional.
That said, for my streaming setup (desktop) I move it to the pause/break key .
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is unacceptable, I'm quitting the project if people can just do shit like this.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pause key stuff is just a discussion, nothing was done.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean the frame skip keys.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah right, I've no problem if you really disagree with it and want to revert it.
IMO 2 keys for that is overkill if you think of it from a new user perspective. And this modification frees up a UI key for the future.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anything requiring extra modifiers IMO should be reserved for rare/uncommon functions, like hard reset being shift-F3, and paired functions should either both be on plain F-keys or modified F-keys (save states violates that and I've hated it for 20 years). Frameskip up/down are not rare/uncommon.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, give it some thought and if you still disagree much with this commit, revert it, no hard feelings.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'll take a bit of getting used to due to muscle memory, but I don't think it's inherently a bad change.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's my minimal change to get "P" back:
F4 = Pause
Shift-F4 = tile viewer
F8 = increase frame skip (reverts this PR)
Being able to type "P" in MAME mode on computers without pausing is a big deal.
Also fixing save/load state to be symmetrical is a bigger set of changes that I'm not 100% happy with (I'd ideally like FPS display and throttle toggle to both be un-modified F keys, but fitting that is rough).
F4 = Pause
Shift-F4 = tile viewer
F8 = create save state
F9 = frame skip increase
F10 = frame skip decrease
F11 = toggle throttle
Control+F11 = toggle FPS display
Shift+F11/Alt+F11 stay as is
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
F5 is still free (ctrl+F5 and ctrl+alt+F5 are not)
F6 is a global toggle for cheats, IMO can be removed. I don't run MAME often with -cheat, but when I do, I never use that key. If I want to disable cheats, I press TAB and go to the cheat menu.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh, those are excellent points.
In that case, don't change F4.
F5 = load save state (control/control-alt F5 stay as-is)
F6 = create save state
Ctrl+F6 = decrease prescale (not a change)
F7 = frame skip increase
Ctrl+F7 = increase prescale (not a change)
F8 = frame skip decrease
F9 = pause
don't change F10/F11.
Does that sound good?
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If someone really wants the cheat toggle, I'm fine with making that shift-F6, too.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why shuffle them around? Just do F5 pause, F6, save, F7 load.
And if you want faster savestates, since the common usecase is a single savestate, add a quicksave/load (without the popup) with shift F6/F7.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That works too. So it becomes:
F5 = Pause
F6 = Create save state
F7 = Load save state
F8 = Decrease frame skip
And no other changes. (The quicksave/quickload would be nice but that's a feature-add we can do separately).
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moving pause to F4 and tile viewer to Shift-F4 would mean losing the convenient P for pause and Shift+P for frame advance (which also pauses after running one frame). It’s easy to remember them when frame advance is adding shift to pause.
The cheat toggle key is pretty important for people actually using cheats to, you know, cheat in games. For example if you’re playing Street Fighter II with unlimited life and/or unlimited time cheats, you need to disable them after finishing a round or the game will hang forever trying to total up your life/time bonuses. Many games are require you to disable cheats at certain points to proceed. Not having a dedicated key for it would be pretty irritating.
Also remember that SDL builds use a bunch of Ctrl+F-key combinations for various things, and Windows builds use Ctrl+Alt+F5 as well as various combinations involving F12.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They couldn’t easily change it back to P if an increasing number of systems started using P as a default assignment for
IPT_KEYPAD
orIPT_OTHER
type controls, as those can’t be reassigned en masse in general input assignments.d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which is why this is the current proposal:
F5 = Pause
Shift+F5 = Step
F6 = Create save state
Shift+F6 = Toggle cheats
F7 = Load save state (not changed from 0.262)
F8 = Decrease frame skip (not changed from 0.262)
F9, F10, and F11 all remain the same as 0.262 also
Having any alphanumeric be a global MAME key is a major PITA for debugging computer systems. If "P" is sacred to arcades, then we need to have the ability for the mapping to be separate for systems with and without a keyboard.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anyway, I have a changelist that does what's said above, if no-one objects strongly in the next day or so I'll apply it.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You probably already saw, but I'll mention here anyway: I added the cheat toggle to the cheat menu, this makes the F6 shortcut key less important. And I quickly added quicksave shortcuts but no default keys yet, my choice would be Shift F6/F7 in the above configuration. But then, where does the cheat key go?
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're missing the point - having to go into the menu to toggle cheats on/off is impractical for people actually using cheats to cheat in games. It's something that has to be done pretty regularly to progress. Adding a menu item for it doesn't make the control less important.
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Important enough to be on an F key without a modifier key, probably not.
But a cheat gamer would have a different opinion, just like I do when I say taking 2 F keys for altering frameskip level is too much.
Maybe it can go to Shift F8 (can't look at the moment if it's taken by something else). And rewind-step (Shift Tilde) would make more sense next to pause, so Shift F4?
d88e127
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new assignments are in at 45890ad
We can do further tuning from there.