[PATCH] [weston] weston.ini: Add natural scroll support to weston.ini

Jiayi Zhao jeff.no.zhao at gmail.com
Sat Oct 22 16:23:40 UTC 2016


Hmm,

it says here that

libinput_device_config_scroll_has_natural_scroll()

returns a zero value if device does not support natural scrolling

and returns a non-zero value if it does support natural scrolling:

https://wayland.freedesktop.org/libinput/doc/latest/group__config.html#ga82d1aa961d2bb2f0c72c22e2441a4fc3

So I don't really know how I else I can program it.

On Oct 20, 2016 9:05 PM, "Peter Hutterer" <peter.hutterer at who-t.net> wrote:

>

> >

> On Thu, Oct 20, 2016 at 08:43:18PM -0400, Jiayi Zhao wrote:
> > This adds support for enabling/disabling natural scrolling
> > via a boolean in weston.ini:
> >
> > [libinput]
> > natural_scroll=true
> >
> > Signed-off-by: Jiayi Zhao <jeff.no.zhao at gmail.com>
> > ---
> >  compositor/main.c | 13 +++++++++++++
> >  weston.ini.in     |  1 +
> >  2 files changed, 14 insertions(+)
> >
> > diff --git a/compositor/main.c b/compositor/main.c
> > index 8028ec3..6cd2a25 100644
> > --- a/compositor/main.c
> > +++ b/compositor/main.c
> > @@ -1095,6 +1095,8 @@ configure_input_device(struct weston_compositor
*compositor,
> >       struct weston_config *config = wet_get_config(compositor);
> >       int enable_tap;
> >       int enable_tap_default;
> > +     int natural_scroll;
> > +     int natural_scroll_default;
> >
> >       s = weston_config_get_section(config,
> >                                     "libinput", NULL, NULL);
> > @@ -1109,6 +1111,17 @@ configure_input_device(struct weston_compositor
*compositor,
> >               libinput_device_config_tap_set_enabled(device,
> >                                                      enable_tap);
> >       }
> > +
> > +     if (libinput_device_config_scroll_has_natural_scroll(device) !=
0) {
>
> libinput's *_has_* API is designed to return a boolean value, IMO you
> shouldn't use the != 0 here.
>
> > +             natural_scroll_default =
> > +
 libinput_device_config_scroll_get_default_natural_scroll_enabled(
> > +                             device);
> > +             weston_config_section_get_bool(s, "natural_scroll",
> > +                                            &natural_scroll,
> > +                                            natural_scroll_default);
> > +
 libinput_device_config_scroll_set_natural_scroll_enabled(device,
> > +                                                    natural_scroll);
> > +     }
> >  }
> >
> >  static void
> > diff --git a/weston.ini.in b/weston.ini.in
> > index 14a4c0c..08f931a 100644
> > --- a/weston.ini.in
> > +++ b/weston.ini.in
> > @@ -59,6 +59,7 @@ path=@libexecdir@/weston-keyboard
> >
> >  #[libinput]
> >  #enable_tap=true
> > +#natural_scroll=false
>
> "enable_natural_scroll" is more precise
>
> these are just nitpicks, the code itself looks fine, thanks.
>
> Cheers,
>    Peter
>
> >
> >  #[touchpad]
> >  #constant_accel_factor = 50
> > --
> > 2.7.3
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20161022/8fdd22ba/attachment.html>


More information about the wayland-devel mailing list