/srv/irclogs.ubuntu.com/2012/06/13/#ubuntu-touch.txt

=== MacSlow is now known as MacSlow|lunch
=== MacSlow|lunch is now known as MacSlow
cndgood morning14:16
cndbregma, dandrader: standups :)14:16
cndI'm in the middle of investigations, not much new14:16
bregmajust finishing off the code reviews14:16
bregmauh, merge proposal reviews14:16
dandraderback to work on the gestures delivery logic. Noticed that there's a situation that's not being considered there. i.e. gestures with the very same set of touches are not in conflict with each other as they just present complementary info on the same physical gesture (e.g. a touch and a drag gesture)14:18
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
dandradercnd, ping16:30
cnddandrader, pong16:38
dandraderI'm cornered here. geis_v1 implementation of unity gestures is as follows:16:38
dandrader - touch gestures used to show and hide the grab handles16:39
dandrader - drag gestures to move the window16:39
dandrader - pinch gestures to maximize and restore the window16:39
dandraderand those gestures can come in parallel16:39
dandraderso you can get both touch and drag16:39
cndyeah16:40
dandraderin geis_v2 implementation I made one subscription for each of those gesture classes16:40
dandraderso, when I start moving 3 fingers16:41
cndahh, what you need to do is make one subscription with multiple filters16:41
cndIIRC16:41
dandraderproblem is that it seems I cannot make an OR for gesture classes16:41
dandraderin a filter16:41
cndhmm16:41
cndbregma^^?16:42
cndI thought that was possible16:42
cndyou can have multiple filters on one subscription16:42
cndso one filter for three touch drag16:42
cndone filter for three touch pinch16:42
dandraderbut the filters on a subscription will be "ANDed" together16:44
cnddandrader, I believe filters are ORed, terms are ANDed16:44
* dandrader checks16:45
dandrader * Thye effect of filters are ANDed together so that, for example, a16:46
dandrader * subscription that has a filter for 3-finger gestures and drag gestures will16:46
dandrader * produce events only for 3-finger drag gestures.16:46
dandradercnd,  at least that's what the documentation says16:46
cndhmm... what is it that is ORed...16:47
dandradersubscriptions :)16:47
cndI'm pretty sure there was something below that though16:47
cnddandrader, I'm suspicious that that comment is incorrect16:49
dandraderI'm checking the implementation to see if that's the case...16:49
bregmasorry guys, meetigs are eating my soul16:58
bregmaterms on a filter should be ANDed, filters on a subscription should be ORed16:58
bregmaif it's not doing that, I messed up, and I know I confused myself at some point16:59
dandraderbregma,  ahhh, cool. so there's a bug in the documentation after all17:02
bregmahopefully17:02
=== dandrader is now known as dandrader|lunch
=== dandrader|lunch is now known as dandrader
dandraderbregma, do you want a merge proposal for the patch that fixes geis_subscription_add_filter documentation?18:43
bregmaI personally would consider such a change "as obvious", so I don;t think a merge request is necessary18:44
dandraderbregma, ok18:44
dandraderpushed18:45
dandradercnd, one subscription with multiple filters behaves exactly the same as one subscription per filter18:45
dandraderwhich is what I'm doing18:46
dandraderso that doesn't help18:46
cndhmm... really?18:46
cnddandrader, oh, maybe we're thinking two different things18:46
dandraderprobably18:46
dandraderthe problem is18:46
cndwith multiple filters you'll still just get one set of events18:46
cndbut the events will be recognized as one or more of the subscription types18:46
dandrader(again with the window manipulation example in unity)18:46
cndand will fire when any of the filters matches18:47
dandraderas soon as you accept one gesture, the others vanish18:47
dandraderso if I accept the touch, drag vanishes18:47
dandraderand vice-versa18:47
dandraderand then a pinch will never come as well18:47
dandraderif I have a touch or a drag accepted18:47
cnddandrader, if you use multiple filters, are you getting multiple event streams for each filter?18:49
cndor just one event stream18:49
dandradercnd, let me send you a typical output of sliding 3 fingers: http://paste.ubuntu.com/1039514/18:50
dandradernotice the ACCEPT part18:50
cndhmm... that's not what I expect to happen18:50
cndI expect there to be one gesture, that has multiple classes18:50
cndfirst it starts as just a touch class18:51
cndand then it becomes a drag class too18:51
cndI'm not exactly sure what the best way to handle this is, if geis is broken, or if it just doesn't cater to this use case...18:53
cndbregma, what are your thoughts ^^?18:53
dandradersubscription ( filter (3 drag) filter (3 touch) ) ==  subscription ( filter (3 drag)  subscription ( filter (3 touch) )18:53
dandradercorrecting:18:53
dandradersubscription ( filter (3 drag) filter (3 touch) ) ==  subscription ( filter (3 drag) )  subscription ( filter (3 touch) )18:53
cndyeah18:53
cndwhich is not how it should be, imo18:53
cndotherwise, there's no point in having filters vs subscriptions18:54
dandraderwell, you could see subscriptions just as a container to group filters together18:54
cndyeah, but then it's just an added layer of abstraction18:55
dandradersure, not that this is all that useful indeed :)18:55
cndlet's wait to get some feedback from bregma18:56
cndthen we can try to figure out what to do about it18:56
bregmasorry guys, OTP, reading the backscroll....19:00
cndbregma, np :)19:01
bregmadandrader, are you saying you get the same output when you have a single subscription with a single filter with terms (touch EQ 3) and (class EQ DRAG) as you do with two separate subscriptions, one for each filter term?19:04
bregmaone subscrption with two filters, each with one term, will definitely behave like two subscriptions each with one filter each with one term19:06
bregmabecause filters are ORed19:07
bregmabut one subscription with one filter with two terms should behave differently form that19:07
cndbregma, I thought one geis subscription == one grail subscription19:07
bregmano19:08
cndif there are multiple filters on a geis subscription, then they are composited for the grail subscription19:08
bregmait's more like one filter == one grail sibscription19:08
cndhmm19:08
dandraderbregma, no. I mean sub(filter(class=drag, touches=3)) + sub(filter(class=touch, touches=3)) behaves the same as sub((filter(class=drag, touches=3),filter(class=touch, touches=3))19:08
bregmayes19:09
dandraderbregma, so what do I do in geis API to get gesture events with classes (touch OR drag)19:10
dandrader?19:10
bregmathat what those subscriptions should be giving you19:11
bregmahmm, I think I see the problem19:11
cndwhat we have now is touch XOR drag19:11
cndwe don't seem to have touch OR drag19:11
bregmathe problem lies in the interaction between subscriptions and accept/reject19:12
cndyeah19:12
bregmagrail subscription don;t really let you do ORing, as I recall19:14
cndthey do19:14
cndyou can subscribe to a list of types19:15
cndand then you can set the thresholds for each type19:15
bregmaright, grail uses a bitmap for subscriptions19:16
cndbregma, so are we talking a large change to geis to make this functionality possible?19:17
bregmaum, looking at the code it looks like repreated class terms are ORed19:19
dandraderthe solution is see for the moment if to not specify any class in the filters19:19
dandraders/if to/is to19:19
cndbregma, I think the bigger issue is that geis splits grail events into separate gesture streams for each gesture class19:20
cndrather than having one stream with multiple classes19:20
bregmageis doesn't split gestures19:21
bregmait looks like of you add two class terms to a filter it will OR them and do exactlt what you;re asking19:22
dandraderjust like magic19:23
* dandrader tries out19:24
dandraderbregma, yes, you're right!19:26
bregmawhat a fortunate bug19:27
dandraderlol19:27
bregmaer, feature19:27
dandraderman, that's a complex API19:27
bregmaANDing two classes makes no sense, because then you will have no results19:28
bregmabut logically it makes sense because it's symmetric19:28
bregmaperhaps the best solution for this is to document it well19:29
cndheh19:29
cndyay19:29
cnddisaster averted19:29
dandraderso in the end  having the filter concept is superfluous as you can achieve the same results with just adding terms directly to a subscription19:35
dandraders/can/could19:35
cndsounds right19:41
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
Jonii_Hi, how much of a work it would be to implement one touch gesture?21:54
Jonii_I mean, say I' running ubuntu 12.04, and I just want to see this gesture to happen on my own computer?21:55
cndJonii_, for a touchscreen?22:16
Jonii_touchpad22:27
cndJonii_, you can't listen to one-touch gestures from a touchpad22:38
cndbecause one-touch motion controls the cursor22:39
Jonii_cnd: i was thinking about multi-finger swipes and such23:37
Jonii_one touch gesture = one gesture that uses touchpad23:38

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!