From cb900dc8e48913b2607ac3f7ee6d65971dd609a8 Mon Sep 17 00:00:00 2001 From: yonideshi Date: Thu, 24 Mar 2016 12:10:54 +0100 Subject: inability to save non single character key binding with modifier eg. Ctrl-F5 --- libs/gtkmm2ext/bindings.cc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'libs/gtkmm2ext/bindings.cc') diff --git a/libs/gtkmm2ext/bindings.cc b/libs/gtkmm2ext/bindings.cc index 59f1bd05e3..7b52882f5f 100644 --- a/libs/gtkmm2ext/bindings.cc +++ b/libs/gtkmm2ext/bindings.cc @@ -264,19 +264,20 @@ KeyboardKey::make_key (const string& str, KeyboardKey& k) string actual; - if (str.size() == 1) { - actual = PBD::downcase (str); - } else { + string::size_type lastmod = str.find_last_of ('-'); + + if (lastmod != string::npos) { + actual = str.substr (lastmod+1); + } + else { actual = str; } - string::size_type lastmod = actual.find_last_of ('-'); - guint keyval; - - if (lastmod != string::npos) { - actual = PBD::downcase (str.substr (lastmod+1)); + if (actual.size() == 1) { + actual = PBD::downcase (actual); } + guint keyval; keyval = gdk_keyval_from_name (actual.c_str()); if (keyval == GDK_VoidSymbol || keyval == 0) { -- cgit v1.2.3