force all KeyboardKeys in Bindings to be lower case
This commit is contained in:
parent
d1f18b9994
commit
9b55550f0b
@ -244,12 +244,23 @@ KeyboardKey::make_key (const string& str, KeyboardKey& k)
|
|||||||
string::size_type lastmod = str.find_last_of ('-');
|
string::size_type lastmod = str.find_last_of ('-');
|
||||||
guint keyval;
|
guint keyval;
|
||||||
|
|
||||||
|
/* since all key events keycodes are changed to lower case before
|
||||||
|
* looking them up, make sure we only store lower case here. The Shift
|
||||||
|
* part will be stored in the modifier part of the KeyboardKey.
|
||||||
|
*
|
||||||
|
* And yes Mildred, this doesn't cover CapsLock cases. Oh well.
|
||||||
|
*/
|
||||||
|
|
||||||
|
string lower;
|
||||||
|
|
||||||
if (lastmod == string::npos) {
|
if (lastmod == string::npos) {
|
||||||
keyval = gdk_keyval_from_name (str.c_str());
|
lower = PBD::downcase (str);
|
||||||
} else {
|
} else {
|
||||||
keyval = gdk_keyval_from_name (str.substr (lastmod+1).c_str());
|
lower = PBD::downcase (str.substr (lastmod+1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
keyval = gdk_keyval_from_name (lower.c_str());
|
||||||
|
|
||||||
if (keyval == GDK_VoidSymbol || keyval == 0) {
|
if (keyval == GDK_VoidSymbol || keyval == 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user