On 11/01/16 09:41 AM, Bob Ham wrote: > Allow the binding-modifier option in weston.ini to take a value of > "none", meaning that none of the usual Super+Tab, Super+K, Super+Fn, > etc. key bindings will be enabled. > > Signed-off-by: Bob Ham <[email protected]>
Reviewed-by: Derek Foreman <[email protected]> > --- > desktop-shell/shell.c | 26 ++++++++++++++------------ > man/weston.ini.man | 2 +- > 2 files changed, 15 insertions(+), 13 deletions(-) > > diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c > index c94d0b1..87f2a1e 100644 > --- a/desktop-shell/shell.c > +++ b/desktop-shell/shell.c > @@ -610,6 +610,8 @@ get_modifier(char *modifier) > return MODIFIER_ALT; > else if (!strcmp("super", modifier)) > return MODIFIER_SUPER; > + else if (!strcmp("none", modifier)) > + return 0; > else > return MODIFIER_SUPER; > } > @@ -660,10 +662,7 @@ shell_configuration(struct desktop_shell *shell) > > weston_config_section_get_string(section, > "exposay-modifier", &s, "none"); > - if (strcmp(s, "none") == 0) > - shell->exposay_modifier = 0; > - else > - shell->exposay_modifier = get_modifier(s); > + shell->exposay_modifier = get_modifier(s); > free(s); > > weston_config_section_get_string(section, "animation", &s, "none"); > @@ -6452,9 +6451,20 @@ shell_add_bindings(struct weston_compositor *ec, > struct desktop_shell *shell) > 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, > + backlight_binding, ec); > > /* configurable bindings */ > + if (shell->exposay_modifier) > + weston_compositor_add_modifier_binding(ec, > shell->exposay_modifier, > + exposay_binding, shell); > + > mod = shell->binding_modifier; > + if (!mod) > + return; > + > weston_compositor_add_key_binding(ec, KEY_PAGEUP, mod, > zoom_key_binding, NULL); > weston_compositor_add_key_binding(ec, KEY_PAGEDOWN, mod, > @@ -6480,12 +6490,8 @@ shell_add_bindings(struct weston_compositor *ec, > struct desktop_shell *shell) > shell); > weston_compositor_add_key_binding(ec, KEY_F9, mod, backlight_binding, > ec); > - weston_compositor_add_key_binding(ec, KEY_BRIGHTNESSDOWN, 0, > - backlight_binding, ec); > weston_compositor_add_key_binding(ec, KEY_F10, mod, backlight_binding, > ec); > - weston_compositor_add_key_binding(ec, KEY_BRIGHTNESSUP, 0, > - backlight_binding, ec); > weston_compositor_add_key_binding(ec, KEY_K, mod, > force_kill_binding, shell); > weston_compositor_add_key_binding(ec, KEY_UP, mod, > @@ -6499,10 +6505,6 @@ shell_add_bindings(struct weston_compositor *ec, > struct desktop_shell *shell) > workspace_move_surface_down_binding, > shell); > > - if (shell->exposay_modifier) > - weston_compositor_add_modifier_binding(ec, > shell->exposay_modifier, > - exposay_binding, shell); > - > /* Add bindings for mod+F[1-6] for workspace 1 to 6. */ > if (shell->workspaces.num > 1) { > num_workspace_bindings = shell->workspaces.num; > diff --git a/man/weston.ini.man b/man/weston.ini.man > index 09f2ae8..29849ee 100644 > --- a/man/weston.ini.man > +++ b/man/weston.ini.man > @@ -266,7 +266,7 @@ pressed > sets the modifier key used for common bindings (string), such as moving > surfaces, resizing, rotating, switching, closing and setting the transparency > for windows, controlling the backlight and zooming the desktop. Possible > values: > -ctrl, alt, super (default) > +none, ctrl, alt, super (default) > .TP 7 > .BI "num-workspaces=" 6 > defines the number of workspaces (unsigned integer). The user can switch > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
