Opened 7 years ago

Last modified 5 months ago

#5914 new defect

IPHONE: swipe to simulate arrow keys doesn't work

Reported by: SF/rotoman123 Owned by: vinterstum
Priority: high Component: Port: iOS
Keywords: Cc:
Game:

Description

First, thank you for the great work on Scummvm in general and on the amazing iPhone port.

When I load up Space Quest 1, 2 or 3, the swipe gesture to generate an arrow key stroke doesn't work. This makes these games unplayable. Haven't tested other games yet.

Used the released 1.4.0 build on an iPad 1, iOS 4.3.2

Thanks!

Ticket imported from: #3450696. Ticket imported from: bugs/5914.

Change History (13)

comment:1 Changed 7 years ago by digitall

Owner: set to vinterstum

comment:2 Changed 7 years ago by digitall

rotoman123: Thank you for this bug report.
Please can you confirm that this is not a misunderstanding.. The required gesture should be:
"Arrow keys Without holding any other finger down, swipe your finger quickly across the screen in the direction of the arrow key you want. "
as per instructions on http://wiki.scummvm.org/index.php/IPhone

Could you also test on a few other games to check if this is SCI (the engine used for Space Quest and other Sierra games) specific or is the same for all engines i.e. is specific to the IPhone backend...

comment:3 Changed 7 years ago by SF/rotoman123

Yes, the gesture I'm trying is "Without holding any other finger down, swipe your finger quickly across the screen in the direction of the arrow key you want".

Unfortunately I don't have any other games to try it right now. But AFAIK Space Quest 1+2 is using the AGI engine, and 3 is using SCI. So the problem is probably in the backend.

comment:4 Changed 7 years ago by digitall

OK... The IPhone was the most likely culprit. Have assigned to the Iphone porter... Please stand by.

If you want to confirm with a couple of other games, then Beneath a Steel Sky and Flight of the Amazon Queen can be downloaded as freeware from our downloads page...

comment:5 Changed 7 years ago by SF/rotoman123

Can conform that it doesn't work with "Beneath a Steel Sky" either.

comment:6 Changed 7 years ago by digitall

rotoman: Thank you for the further information..
Our IPhone team tends to be very busy, so it may be quite a while before this bug is addressed, so please standby.
(Though if you are a motivated C++ software developer, please feel free to investigate and provide a patch)

One further thing you can do to help is check previous releases, at least v1.3.1 and v1.3.0 to see if the Arrow Key gesture works on those i.e. if this is a recent regression or has been broken for a while...

comment:7 Changed 7 years ago by lordhoto

A very easy test case should be the launcher: If you swipe down it should select the next game in the game list, if you swip up it should select the previous game.

I can't do that right now, so can confirm this is broken.

comment:8 Changed 7 years ago by digitall

To update status on this, the IPhone backend event code currently uses "Private" APIs for the Swipe Gesture code and these private APIs have now been broken by Apple, breaking this.

However, by definition, a "Private" API is not guaranteed and their use should be avoided.

I am not an expert, but I think this is the API in question:
http://cocoadev.com/wiki/MultiTouchTrackpad
which is used in the scummvm/backends/platform/iphone code.

This will require our IPhone developers to look at rewriting this to fix and preferably use only the Public APIs.

comment:9 Changed 7 years ago by digitall

Ah sorry, this may actually be the __GSEvent APIs which are private. Either way, this is broken due to use of a Private, rather than the correct Public APIs.

comment:10 Changed 7 years ago by sev-

Priority: normalhigh

comment:11 Changed 7 years ago by sev-

This bug is nice to get fixed before the release. Raising priority for keeping the track.

comment:12 Changed 3 years ago by sev-

Component: Ports

comment:13 Changed 5 months ago by digitall

Component: PortsPort: iOS
Note: See TracTickets for help on using tickets.