diff options
-rw-r--r-- | core/input_map.cpp | 62 | ||||
-rw-r--r-- | core/input_map.h | 1 | ||||
-rw-r--r-- | main/main.cpp | 5 |
3 files changed, 67 insertions, 1 deletions
diff --git a/core/input_map.cpp b/core/input_map.cpp index 0506233116..c266220541 100644 --- a/core/input_map.cpp +++ b/core/input_map.cpp @@ -28,6 +28,7 @@ /*************************************************************************/ #include "input_map.h" #include "globals.h" +#include "os/keyboard.h" InputMap *InputMap::singleton=NULL; @@ -321,6 +322,67 @@ void InputMap::load_from_globals() { } +void InputMap::load_default() { + + InputEvent key; + key.type=InputEvent::KEY; + + add_action("input/ui_accept"); + key.key.scancode=KEY_RETURN; + action_add_event("input/ui_accept",key); + key.key.scancode=KEY_ENTER; + action_add_event("input/ui_accept",key); + key.key.scancode=KEY_SPACE; + action_add_event("input/ui_accept",key); + + add_action("input/ui_select"); + key.key.scancode=KEY_SPACE; + action_add_event("input/ui_select",key); + + add_action("input/ui_cancel"); + key.key.scancode=KEY_ESCAPE; + action_add_event("input/ui_cancel",key); + + add_action("input/ui_focus_next"); + key.key.scancode=KEY_TAB; + action_add_event("input/ui_focus_next",key); + + add_action("input/ui_focus_prev"); + key.key.scancode=KEY_TAB; + key.key.mod.shift=true; + action_add_event("input/ui_focus_prev",key); + key.key.mod.shift=false; + + add_action("input/ui_left"); + key.key.scancode=KEY_LEFT; + action_add_event("input/ui_left",key); + + add_action("input/ui_right"); + key.key.scancode=KEY_RIGHT; + action_add_event("input/ui_right",key); + + add_action("input/ui_up"); + key.key.scancode=KEY_UP; + action_add_event("input/ui_up",key); + + add_action("input/ui_down"); + key.key.scancode=KEY_DOWN; + action_add_event("input/ui_down",key); + + + add_action("input/ui_page_up"); + key.key.scancode=KEY_PAGEUP; + action_add_event("input/ui_page_up",key); + + add_action("input/ui_page_down"); + key.key.scancode=KEY_PAGEDOWN; + action_add_event("input/ui_page_down",key); + +// set("display/orientation", "landscape"); + + +} + InputMap::InputMap() { ERR_FAIL_COND(singleton); diff --git a/core/input_map.h b/core/input_map.h index 82b650516e..dc5a911963 100644 --- a/core/input_map.h +++ b/core/input_map.h @@ -74,6 +74,7 @@ public: void load_from_globals(); + void load_default(); InputMap(); }; diff --git a/main/main.cpp b/main/main.cpp index fba7a781bf..2e30ed298a 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -688,7 +688,10 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas #endif - input_map->load_from_globals(); + if (editor) + input_map->load_default(); //keys for editor + else + input_map->load_from_globals(); //keys for game if (video_driver=="") // specified in engine.cfg video_driver=_GLOBAL_DEF("display/driver",Variant((const char*)OS::get_singleton()->get_video_driver_name(0))); |