Possible bug with input handling

Christopher Michael cpmichael1 at comcast.net
Fri Dec 9 08:19:55 PST 2011


On 12/08/11 18:01, Tiago Vignatti wrote:
> On 12/08/2011 09:34 PM, Christopher Michael wrote:
>> On 12/08/11 10:14, Tiago Vignatti wrote:
>>> Hi, sorry for late reply.
>>>
>>> On 11/29/2011 08:30 PM, Christopher Michael wrote:
>>>>
>>>> I found an issue while working on some local code, that may be a bug in
>>>> the input handling of Wayland.
>>>>
>>>> In my function to process button events (from mouse), the 'btn'
>>>> parameter that gets returned to my handler seems incorrect for Wheel
>>>> Events.
>>>>
>>>> Basically, mouse wheel down events are coming in as BTN_EXTRA, and
>>>> mouse
>>>> wheel up events are coming in as BTN_SIDE. This seems incorrect to
>>>> me :/
>>>> In my opinion, these should be perhaps BTN_FORWARD/BTN_BACK or maybe
>>>> BTN_GEAR_DOWN/BTN_GEAR_UP.
>>>>
>>>> In <linux/input.h> there resides a BTN_WHEEL value ... perhaps that
>>>> should be used for the returned 'btn' parameter, and the 'state'
>>>> parameter could be set to BTN_GEAR_UP/DOWN ?? It would make more sense
>>>> imo. Here is some short 'pseudo' code to illustrate what I mean.
>>>>
>>>> _cb_handle_button(void *data, struct wl_input_device *dev, uint32_t t,
>>>> uint32_t btn, uint32_t state)
>>>> {
>>>> if (btn == BTN_WHEEL)
>>>> {
>>>> if (state == BTN_GEAR_DOWN)
>>>> printf("Mouse Wheel Scrolled Down\n");
>>>> else if (state == BTN_GEAR_UP)
>>>> printf("Mouse Wheel Scrolled Up\n");
>>>> }
>>>> }
>>>>
>>>> As I am fairly new to Wayland, I am not sure where the issue actually
>>>> resides or what the proper fix would be, so I cannot provide a patch to
>>>> fix it :/
>>>
>>> BTN_WHEEL event is quite bizarre because it doesn't seem to be forwarded
>>> by any device. Are you using X11 or drm compositor btw? Can you run
>>> evtest [0] and show the output when you scroll up/down?
>>>
>>> [0] http://cgit.freedesktop.org/evtest/
>>>
>>> Tiago
>>
>> I am using the X11 compositor. Here is the output from evtest when
>> scrolling up/down on the wheel:
>>
>> http://imgur.com/IPhPT
>
> oh, that's "expected" behavior within X11 compositor cause, even with
> the last chances from today, we're not forwarding wheel events as they
> should to clients cause requires protocol changes. We're not treating
> correct either on drm compositor (evdev) case.

Is there any chance that the protocol will get fixed for this anytime soon ?

dh

>
> If you wanna hack around your code, you can take a look on a branch I
> was playing with axis and wheel, on evdev:
>
> http://cgit.freedesktop.org/~vignatti/wayland-demos/commit/?h=axis&id=a1bcb5af9474ef76d0a60d9923ab9ef9698a6fff
>
>
> Tiago
>



More information about the wayland-devel mailing list