[PATCH] [weston, v2] weston.ini: Add natural scroll support to weston.ini
This adds support for enabling/disabling natural scrolling via a boolean in weston.ini: [libinput] natural_scroll=true CHANGES: - libinput_device_config_scroll_has_natural_scroll() is not longer compared to != 0 Signed-off-by: Jiayi Zhao--- compositor/main.c | 13 + weston.ini.in | 1 + 2 files changed, 14 insertions(+) diff --git a/compositor/main.c b/compositor/main.c index 080aa61..abfb55b 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 +,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)) { + natural_scroll_default = + libinput_device_config_scroll_get_default_natural_scroll_enabled( + device); + weston_config_section_get_bool(s, "natural_scroll", + _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 d837fb5..c7b8b98 100644 --- a/weston.ini.in +++ b/weston.ini.in @@ -60,6 +60,7 @@ path=@libexecdir@/weston-keyboard #[libinput] #enable_tap=true +#natural_scroll=false #[touchpad] #constant_accel_factor = 50 -- 2.7.3 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
[weston,v2] weston.ini: Add natural scroll support to weston.ini
This adds support for enabling/disabling natural scrolling via a boolean in weston.ini: [libinput] natural_scroll=true CHANGES: - libinput_device_config_scroll_has_natural_scroll() is not longer compared to != 0 Signed-off-by: Jiayi Zhao___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
[weston,v2] weston.ini: Add natural scroll support to weston.ini
This adds support for enabling/disabling natural scrolling via a boolean in weston.ini: [libinput] enable_natural_scroll=true CHANGES: - natural_scroll option has been changed to enable_natural_scroll - libinput_device_config_scroll_has_natural_scroll() is not longer compared to != 0 Signed-off-by: Jiayi Zhao___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
[PATCH] [weston, v2] weston.ini: Add natural scroll support to weston.ini
This adds support for enabling/disabling natural scrolling via a boolean in weston.ini: [libinput] enable_natural_scroll=true CHANGES: - natural_scroll option has been changed to enable_natural_scroll - libinput_device_config_scroll_has_natural_scroll() is not longer compared to != 0 Signed-off-by: Jiayi Zhao--- compositor/main.c | 13 + weston.ini.in | 1 + 2 files changed, 14 insertions(+) diff --git a/compositor/main.c b/compositor/main.c index 080aa61..a077a98 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 +,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)) { + natural_scroll_default = + libinput_device_config_scroll_get_default_natural_scroll_enabled( + device); + weston_config_section_get_bool(s, "enable_natural_scroll", + _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 d837fb5..c590eb9 100644 --- a/weston.ini.in +++ b/weston.ini.in @@ -60,6 +60,7 @@ path=@libexecdir@/weston-keyboard #[libinput] #enable_tap=true +#enable_natural_scroll=false #[touchpad] #constant_accel_factor = 50 -- 2.7.3 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH] [weston] weston.ini: Add natural scroll support to weston.ini
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"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 > > --- > > 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 +,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", > > +_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 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
[PATCH weston] clients: Make XKB compose support conditional
Debian Jessie's version of libxkbcommon is too old for compose support, so rather than force people to upgrade, let's make it conditional. Signed-off-by: Daniel StoneCc: Bryce Harrington --- clients/window.c | 12 configure.ac | 4 2 files changed, 16 insertions(+) diff --git a/clients/window.c b/clients/window.c index 5e41210..84d585e 100644 --- a/clients/window.c +++ b/clients/window.c @@ -63,7 +63,9 @@ typedef void *EGLContext; #endif /* no HAVE_CAIRO_EGL */ #include +#ifdef HAVE_XKBCOMMON_COMPOSE #include +#endif #include #include @@ -373,8 +375,10 @@ struct input { struct { struct xkb_keymap *keymap; struct xkb_state *state; +#ifdef HAVE_XKBCOMMON_COMPOSE struct xkb_compose_table *compose_table; struct xkb_compose_state *compose_state; +#endif xkb_mod_mask_t control_mask; xkb_mod_mask_t alt_mask; xkb_mod_mask_t shift_mask; @@ -2982,8 +2986,10 @@ keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard, struct input *input = data; struct xkb_keymap *keymap; struct xkb_state *state; +#ifdef HAVE_XKBCOMMON_COMPOSE struct xkb_compose_table *compose_table; struct xkb_compose_state *compose_state; +#endif char *locale; char *map_str; @@ -3031,6 +3037,7 @@ keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard, locale = "C"; /* Set up XKB compose table */ +#ifdef HAVE_XKBCOMMON_COMPOSE compose_table = xkb_compose_table_new_from_locale(input->display->xkb_context, locale, @@ -3054,6 +3061,7 @@ keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard, fprintf(stderr, "could not create XKB compose table for locale '%s'. " "Disabiling compose\n", locale); } +#endif xkb_keymap_unref(input->xkb.keymap); xkb_state_unref(input->xkb.state); @@ -3099,6 +3107,7 @@ keyboard_handle_leave(void *data, struct wl_keyboard *keyboard, static xkb_keysym_t process_key_press(xkb_keysym_t sym, struct input *input) { +#ifdef HAVE_XKBCOMMON_COMPOSE if (sym == XKB_KEY_NoSymbol) return sym; if (xkb_compose_state_feed(input->xkb.compose_state, @@ -3117,6 +3126,9 @@ process_key_press(xkb_keysym_t sym, struct input *input) default: return sym; } +#else + return sym; +#endif } static void diff --git a/configure.ac b/configure.ac index 37da695..1e251bf 100644 --- a/configure.ac +++ b/configure.ac @@ -146,6 +146,10 @@ AC_ARG_ENABLE(xkbcommon, if test x$enable_xkbcommon = xyes; then AC_DEFINE(ENABLE_XKBCOMMON, [1], [Build Weston with libxkbcommon support]) COMPOSITOR_MODULES="$COMPOSITOR_MODULES xkbcommon >= 0.3.0" + PKG_CHECK_MODULES(XKBCOMMON_COMPOSE, [xkbcommon >= 0.5.0], + [AC_DEFINE(HAVE_XKBCOMMON_COMPOSE, 1, +[Define if xkbcommon is 0.5.0 or newer])], + true) fi AC_ARG_ENABLE(setuid-install, [ --enable-setuid-install],, -- 2.9.3 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH v4] Add configuration option for no input device.
On 21 October 2016 at 20:03, Daniel Díazwrote: > As it has been discussed in the past [1], running Weston > without any input device at launch might be beneficial for > some use cases. > > Certainly, it's best for the vast majority of users (and > the project) to require an input device to be present, as > to avoid frustration and hassle, but for those brave souls > that so prefer, this patch lets them run without any input > device at all. > > This introduces a simple configuration in weston.ini: > [core] > require-input=true > > True is the default, so no behavioral change is introduced. > > [1] > https://lists.freedesktop.org/archives/wayland-devel/2015-November/025193.html > > Signed-off-by: Daniel Díaz > Reviewed-by: Peter Hutterer Reviewed, tested, and pushed - thanks a lot! To ssh://git.freedesktop.org/git/wayland/weston 2dae4d0..75b7197 push -> master Cheers, Daniel ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel