Opened 12 years ago

Closed 5 years ago

#5914 closed defect (fixed)

IPHONE: swipe to simulate arrow keys doesn't work

Reported by: SF/rotoman123 Owned by: criezy
Priority: high Component: Port: iOS
Version: 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 (14)

comment:1 by digitall, 12 years ago

Owner: set to vinterstum

comment:2 by digitall, 12 years ago

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 by SF/rotoman123, 12 years ago

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 by digitall, 12 years ago

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 by SF/rotoman123, 12 years ago

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

comment:6 by digitall, 12 years ago

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 by lordhoto, 12 years ago

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 by digitall, 12 years ago

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 by digitall, 12 years ago

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 by sev-, 12 years ago

Priority: normalhigh

comment:11 by sev-, 12 years ago

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

comment:12 by sev-, 8 years ago

Component: Ports

comment:13 by digitall, 5 years ago

Component: PortsPort: iOS

comment:14 by criezy, 5 years ago

Owner: changed from vinterstum to criezy
Resolution: fixed
Status: newclosed

Swipe gestures have been reinstated using three-fingers swipe gesture.
Also a bar has been added above the keyboard for keys not present on the iPhone keyboard (tab, escape, return, function keys, arrow keys). You may need to scroll to see the arrow keys as they are on the far right of the bar.

Note: See TracTickets for help on using tickets.