[PATCH weston] desktop-shell: use binding_modifier for zoom
Ian Ray
ian.ray at ge.com
Fri Sep 15 06:12:38 UTC 2017
Support for kiosk-style use cases where binding modififer is `none':
- Use binding modifier instead of hard-coded MODIFIER_SUPER for zoom.
- Disable opacity zoom if there is no binding modifier.
Signed-off-by: Ian Ray <ian.ray at ge.com>
---
desktop-shell/shell.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 415da19..1f99efe 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -4860,12 +4860,6 @@ shell_add_bindings(struct weston_compositor *ec, struct desktop_shell *shell)
weston_compositor_add_touch_binding(ec, 0,
touch_to_activate_binding,
shell);
- weston_compositor_add_axis_binding(ec, WL_POINTER_AXIS_VERTICAL_SCROLL,
- MODIFIER_SUPER | MODIFIER_ALT,
- surface_opacity_binding, NULL);
- weston_compositor_add_axis_binding(ec, WL_POINTER_AXIS_VERTICAL_SCROLL,
- MODIFIER_SUPER, zoom_axis_binding,
- NULL);
weston_compositor_add_key_binding(ec, KEY_BRIGHTNESSDOWN, 0,
backlight_binding, ec);
weston_compositor_add_key_binding(ec, KEY_BRIGHTNESSUP, 0,
@@ -4880,6 +4874,16 @@ shell_add_bindings(struct weston_compositor *ec, struct desktop_shell *shell)
if (!mod)
return;
+ /* This binding is not configurable, but is only enabled if there is a
+ * valid binding modifier. */
+ weston_compositor_add_axis_binding(ec, WL_POINTER_AXIS_VERTICAL_SCROLL,
+ MODIFIER_SUPER | MODIFIER_ALT,
+ surface_opacity_binding, NULL);
+
+ weston_compositor_add_axis_binding(ec, WL_POINTER_AXIS_VERTICAL_SCROLL,
+ mod, zoom_axis_binding,
+ NULL);
+
weston_compositor_add_key_binding(ec, KEY_PAGEUP, mod,
zoom_key_binding, NULL);
weston_compositor_add_key_binding(ec, KEY_PAGEDOWN, mod,
--
2.7.4
More information about the wayland-devel
mailing list