desktop-shell: Allow binding-modifier weston.ini option to be none

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 <bob.ham@collabora.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 474d118..6f1c167 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -610,6 +610,8 @@
 		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 @@
 
 	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 @@
 	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);
 	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 @@
 					  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;