[Dev] Keyboard issues with Weston and AGL application suite

Derek Foreman derekf at osg.samsung.com
Mon Oct 19 14:16:50 GMT 2015


On 19/10/15 04:44 AM, Leon Anavi wrote:
> Hi Derek,
> 
> On 14.10.2015 23:37, Leon Anavi wrote:
>> Hi Derek,
>>
>> On 14.10.2015 20:11, Derek Foreman wrote:
>>> On 14/10/15 05:31 AM, Leon Anavi wrote:
>>>> Hi Derek, All,
>>>>
>>>> Derek, I am experiencing similar issues with weston-keyboard as in your
>>>> article "When is a Keyboard Not a Keyboard?" which has been
>>>> published at
>>>> Samsung OSG blog.
>>>>
>>>> Could you please provide me help how to get Weston 1.6 working with the
>>>> virtual weston-keyboard in the HTML5 apps from the AGL app suite when
>>>> hardware keyboard is not present?
>>> Looks like a bug I fixed last December, actually:
>>> http://cgit.freedesktop.org/wayland/weston/commit/?id=f0aaa417
>>>
>>> Fairly small so it might be an easy forward port...
>>
>> Thank you for the provided feedback.
>>
>> I applied a patch with this bug fix to Weston 1.6 but I am still
>> experiencing the same issue (as described in my previous email). It is
>> a bit late here so I will continue debugging it tomorrow.
> 
> After further exploration of various log files I noticed that the issues
> while running AGL app suite on Tizen with Crosswalk, Wayland and Weston
> 1.6 do not appear if an event from /dev/input is detected as a keyboard.
> As a work around a colleague from Konsulko Group defined a GPIO as a key
> at the device tree. This way the GPIO is detected by Weston as a keyboard:

That's quite clever, and I'll try to remember it. :)

Last time someone asked me for a way to create fake keyboard presence, I
suggested writing a program with uinput - but if you've got control over
your device tree your approach is much simpler.

> [00:00:08.831] input device 'gpio-keys.22', /dev/input/event1 is a keyboard
> 
> The configuration of Weston is:
> 
> [input-method]
> path=/usr/libexec/weston-keyboard
> 
> [keyboard]
> keymap_layout=us
> 
> Derek, in this case we are using the behavior described in your article
> "When is a Keyboard Not a Keyboard" for the work around. Please let me
> know how can I help you find and fix the root cause of the problem as it
> seems to be a Weston issue.

It's definitely a weston issue and not one of configuration, but it's
hard to tell if it's already been fixed upstream.

Do you have (or can you easily build) weston-editor for your platform?
It's part of the weston repository...  If you can reproduce the crash
with that then I can reproduce it on my desktop here and fix it promptly.

A backtrace of weston when it fails would also be quite helpful.

Is it possible to build an image that can reproduce this problem that
runs on an intel machine?  I have an old laptop I could re-image (I can
knock the keyboard device registration bits out of weston to mimic lack
of keyboard presence easily enough...)

I also have a beaglebone black and an rpi2 on hand if either of those
could reproduce it, but the rpi2 tizen port has some crosswalk issues
that will likely make this untestable.

> Best regards,
> Leon
> 
>>
>> Thanks,
>> Leon
>>
>>>
>>> Hope that helps a bit,
>>> Derek
>>>
>>>> In my case Weston keeps crashing when I type in HTML5 input fields from
>>>> the AGL apps through the virtual weston-keyboard if no hardware
>>>> keyboard
>>>> is attached. I am working on a Tizen image that contains Wayland and
>>>> Weston 1.6, Crosswalk 11.40.277.0 and libinput 0.6.0. Please have a
>>>> look
>>>> at my test cases for more details:
>>>>
>>>> * Test case 1, weston.ini:
>>>>
>>>> [input-method]
>>>> path=/usr/libexec/weston-keyboard
>>>>
>>>> [keyboard]
>>>> keymap_layout=wkb
>>>>
>>>> Results:
>>>>
>>>> 1.1. No hardware keyboard: FAIL
>>>> Weston crashes when the user tries to launch Browser from the
>>>> Homescreen
>>>> app:
>>>>
>>>> [00:00:32.676] caught signal: 11
>>>>
>>>> 1.2. With hardware keyboard: FAIL
>>>>
>>>> Weston detects the hardware keyboard:
>>>>
>>>> [00:00:07.480] input device 'SEM USB Keyboard', /dev/input/event0 is a
>>>> keyboard
>>>> [00:00:07.481] input device 'SEM USB Keyboard', /dev/input/event1 is a
>>>> keyboard
>>>>
>>>> Weston crashes when the user tries to launch Browser from the
>>>> Homescreen
>>>> app:
>>>>
>>>> [00:00:49.925] caught signal: 11
>>>>
>>>>
>>>> * Test case 2, weston.ini:
>>>>
>>>> [input-method]
>>>> path=
>>>>
>>>> [keyboard]
>>>> keymap_layout=wkb
>>>>
>>>> Results:
>>>> 2.1. No hardware keyboard: OK with remark - there is no virtual
>>>> keyboard
>>>> (as expected) so there is no way to type.
>>>>
>>>> 2.2. With hardware keyboard: FAIL
>>>>
>>>> Weston detects the hardware keyboard:
>>>>
>>>> [00:00:06.586] input device 'SEM USB Keyboard', /dev/input/event0 is a
>>>> keyboard
>>>> [00:00:06.587] input device 'SEM USB Keyboard', /dev/input/event1 is a
>>>> keyboard
>>>>
>>>> Weston fails as soon as the user starts to type in HTML5 input field
>>>> for
>>>> URL at the Browser app through the hardware keyboard:
>>>>
>>>> [00:00:48.006] caught signal: 11
>>>>
>>>> * Test case 3, weston.ini:
>>>>
>>>> [input-method]
>>>> path=/usr/libexec/weston-keyboard
>>>>
>>>> [keyboard]
>>>> keymap_layout=us
>>>>
>>>> Results:
>>>> 3.1. No hardware keyboard: FAIL
>>>>
>>>> Weston crashes when the user tries to launch Browser from the
>>>> Homescreen
>>>> app:
>>>>
>>>> [00:00:28.391] caught signal: 11
>>>>
>>>> 3.2. With hardware keyboard: OK
>>>>
>>>> Weston detects the hardware keyboard and both the hardware and virtual
>>>> weston-keyboard work fine:
>>>>
>>>> [00:00:06.767] input device 'SEM USB Keyboard', /dev/input/event0 is a
>>>> keyboard
>>>> [00:00:06.771] input device 'SEM USB Keyboard', /dev/input/event1 is a
>>>> keyboard
>>>>
>>>> I want to get weston-keyboard working fine in Weston even if there
>>>> is no
>>>> hardware keyboard.
>>>>
>>>> Thanks,
>>>> Leon
>>>>
>>
> 



More information about the Dev mailing list