Thread Previous • Date Previous • Date Next • Thread Next |
On 7/10/10 20:01 , Henrik Rydberg wrote:
On 10/07/2010 12:27 AM, Peter Hutterer wrote: [...]master: virtual device representing either cursor or keyboard focus slave: physical device (in most cases) core: device that can send core events. term is essentially deprecated, think of a master device as a core device. (slaves can never send core events). best to not use the term anymore, see also "core event" core event: core X protocol event sent down the wire. passive grab: grab activated when a button/key combination is pressed on a particular window. clients need to register a passive grab once, then will activate repeatedly until ungrabbed. passive grabs terminate automatically when the button/key is released active grab: grab activated immediately on request by the client, terminates when client ungrabs or disconnects. That about sums it up, I think :)Thanks for this comprised explanation. :-) It would be great to get a similar explanation to the touch interface, and what one gains by moving the gesture recognition to the client side. ;-)
in terms of the touch interface - will do asap but I need to get through my review queue first.
for moving the gestures to the client side:gestures are a very context-specific thing and in that article that started this thread, the paragraphs under "The lack of context" sum it up best: as an outsider you cannot know what is a gesture. So you will end up interpreting some things as a gesture that shouldn't, and not interpreting others that should be a gesture. For example, once an object is selected a number of gestures may become active that aren't otherwise. So on selecting an object, you need to teach the recogniser about these (or at least enable them), which puts you in a race condition because by the time the request has been forwarded to the recogniser, the gesture may already be over again. Plus, the roundtrip issue of sending events to the recogniser who sends some of them back before you can send them to the clients.
Technical reasons include the difficulty of updating the protocol if you notice something was missing - much harder than updating a library API.
Cheers, Peter
Thread Previous • Date Previous • Date Next • Thread Next |