inability to save non single character key binding with modifier eg. Ctrl-F5
authoryonideshi <finarfinek@gmail.com>
Thu, 24 Mar 2016 11:10:54 +0000 (12:10 +0100)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 30 Mar 2016 11:26:36 +0000 (07:26 -0400)
libs/gtkmm2ext/bindings.cc

index 59f1bd05e3969852b947a031195f0a33aa016245..7b52882f5f2ce2f5cd70abf97c8d0461a3e32445 100644 (file)
@@ -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) {