Make key map screen hint which map conflicts

This commit is contained in:
Daniel Dressler
2013-07-03 22:29:18 -07:00
parent 460c03a00d
commit 6d290f4530
3 changed files with 14 additions and 2 deletions
+9
View File
@@ -214,6 +214,15 @@ bool KeyMap::IsMappedKey(int key)
}
bool KeyMap::IsUserDefined(int key)
{
int layer = 0;
int ignored;
FindKeyMapping(key, &layer, &ignored);
return layer == 0; // key found in user settings
}
std::string KeyMap::NamePspButtonFromKey(int key)
{
return KeyMap::GetPspButtonName(KeyMap::KeyToPspButton(key));
+1
View File
@@ -62,6 +62,7 @@ namespace KeyMap {
int KeyToPspButton(int);
bool IsMappedKey(int);
bool IsUserDefined(int);
// Might be usful if you want
// to provide hints to users
+4 -2
View File
@@ -1593,13 +1593,15 @@ void KeyMappingNewKeyDialog::render() {
KeyText(right, top, keyI18N->T("New Key"));
KeyScale(2.0f);
if (last_kb_key != 0) {
bool key_used = KeyMap::IsMappedKey(last_kb_key);
bool key_used = KeyMap::IsMapped(last_kb_key);
if (!key_used) {
KeyText(right, top + stride, KeyMap::GetKeyName(last_kb_key).c_str());
} else {
KeyScale(1.0f);
KeyText(left + stride, top + 2*stride,
keyI18N->T("Error: Key is already used"));
keyI18N->T("Error: Key is already used by"));
KeyText(left + stride, top + 3*stride,
(KeyMap::NamePspButtonFromKey(last_kb_key)).c_str());
}
}