Touch events not reviving with wayland-ivi-extenssion 1.4.0 and wayland video sink

Vikas Patil vikasmpatil at gmail.com
Tue Dec 15 06:54:44 PST 2015


If I force to pass the if condition as follows using the surface id
even though surfaces doesn't match, it is working. Does this might be
due to the way I created the surface 90? Surface 90 also has
subsurface, does it anyway related to subsurface?

Alos "grab->touch->focus->surface" what this surface is and who creates it?

surfID = interface->get_id_of_surface(surf_ctx->layout_surface);

        /* Touches set touch focus */

        if (grab->touch->num_tp == 1) {

            if (surf == grab->touch->focus->surface ||  surfID == 90) {

                surf_ctx->focus |= ILM_INPUT_DEVICE_TOUCH;

                send_input_focus(seat->input_ctx,


interface->get_id_of_surface(surf_ctx->layout_surface),

                                 ILM_INPUT_DEVICE_TOUCH, ILM_TRUE);

            }


Thanks & Regards,
Vikash

On Mon, Dec 14, 2015 at 8:53 PM, Vikas Patil <vikasmpatil at gmail.com> wrote:
> I am hitting else part of below code for this issue. Any ideas?
>
> touch_grab_down() from ivi-input-controller.c
>
>  /* Touches set touch focus */
>         if (grab->touch->num_tp == 1) {
>             if (surf == grab->touch->focus->surface) {
>                 surf_ctx->focus |= ILM_INPUT_DEVICE_TOUCH;
>                 send_input_focus(seat->input_ctx,
>
> interface->get_id_of_surface(surf_ctx->layout_surface),
>                                  ILM_INPUT_DEVICE_TOUCH, ILM_TRUE);
>             } else {
>                 surf_ctx->focus &= ~ILM_INPUT_DEVICE_TOUCH;
> <----------------------------------------------------------
>                 send_input_focus(seat->input_ctx,
>
> interface->get_id_of_surface(surf_ctx->layout_surface),
>                                  ILM_INPUT_DEVICE_TOUCH, ILM_FALSE);
>             }
>         }
>
>         /* This code below is slightly redundant, since we have already
>          * decided only one surface has touch focus */
>         if (!(surf_ctx->focus & ILM_INPUT_DEVICE_TOUCH))
>             continue;
> <-----------------------------------------------------------------------------
>
>
> Thanks & Regards,
> Vikash
>
> On Mon, Dec 14, 2015 at 3:25 PM, Vikas Patil <vikasmpatil at gmail.com> wrote:
>> Sorry. Forgot to attach the log file. Attached here.
>>
>> Thanks & Regards,
>> Vikas
>>
>> On Mon, Dec 14, 2015 at 3:24 PM, Vikas Patil <vikasmpatil at gmail.com> wrote:
>>> Hi Eugen Friedrich
>>>
>>> Thanks a lot for your quick reply.
>>>
>>> Attached here the file with WAYLAND_DEBUG=1 log when the gstreamer
>>> plug-in is in use. I can see "ivi_input at 18.input_focus(90, 4, 0)" for
>>> the surface from plug-in but no touch events.
>>>
>>> Here is the output of APIs
>>>
>>> root at linux-9939-a1:~# LayerManagerControl get input device default capabilities
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> pointer
>>> keyboard
>>> touch
>>>
>>> root at linux-9939-a1:~# LayerManagerControl get surface 90 acceptance
>>> Interpreter error: 'acceptance' not recognized.
>>>
>>> root at orinoco-9939-a1:~# LayerManagerControl get input devices with all
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> default
>>>
>>> root at linux-9939-a1:~# LayerManagerControl get input focus
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> failed to get surface context in ilmControl
>>> surface 90:
>>> surface 63:
>>> surface 62:
>>> surface 61:
>>> surface 60: pointer keyboard
>>>
>>>
>>> Thanks & Regards,
>>> Vikas
>>>
>>> On Mon, Dec 14, 2015 at 3:01 PM, Friedrich, Eugen (ADITG/SW1)
>>> <efriedrich at de.adit-jv.com> wrote:
>>>> Hello Vikas,
>>>>
>>>> Could you please add the WAYLAND_DEBUG=1 traces from you application, to see if the input events are reaching the client.
>>>>
>>>> Also the output of the following API would be helpful:
>>>> ilm_getInputFocus,
>>>> ilm_getInputDevices,
>>>> ilm_getInputAcceptanceOn(with you surface id)
>>>>
>>>> the API's will return a list of devices or surfaces, please print the complete list.
>>>>
>>>>
>>>> Best regards
>>>>
>>>> Eugen Friedrich
>>>> Software Group I (ADITG/SW1)
>>>>
>>>> Tel. +49 5121 49 6921
>>>>
>>>>> -----Original Message-----
>>>>> From: genivi-ivi-layer-management-bounces at lists.genivi.org [mailto:genivi-
>>>>> ivi-layer-management-bounces at lists.genivi.org] On Behalf Of Vikas Patil
>>>>> Sent: Samstag, 12. Dezember 2015 12:57
>>>>> To: genivi-ivi-layer-management at lists.genivi.org; meta-
>>>>> freescale at yoctoproject.org; Tanibata, Nobuhiko (ADITJ/SWG); Carlos Rafael
>>>>> Giani; wayland mailing list
>>>>> Subject: Touch events not reviving with wayland-ivi-extenssion 1.4.0 and
>>>>> wayland video sink
>>>>>
>>>>> Dear All,
>>>>>
>>>>> I am using wayland video sink (i.e. imxeglvivsink) from gstreamer1.0-plugins-
>>>>> imx [1] to play the video along with weston 1.8.0 and wayland-ivi-extenstion
>>>>> 1.4.0. I have modified “imxeglvivsink” to have the ilm and touch input
>>>>> support [2]. Basically I am posting touch events on GST bus and application
>>>>> want to have the touch can read the messages and process the touch. This is
>>>>> working fine if I don’t load the “ivi-input-controller.so”. If I load the “ivi-input-
>>>>> controller.so”
>>>>> I am not able to get the touch event inside this plug-in. I have tried setting
>>>>> touch input focus to the surface from this wayland video plug-in using
>>>>> “LayermanagerControl” and ilm_setInputFocus” [3] but no luck.
>>>>>
>>>>>
>>>>> Also touch works fine even if I load “ivi-input-controller.so” with other
>>>>> applications. So I suspect some modification are required to ”imxeglvivsink”
>>>>> [2] or “wayland-ivi-extension/weston”.
>>>>>
>>>>> Do you know what might be going wrong? Could anyone here give some
>>>>> suggestions/ideas to tryout and fix this?
>>>>>
>>>>> Also “LayerManagerControl get surface 90 acceptance” doesn’t seem to
>>>>> work for me. Any inputs for this?
>>>>>
>>>>> I have tried modifying “gst_imx_egl_viv_sink_egl_platform_mainloop”
>>>>> function in various ways but no luck and I think implementation is correct (as
>>>>> it works well without ivi-input-controller)
>>>>>
>>>>> Following is the platform setup and weston configuration.
>>>>>
>>>>> i.MX6 Duallite
>>>>> Linux 3.14.28
>>>>> Weston 1.8.0 with (ivi-shell.so with fbdev backend and gal2d renderer)
>>>>> Wayland-ivi-extension 1.4.0 (using ivi-controller.so, ivi-input-controller.so
>>>>> gstreamer-imx plugin QTwayland 5.4.2/Qt 5.4.2
>>>>>
>>>>> Weston.ini contains:
>>>>>
>>>>> [core]
>>>>> shell=ivi-shell.so
>>>>>
>>>>> [ivi-shell]
>>>>> ivi-module=ivi-controller.so,ivi-input-controller.so
>>>>> ivi-shell-user-interface=/usr/lib/weston/weston-ivi-shell-user-interface
>>>>>
>>>>>
>>>>> [1] https://github.com/Freescale/gstreamer-imx/tree/master/src/eglvivsink
>>>>> [2]See attached modified file “egl_platform_wayland.c” from imxeglvivsink
>>>>> [3]
>>>>> http://wiki.projects.genivi.org/index.php/Getting_Started_with_new_Input
>>>>> _Handling_APIs
>>>>>
>>>>>
>>>>>
>>>>> Thanks & Regards,
>>>>> Vikash


More information about the wayland-devel mailing list