Hi Sung-Jin, First of all, thanks for you review,
On Wed, 21 Sep 2011 21:02:21 +0900, Sung-Jin Park <sj76.p...@samsung.com> wrote : > Hi, > > > > I have several opinions about the code. > > > 1. This can be hardware-dependent code. > > There are two or more types Linux MT protocol. (You can see here > <http://www.google.co.kr/url?q=http://www.mjmwired.net/kernel/Documentation/ > input/multi-touch-protocol.txt&sa=U&ei=BaV5Tqr5O- > 3UmAWYhInLAQ&ved=0CBAQFjAA&sig2=U9xA2Bo40_i6yfBqEBgwLw&usg=AFQjCNFe7mFV5heDy > IKS3IGHzr-0GFJ_eA> .) > Protocol A, B and so on. > > In system whose kernel uses MT protocol A, ABS_MT_TRACKING_ID event won¡¯t > be made. > Then _ecore_mouse_move() won¡¯t be called in _ecore_x_input_handler() in > your patch. What you say is true, but not in this case. This implementation is for the xorg-x11-drv-mtev driver, that uses the mtdev library (http://bitmath.org/code/mtdev/). The mtdev library takes care of the protocol abstraction and does finger tracking. > > > 2. As you mentioned earlier in your mail, event for the first finger will > be made twice. > > When you move with the first finger, it makes MotionNotify and > XI_MotionNotify for the same finger. > Both events must be made and transferred via wire by Xserver at the same > time. > This can make overheads for transferring both X event and XI event between > Xserver and application for the first finger. > Besides in evas multi_down and multi_move callback, application must check > deviceid everytime. > > Multitouch device can be configured on X system in some ways. > (1) Each finger can be configured as an XISlavePointer attached to a master > pointer. > (2) Each finger can also be configured as an XIFloatingSlave. > (3) One finger can be configured as an XISlavePointer and the others can be > XIFloatingSlave. > I¡¯d like to recommend that you take 3rd configuration in the above ways. > > > > First finger makes only X events as SlavePointer device. > > The other fingers make XI events as FloatingSlave device. > > Currently, ecore and evas code based on this configuration. > > Application gets mouse event as the first finger and gets multi events as > the other fingers. > > Is there any difficulty to use the 3rd configuration in your platform ? > > > > If you didn¡¯t float 2nd/3rd finger from master pointer, the fingers will > make X events such as ButtonPress/ButtonRelease/MotionNotify. > > For example, in a list widget in an application just gets X events, 2nd/3rd > finger¡¯s movement will be affected. > > How about your opinions ? That would be ideal for our use case, but AFAIK, there's no way to have multiple pointers in one X driver, nor control the type of pointer, ie make it a SlavePointer or FloatingSlave (this could be done *after* the X server is launched, but would require an additionnal program). In its current form, Ecore_X's input support is MPX (Multi-pointer) oriented. But having multiple pointers is quite different from supporting multi-touch, and that's why XI2 is being reworked (see first email and http://liveweb.waybackmachine.org/http://who-t.blogspot.com/2010/10/thoughts-on-linux-multitouch.html (a bit outdated)). Regards, Anisse ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel