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)));  |