hrydgard/ppsspp

IOS touch controls problems.

brujo5 opened this issue · 25 comments

this problem still appears in recent build since very long time.controls remain pressed when touched simultaneus buttons.

@hrydgard take a look on this,please.

img_0013

I can't reproduce this on Android (I don't have an iOS dev setup).

to bad.

iPhone 4, 0.9.6-406, I also can't reproduce this.
However, I can see a similar issue - if you pause the game (either on phone or on the computer with the Esc key) while pressing a touch button or a key, after unpausing the key will remain "pressed", until you actually press it again. Was this issue mentioned anywhere? It looks like an easily noticeable problem, but I haven't found any mention of it.

Actually, that problem exists on all platforms. Pretty sure there is an issue for it.

-[Unknown]

yeah,sometime remain pressed the analodg stick to.

also is most apreciable in fighting games like smackdown vs raw 2011 or dbz vs tag.is hard to play when happend.

Well,it's 2017,4,1 now,and I sometimes meet this issue still

Here's what I suspect is happening (see also #9570):

  1. Finger 1 touches X, and a new ID is allocated, say 0.
  2. Finger 2 touches O, and it allocates 1.
  3. Finger 1 is released, deleting the association.
  4. Finger 1 touches X again, allocating 0 again.

Now, it's important to notice this is an NSMutableArray. So it's sorted. At this point, the array is:

  • Touch 1
  • Touch 0

Now, if a finger 3 presses, what happens? It starts at 0, finds a collision, and increments to 1. It never notices the collision at 1, and there become two fingers with touch id 1.

From that point, things can become mismatched. IMHO, using a fixed size array would be more foolproof, but of course #9602 shows that must be done carefully too.

-[Unknown]

Is it still an issue?

nope, thx

I'll just note that I don't see anything that has changed what I described from happening. Touch indexes are still allocated in the same way that causes id collisions.

-[Unknown]

Report from my chinese friend
Happened when more 2 touch
https://youtu.be/uJvCwg8vqMY

This should be fixed now, finally. Patterned the fix on @unknownbrackets 's fix for the similar problem on Windows touch.

I have told the tester retest

The tester said that the flicking fixed but emulator joystick sometimes don't work

Can you get more details on the joystick problem?

I have told him to make another film

To me a joystick problem sounds like just a separate issue. I know we have several reported issues about iCade / non-iCade support.

-[Unknown]

Well, he might mean the virtual joystick on-screen.

Yes,he mean virtual joystick on-screen,not blue teeth one.

I tested it a bit myself and I don't see any issues. When you add five more simultaneous touches it does lose tracking, but that's unavoidable and kind of an extreme edge case.

https://youtu.be/Dc6gnBMDIJU
He said that this should not be a bug, but a touch screen design problem
After he released the joystick, he started to touch and slide from the outer ring to the inner ring and He couldn’t control the joystick. This was the key reason for the malfunction. No matter how he slide the joystick, he didn’t respond. He only changed his habits. After releasing it, you must start the touch from the inner circle so that it will not malfunction.

This is a test video of him sliding the full screen from the middle of the screen:
https://youtu.be/kw3bAmNOT3o
For the joystick, this setting is unnecessary, because sometimes after the joystick is pulled to the edge and then released, the inner ring cannot be touched for the first time, but it slides over. This is equivalent to failure

Does the "Auto-centering analog stick" setting help under Controls?

-[Unknown]

Does the "Auto-centering analog stick" setting help under Controls?

-[Unknown]
He said that no help

I don't think there are any remaining issues here, it seems to work nicely. Closing.