Second point is hard. If I remember well, I added possibility for increasing dead zone. Having dead zone at maximum reduced this problem, however problem was not removed. I want fix that.
Yes solving the problem is hard; but that’s not what I’m asking.
The problem is that the wrong actions would be fired in the process of moving the analogue stick.
For Eye of the Beholder it was a problem, as it meant that your character would move in the wrong direction and could fall into a pit or whatever.
However when it comes to emulating something like a joystick’s hat-switch; switching views in a flight-sim – then it’s not a problem at all; momentarily looking in the wrong direction is fine as long as the correct direction is looked to afterwards; once the joystick reaches the end of its movement.
And once the joystick approaches the end of its movement figuring out which of the 8 sectors its location falls under is easy.
x: 0 y: 0 is top-left (and several dozen pixels around those co-ordinates too)
x: width/2 y: 0 is top
x: width y: 0 is top-right
So just reactivate the 8-way mode in the condition that it was when we gave up testing it; and add a note warning the user not to assign any of the directions to any critical actions as they can and do fire by accident.
Is something like this implemented in other emulators? Maybe I can contact author and ask. I need example.
I’ll keep my eyes peeled.
Any emulator of a console that has a directional pad, and that allows that directional pad to be mapped to an analogue stick on a bluetooth controller; is a potential candidate. So RetroArch and probably some of the Genesis/SNES/NES emulators.
What we’re really looking for, to abstract the problem a bit, is code that can convert continuous analogue motion into a small range of discrete digital inputs.
And it has to do so taking into account how people use their thumbs to move the analogue stick.
Maybe look at some open source fighting games with analogue stick support? Dunno
Ok, I was thinking about point 3. It can be done in two ways. First way is harder and I will not work on that now, however second way is easy and can be done quickly. You can bind to gamebutton button special action called “modifier”. Then if is this modifier pressed, we can check other buttons for that modifier and execute another actions. But gamepad button with bounded “modifier” cannot be used for something else.
Yes this is what I was requesting exactly.
Other way allows bind to f.e A to L1. And you can do another action with L1+R1 for example. But this needs various delays for checking. This is harder for implementation and I wont work on that now. Anf these delays may be not welcome by shooters or other quick actions.
So like mapping actions to combos; also a great idea – but as you mention it sounds like a considerable amount of work. The modifier button ought to suffice for the time being.