Browse Source

Clean up hats' key binding code for screen joystick.

Yao Wei Tjong 姚伟忠 11 years ago
parent
commit
a38433b0aa
1 changed files with 10 additions and 3 deletions
  1. 10 3
      Source/Engine/Input/Input.cpp

+ 10 - 3
Source/Engine/Input/Input.cpp

@@ -376,9 +376,16 @@ unsigned Input::AddScreenJoystick(XMLFile* layoutFile, XMLFile* styleFile)
 
 
                         for (unsigned j = 0; j < 4; ++j)
                         for (unsigned j = 0; j < 4; ++j)
                         {
                         {
-                            HashMap<String, int>::Iterator i = keyBindingMap.Find(keyBindings[j]);
-                            if (i != keyBindingMap.End())
-                                mappedKeyBinding.Append(i->second_);
+                            if (keyBindings[j].Length() == 1)
+                                mappedKeyBinding.Append(keyBindings[j][0]);
+                            else
+                            {
+                                HashMap<String, int>::Iterator i = keyBindingMap.Find(keyBindings[j]);
+                                if (i != keyBindingMap.End())
+                                    mappedKeyBinding.Append(i->second_);
+                                else
+                                    break;
+                            }
                         }
                         }
                     }
                     }
                     if (mappedKeyBinding.Length() != 4)
                     if (mappedKeyBinding.Length() != 4)