Combination keys?
Combination keys?
I'm sure this has been covered but is it possible under the current method to have combination keys for games
Such as in the NEO GEO core have A+B mapped to R and C+D mapped to R2.
Many games use combination keys this way and this is possible in mame quite easily
Such as in the NEO GEO core have A+B mapped to R and C+D mapped to R2.
Many games use combination keys this way and this is possible in mame quite easily
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Combination keys?
Yes, you do it with "define alternare buttons" when mapping a gamepad to a core.
See here for examples:
https://github.com/MiSTer-devel/Main_Mi ... on-Mapping
See here for examples:
https://github.com/MiSTer-devel/Main_Mi ... on-Mapping
Re: Combination keys?
Thanks I can never figure this out and is very convoluted compared to Mame but thanks for your helpNewsdee wrote: ↑Sat Oct 10, 2020 2:11 am Yes, you do it with "define alternare buttons" when mapping a gamepad to a core.
See here for examples:
https://github.com/MiSTer-devel/Main_Mi ... on-Mapping
I unable to get this working correctly because when i get combination keys working then I lose the functions of A and B as separate buttons
On Samurai Shodown if i have the strong attacks mapped to R1 and R2 then I lose weak attacks
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Combination keys?
Have you looked at the last example?
physical button A = pA, physcal button B = pB, etc...
- in first mapping, define the dpad, set pA="A", pR="B", pC="C", pL="D"
- select "yes" when asked if you want to add additional mapppings
- In next mapping, skip the dpad, set pR="A" pB="B", pL="C", pD="D"
Re: Combination keys?
Thanks this exact sequence worked for me now but I still get confused as to how it is working this will be useful for others who like me don't get itNewsdee wrote: ↑Sun Oct 11, 2020 10:59 amHave you looked at the last example?
physical button A = pA, physcal button B = pB, etc...
This should result in "physical L" = C+D and "physical R" = "A+B"
- in first mapping, define the dpad, set pA="A", pR="B", pC="C", pL="D"
- select "yes" when asked if you want to add additional mapppings
- In next mapping, skip the dpad, set pR="A" pB="B", pL="C", pD="D"
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Combination keys?
I know it's a bit confusing... that's why I documented in the wiki after I got it myself
The key point is that both mappings (main and alt) are active at the same time,
and that it's possible for a mapping to only be partial (i.e. only define what extra buttons you want).
It's also only useful if your controller has more buttons than what is required by the core.
If say your controller is a simple SNES and you use all your buttons for the core (6 + start/select + dpad), then you can't use any alternatives.
So let's look at some more examples:
Amiga core with 2 buttons, games use "up" to jump
For this, it's convenient assign a third physical button (b3) to "up", so you can use both up and b3 to jump.
(you can just skip the rest of the buttons)
for this the alt mapping is empty except for "up"=b3
NES core with 2 buttons, adding "turbo"/autofire
Assign A and B to two extra physical buttons (b3 and b4).
After the mapping is done, activate the autofire feature by holding b3 or b4 then press the OSD button (while OSD is closed).
This results in having A and B as regular buttons as b1 and b2, but then b3 and b4 act as turbo/autofire for the same button.
for this the alt mapping has b3=A and b4=B
"Slowdown" function
Some old physical controllers for NES and PCE such as the NES Advantage have a slow-mo function that works by using an turbo/autofire function to Start. Just map an extra button to start (say b5, a shoulder button away from face buttons) and set it to turbo as described above.
This makes the game pause/unpause continously, making it go slower than normal.
as above, the alt mapping only needs to have b5=Start
Neo Geo combo buttons
For this you need to make a physical button overlap two core buttons. It's not possible with only one map.
It's also not possible to reuse the same physical button in the same map, so you need to split assignment to your "combo" button across 2 maps.
For example for A+B: main: b1=A, b3[combo]=B / alt: b3[combo]=A, b2=B
It helps to write it down on paper to work out how to make more buttons, but hopefully the example above with 3 combo buttons is enough for most cases.
The key point is that both mappings (main and alt) are active at the same time,
and that it's possible for a mapping to only be partial (i.e. only define what extra buttons you want).
It's also only useful if your controller has more buttons than what is required by the core.
If say your controller is a simple SNES and you use all your buttons for the core (6 + start/select + dpad), then you can't use any alternatives.
So let's look at some more examples:
Amiga core with 2 buttons, games use "up" to jump
For this, it's convenient assign a third physical button (b3) to "up", so you can use both up and b3 to jump.
(you can just skip the rest of the buttons)
for this the alt mapping is empty except for "up"=b3
NES core with 2 buttons, adding "turbo"/autofire
Assign A and B to two extra physical buttons (b3 and b4).
After the mapping is done, activate the autofire feature by holding b3 or b4 then press the OSD button (while OSD is closed).
This results in having A and B as regular buttons as b1 and b2, but then b3 and b4 act as turbo/autofire for the same button.
for this the alt mapping has b3=A and b4=B
"Slowdown" function
Some old physical controllers for NES and PCE such as the NES Advantage have a slow-mo function that works by using an turbo/autofire function to Start. Just map an extra button to start (say b5, a shoulder button away from face buttons) and set it to turbo as described above.
This makes the game pause/unpause continously, making it go slower than normal.
as above, the alt mapping only needs to have b5=Start
Neo Geo combo buttons
For this you need to make a physical button overlap two core buttons. It's not possible with only one map.
It's also not possible to reuse the same physical button in the same map, so you need to split assignment to your "combo" button across 2 maps.
For example for A+B: main: b1=A, b3[combo]=B / alt: b3[combo]=A, b2=B
It helps to write it down on paper to work out how to make more buttons, but hopefully the example above with 3 combo buttons is enough for most cases.