diff options
author | yonideshi <finarfinek@gmail.com> | 2016-03-24 12:10:54 +0100 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-03-30 07:26:36 -0400 |
commit | cb900dc8e48913b2607ac3f7ee6d65971dd609a8 (patch) | |
tree | cc14a5385613e71fa12773dc0e84c9c6831fb244 /libs/gtkmm2ext | |
parent | ad735690fe4eaba54d99357f1abcbba2fb70b693 (diff) |
inability to save non single character key binding with modifier eg. Ctrl-F5
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r-- | libs/gtkmm2ext/bindings.cc | 17 |
1 files changed, 9 insertions, 8 deletions
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) { |