[PATCH weston 4/8] shell: Update bindings to conform to pointer axis protocol

Pekka Paalanen ppaalanen at gmail.com
Fri Sep 28 03:46:33 PDT 2012


On Fri, 28 Sep 2012 04:38:52 -0600
Scott Moreau <oreaus at gmail.com> wrote:

> On Thu, Sep 27, 2012 at 11:04 AM, Jonas Ådahl <jadahl at gmail.com> wrote:
> 
> > Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
> > ---
> >  src/shell.c |    7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/shell.c b/src/shell.c
> > index e2715d6..6193bd2 100644
> > --- a/src/shell.c
> > +++ b/src/shell.c
> > @@ -2361,7 +2361,7 @@ static void
> >  surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t
> > axis,
> >                         wl_fixed_t value, void *data)
> >  {
> > -       float step = 0.05;
> > +       float step = 0.005;
> >         struct shell_surface *shsurf;
> >         struct weston_surface *surface =
> >                 (struct weston_surface *) seat->pointer->focus;
> > @@ -2373,7 +2373,7 @@ surface_opacity_binding(struct wl_seat *seat,
> > uint32_t time, uint32_t axis,
> >         if (!shsurf)
> >                 return;
> >
> > -       surface->alpha += wl_fixed_to_double(value) * step;
> > +       surface->alpha -= wl_fixed_to_double(value) * step;
> >
> >         if (surface->alpha > 1.0)
> >                 surface->alpha = 1.0;
> > @@ -2403,8 +2403,9 @@ do_zoom(struct wl_seat *seat, uint32_t time,
> > uint32_t key, uint32_t axis,
> >                         else if (key == KEY_PAGEDOWN)
> >                                 increment = -output->zoom.increment;
> >                         else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
> > +                               /* For every pixel zoom 20th of a step */
> >                                 increment = output->zoom.increment *
> > -                                           wl_fixed_to_double(value);
> > +                                           -wl_fixed_to_double(value) /
> > 20.0;
> >                         else
> >                                 increment = 0;
> >
> > --
> > 1.7.9.5
> >
> >
> I see now you changed the x11 backend in an earlier patch and account for
> it here. Unless I'm missing something, that leaves backends using evdev for
> input, broken.

..for mouse wheels. Maybe it's ok for touchpads, though?


thanks,
pq


More information about the wayland-devel mailing list