Active Topics

 


Reply
Thread Tools
Posts: 1,522 | Thanked: 392 times | Joined on Jul 2010 @ São Paulo, Brazil
#21
The joypad algorithm for example, would work like this:



On one side, lets pick the right one, you draw a thumbstick, with your right thumb you can drag it to anywhere you want within it's range (the circle or square area representing the range of motion of the stick), depending on the desired mechanics it will either snap to center or rest where you left it when you raise your finger.


On the left side, you draw several buttons (i imagine around 9 might already be pushing the algorithm to it's limits), the distribution of the buttons and the positioning and size of the group would matter, some configurations would make it too hard for tunning the algorithm. The buttons you must never slide from one to another (perhaps if they were just a vertical line of a few buttons sliding can work), you should lift your thumb and then press down on the next button.


The two sides can be used concurrently (that means you use each one without needing to interfeer with the use of the other.


The key part is the algorithm to separate the two inputs. With the N900's sensor, two touches result in the cursor being placed in point between two touches, and if you touch them one and then the other, the cursor will jet from the position of the first towards the midpoint. This is the building block of the pure screen algorithms.


If it is just the joypad being used the cursor stays in the joypad area.
If it is just the buttons being used, the cursor stays over one of the buttons.

And now the interesting part:

If the joypad is being used and then a button is pressed, the cursor will jump from the last joypad to the point midway between that and the pressed button, which gives you which button is pressed.

If a button is being held down and then you pull on the joypad, the cursor will jump to the position between the button and the current joypad position.

And when a button is pressed and you wiggle the joypad around, you already know which button is pressed, so it's just a matter of extrapolating the joypad position.


Questions?





ps:it might involve a little bit of practice depending on how you usually touch the screen with your thumbs, the position of the cursor with two fingers on is the average of the two contact points, but it's an average weighted by the pressure of each thumb (with a little practice you can wiggle the cursor back and forth between the thumbs)
 
ysss's Avatar
Posts: 4,384 | Thanked: 5,524 times | Joined on Jul 2007 @ ˙ǝɹǝɥʍou
#22
Originally Posted by gerdich View Post
The system sees one point at different times at different locations.
That's very much and enough to emulate all multitouch gestures in a specific way.


Multitouch is not useful on little devices. The screen is to little. And the precision of a finger is nothing against the precision of a stylus.

There are good single touch emulations of all multitouch gestures. We have only to implement them.
Here's a common multitouch gesture with just 2 fingers (most multitouch screens are capable of processing more than 2 points at a time), let's see how you emulate this:

2 touch points on screen = zoom, rotate and pan an image.

Yes, all 3 can be done together at the same time:

- When the two fingers are moved closer/apart: the image will zoom in/out)
- When the two fingers are rotated against the other: the image will rotate according to the direction
- When the two fingers are moved around screen (maintaining their relation to one another): the image will pan.

This is commonly used in image manipulation apps, while the single finger gesture is used for the main interaction:

For photo browsing: single finger actions are used for changing photos.

For drawing apps: single finger actions are used for drawing.

Notice that the system does not need to change into different modes via UI buttons or key combinations, it just recognizes the different types of multitouch and applies the operations immediately.
__________________
Class .. : Power User
Humor .. : [#####-----] | Alignment: Pragmatist
Patience : [###-------] | Weapon(s): Galaxy Note + BB Bold Touch 9900
Agro ... : [###-------] | Relic(s) : iPhone 4S, Atrix, Milestone, N900, N800, N95, HTC G1, Treos, Zauri, BB 9000, BB 9700, etc

Follow the MeeGo Coding Competition!
 
ysss's Avatar
Posts: 4,384 | Thanked: 5,524 times | Joined on Jul 2007 @ ˙ǝɹǝɥʍou
#23
Tiago:

Let's keep this simple:

A pt1 X
B pt2 Y
C pt3 Z


A and Z will be the same as C and X. They both register as pt2.
__________________
Class .. : Power User
Humor .. : [#####-----] | Alignment: Pragmatist
Patience : [###-------] | Weapon(s): Galaxy Note + BB Bold Touch 9900
Agro ... : [###-------] | Relic(s) : iPhone 4S, Atrix, Milestone, N900, N800, N95, HTC G1, Treos, Zauri, BB 9000, BB 9700, etc

Follow the MeeGo Coding Competition!
 
Posts: 323 | Thanked: 116 times | Joined on Jul 2010
#24
This is only ONE very simple emulation of multitouch:
(I call it Multiple virtual pointers MVP).

Instead of a single mouse pointer you have several (say 7) virtual pointers.

The principle is very easy (I call it "Jump to the next pointer" (JNP)):

If you tap on the screen only the virtual pointer next to the tapped location is moved to that place.

@ysss:
I didn't see your posts:
This problem is solved by my tap@swipe emulation:
If you tap on the screen followed by a swiping this is recognized as a combined gesture with the following interpretation.
The tapped spot is the center of the transformation.
The beginning and the end of the swiping define the transformation (rotation, zoom)

Last edited by gerdich; 2011-01-12 at 15:29. Reason: Didn't see post
 
ysss's Avatar
Posts: 4,384 | Thanked: 5,524 times | Joined on Jul 2007 @ ˙ǝɹǝɥʍou
#25
Originally Posted by gerdich View Post
This is only ONE very simple emulation of multitouch:
(I call it Multiple virtual pointers MVP).

Instead of a single mouse pointer you have several (say 7) virtual pointers.

The principle is very easy (I call it "Jump to the next pointer" (JNP)):

If you tap on the screen only the virtual pointer next to the tapped location is moved to that place.
I'm not sure if you read my post (I call it INSIYRMP).

And what would 7 stationary pointers are used for on screen, when you can only move 1 at a time? (I call that WTF).

Also, I was mainly responding to this claim of yours...


Originally Posted by gerdich View Post
There are good single touch emulations of all multitouch gestures. We have only to implement them.
I have a feeling that you're missing the point of multitouch.

@ysss:
I didn't see your posts:
This problem is solved by my tap@swipe emulation:
If you tap on the screen followed by a swiping this is recognized as a combined gesture with the following interpretation.
The tapped spot is the center of the transformation.
The beginning and the end of the swiping define the transformation (rotation, zoom)
No pan and the device has to change modes via a button/other gestures/triggers if you would like to do other thing than just rotate and zoom.

The difference is subtle on writing, but when you play with a multitouch tablet then the intuitive feel comes through very clearly.

It's even more pronounced when you combine those capabilities. Left hand with 2 fingers manipulating the image (zoom, pan, rotate, all at the same time) while your right hand is drawing. For example.
__________________
Class .. : Power User
Humor .. : [#####-----] | Alignment: Pragmatist
Patience : [###-------] | Weapon(s): Galaxy Note + BB Bold Touch 9900
Agro ... : [###-------] | Relic(s) : iPhone 4S, Atrix, Milestone, N900, N800, N95, HTC G1, Treos, Zauri, BB 9000, BB 9700, etc

Follow the MeeGo Coding Competition!

Last edited by ysss; 2011-01-12 at 15:34.
 
MaddogG's Avatar
Posts: 234 | Thanked: 175 times | Joined on Jun 2010 @ Genova (Italy)
#26
Originally Posted by ysss View Post
tiago:

Let's keep this simple:

A pt1 x
b pt2 y
c pt3 z


a and z will be the same as c and x. They both register as pt2.
_____________x
____________u y v
a b c d _______z


@TiagoTiago

I had the same idea some time ago, it's definitely possible to achieve this result, although obtaining thumbstick position while pressing a button could be a bit tricky.
__________________
Some say the world will end in fire; some say in segfaults...
 

The Following User Says Thank You to MaddogG For This Useful Post:
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#27
Originally Posted by TiagoTiago View Post
The joypad algorithm for example, would work like this:
I already tried this concept long ago in a nonreleased build of DrNokSnes. It worked very well... as long as you used two stylus. With both fingers I found no way to be able to make it precise enough for game usage.
 

The Following 3 Users Say Thank You to javispedro For This Useful Post:
Posts: 323 | Thanked: 116 times | Joined on Jul 2010
#28
Originally Posted by ysss View Post
And what would 7 stationary pointers are used for on screen, when you can only move 1 at a time? (I call that WTF).
There is no need that all movements are done on the same time.
You can pinch by moving one edge and then after this moving the other edge.


Originally Posted by ysss View Post
No pan and the device has to change modes via a button/other gestures/triggers if you would like to do other thing than just rotate and zoom.
The pan is a translation. It doesn't need any center of transformation. It is a transformation that is done only by swiping on the n900, without any change of mode.

Originally Posted by ysss View Post
Left hand with 2 fingers manipulating the image (zoom, pan, rotate, all at the same time) while your right hand is drawing. For example.
You can't paint on a multitouch device at all. The fingers are to thick. You can only do the drawing of a 4 year old child.
And if you do serious painting you don't zoom, pan and draw at the same time.

An intelligent person does one thing after the other one. If you do everything at the same time everything will be bad.
 
ysss's Avatar
Posts: 4,384 | Thanked: 5,524 times | Joined on Jul 2007 @ ˙ǝɹǝɥʍou
#29
Originally Posted by gerdich View Post
There is no need that all movements are done on the same time.
You can pinch by moving one edge and then after this moving the other edge.
Well, maybe you don't. But the multitouch bearing competitors have been exploring these combinations and coming up with very interesting new interaction paradigms.


The pan is a translation. It doesn't need any center of transformation. It is a transformation that is done only by swiping on the n900, without any change of mode.
Sure there is. There is pan mode and rotate+zoom mode.

You can't paint on a multitouch device at all. The fingers are to thick. You can only do the drawing of a 4 year old child.
And if you do serious painting you don't zoom, pan and draw at the same time.

An intelligent person does one thing after the other one. If you do everything at the same time everything will be bad.
Here is something to open your mind. It doesn't hurt to see what the competitors are doing.

http://www.youtube.com/watch?v=jYSRQDxeGZY
__________________
Class .. : Power User
Humor .. : [#####-----] | Alignment: Pragmatist
Patience : [###-------] | Weapon(s): Galaxy Note + BB Bold Touch 9900
Agro ... : [###-------] | Relic(s) : iPhone 4S, Atrix, Milestone, N900, N800, N95, HTC G1, Treos, Zauri, BB 9000, BB 9700, etc

Follow the MeeGo Coding Competition!
 
MaddogG's Avatar
Posts: 234 | Thanked: 175 times | Joined on Jun 2010 @ Genova (Italy)
#30
Originally Posted by ysss View Post
Here is something to open your mind. It doesn't hurt to see what the competitors are doing.
Of course, we know that we will never be able to transform our N900 into an IPad, we only want to cover some simple use cases, nothing more.
__________________
Some say the world will end in fire; some say in segfaults...
 
Reply

Tags
input emulation, just shoot me, multitouch, touch


 
Forum Jump


All times are GMT. The time now is 15:45.