[Scummvm-devel] Android port: mouse/touchscreen improvements

Angus Lees alees at google.com
Fri Aug 6 16:14:47 CEST 2010


On Fri, Aug 6, 2010 at 06:02, yotam barnoy <yotambarnoy at gmail.com> wrote:
> One of the 2 modes on the iPhone turns the screen into a
> touchpad just like the one on a laptop. It's very clever, because it
> means your finger is on a different part of the screen and you can
> then aim precisely. Tapping with the touchpad finger is a left click,
> and touching with another finger anywhere on screen is a right click.

This is interesting - I'd never considered using the touchscreen for
relative movement ...

Just to give some more background, the usual (Android) touchscreen
actions are: press, long-press, double-tap and various gestures
involving dragging (slow moves for scrolling/panning and rapid
"flings" for high speed scrolling).  About the only hardware key you
can rely on is the menu key that usually pops up a small panel with
various options.
The more modern devices can usually do multitouch, but the touchscreen
hardware in Android devices varies greatly from full multitouch, to "I
can tell you there were two touches but not exactly where", to no
multitouch at all.  So multitouch is certainly useful, but can't be
relied on.

You also get accelerometers, so you can detect device tilt,
orientation, being shaken, etc.  We can do reasonably sophisticated
gesture recognition on Android, so (eg) drawing a circle could mean
right click or something equally unintuitive.  Not sure if anyone can
think of a good way to use any of that though.  I have somewhat
seriously considered speech recognition for text-input games, just
because I can, but that is something for the future...


I think where we are going is that I will need various "input themes"
that the user can toggle between to suit the game and their
preference/device.  So far I had avoided having any Android-specific
config options (or game-specific tweaks), but we might have pushed
that approach as far as it can go :(

 - Gus




More information about the Scummvm-devel mailing list