Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible to change WHDLoad quit key? #685

Open
RetroD opened this issue Jan 4, 2025 · 5 comments
Open

Possible to change WHDLoad quit key? #685

RetroD opened this issue Jan 4, 2025 · 5 comments

Comments

@RetroD
Copy link

RetroD commented Jan 4, 2025

Hello, first a big thank you for the development of the PUAE core, I recently learned about it and am really enjoying it.
I have hit one issue that I don't know how to get round:

I am unable to change the whdload quit key.

No matter what I do in the whdload prefs file it always gets replaced with the numpad "minus" key value.
Also, the whdload splash always shows an empty string as the quit key value: ''

This is a problem in a few games that use that key ( eg hired guns and breathless) so I would like to change it, perhaps to the numpad *

Am I doing something wrong or is this by design?
Is there a way to alter this key?
Even better, can you set a different default and override it in some games? (Eg via retroarch config override)

Hopefully this is not a dumb question, I have read the entire readme and have been experimenting withe the core in retroarch on my windows machine for a few days without success.

@sonninnos
Copy link
Collaborator

It is hardcoded like that because of the automatic saving mechanic required when write cache is enabled, since otherwise saves are lost unless first quitting WHDLoad manually.

Currently the only way to bypass it is to enable the NoWriteCache core option, but naturally that also disables the cache and thus makes some games more annoying to run due to the immediate write flashing, so it is not optimal either way.

Making the quitkey customizable both ways is going to be annoying, since the WHDLoad and RetroArch keycodes are different, and thus requires a huge lookup table.

@RetroD
Copy link
Author

RetroD commented Jan 4, 2025

Thank you for the response! I understand, and I do like that you can quit retroarch and without having to use the quit key anymore. (I used to have it as the * when using FS UAE as it seemed to impact less games I used)

I realise making the quit key fully customizable could be a total pain, however, how about offering a few preconfigured keys that you can select in the core options? (such as numpad "*", numpad "-". help, F10 - I believe there are the most commonly used in whdload, no need to make it any possible key IMO)
Then the user can set the default one for the PUAE core in retroarch, and override the option for some games that cause a conflict?

Currently some games I play have a conflict and end up quitting the game, so an option would make these fully playable

@sonninnos
Copy link
Collaborator

sonninnos commented Jan 4, 2025

Sure I can think about it, and sure would be nice if it could be done without sacrificing a functional Amiga-side key..

Would be perfect if WHDLoad could have a modifier with the quit key. But perhaps there is a magic key that is never used anywhere else. Such as PrintScreen actually is in * in the real keyboard, and it seems to be an option in WHDLoad:
image

Edit: Eh, this indicates that the keycodes are single keys after all, but why would that info text show the alternate keys instead of the main keys in the upper right corner..
https://whdload.de/docs/en/rawkey.html

Edit: Hmm, 2B next to Enter might actually be good, since it is unused in the US layout, and that host-side key is really pressing \ next to Backspace, and thus it can't be pressed by accident. But then the user can't trigger it manually at all without trickery, so I guess there is no way to not make a new option for it.

@RetroD
Copy link
Author

RetroD commented Jan 4, 2025

Yeah that 2B key seems like a good option as well, used on an Italian keyboard as the u with the accent, but I don't think that would ever be used in games
I usually use the * as it is used often by WHDLoad slaves as well and least used in games, but probably used in some games (MAYBE breathless actually, to change some of the render options)

I am biased as this is the key I have used for years for my amiga emulation setups, but I would propose:

  • set the default "WHDLoad quit Key" as "numpad *" (aka PrtSc on a real amiga)
  • allow the user to change this "WHDLoad quit Key" in the core options to a few preset values (suggesting these just because they are commonly used in WHDLoad and are more familiar: "F10", "Help", and maybe the "-" on the numpad and that key next to return which is unused on UK and US layouts?)
  • as a cherry on top I would also suggest being able to map the selected quit key to a button on a pad? i.e. mapping the PUAE variable "WHDLoad quit Key", not the value itself, so you don't need to set the actual key value twice (I hope that makes sense!)

@sonninnos
Copy link
Collaborator

Any keyboard key is already mappable to the pad.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants