Clone in a terminal:
Commit 8a0a1ff
Johan Mattsson - 2015-05-02T20:54:11+00:00
8a0a1ff64adfea0ba55c84b09b20a567300d91eajohan.mattsson.m@gmail.com

Fix key binding

Changed files (1)

Diff

diff --git a/libbirdfont/SettingsDisplay.vala b/libbirdfont/SettingsDisplay.valaindex f019fad..946b258 100644--- a/libbirdfont/SettingsDisplay.vala+++ b/libbirdfont/SettingsDisplay.vala@@ -102,28 +102,30 @@ public abstract class SettingsDisplay : FontDisplay { 	public override void key_release (uint keyval) { 		SettingsItem old_key_binding; 		-		if (update_key_bindings) {-			if (keyval == Key.BACK_SPACE) {-				update_key_bindings = false;-				new_key_bindings.active = false;-				new_key_bindings.menu_item.modifiers = NONE;-				new_key_bindings.menu_item.key = '\0';	-			} else if (KeyBindings.get_mod_from_key (keyval) == NONE) {-				-				if (has_key_binding (KeyBindings.modifier, (unichar) keyval)) {-					old_key_binding = (!) get_key_binding (KeyBindings.modifier, (unichar) keyval);-					old_key_binding.menu_item.modifiers = NONE;-					old_key_binding.menu_item.key = '\0';+		if (!KeyBindings.is_modifier_key (keyval)) {+			if (update_key_bindings) {+				if (keyval == Key.BACK_SPACE) {+					update_key_bindings = false;+					new_key_bindings.active = false;+					new_key_bindings.menu_item.modifiers = NONE;+					new_key_bindings.menu_item.key = '\0';	+				} else if (KeyBindings.get_mod_from_key (keyval) == NONE) {+					+					if (has_key_binding (KeyBindings.modifier, (unichar) keyval)) {+						old_key_binding = (!) get_key_binding (KeyBindings.modifier, (unichar) keyval);+						old_key_binding.menu_item.modifiers = NONE;+						old_key_binding.menu_item.key = '\0';+					}+					+					new_key_bindings.menu_item.modifiers = KeyBindings.modifier;+					new_key_bindings.menu_item.key = (unichar) keyval;+					update_key_bindings = false;+					new_key_bindings.active = false; 				} 				-				new_key_bindings.menu_item.modifiers = KeyBindings.modifier;-				new_key_bindings.menu_item.key = (unichar) keyval;-				update_key_bindings = false;-				new_key_bindings.active = false;+				MainWindow.get_menu ().write_key_bindings ();+				GlyphCanvas.redraw ();	 			}-			-			MainWindow.get_menu ().write_key_bindings ();-			GlyphCanvas.redraw ();	 		} 	} 

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112