Esempio n. 1
0
File: wm.c Progetto: mik0001/Blender
void WM_keymap_init(bContext *C)
{
	wmWindowManager *wm= CTX_wm_manager(C);

	/* create standard key configs */
	if(!wm->defaultconf)
		wm->defaultconf= WM_keyconfig_new(wm, "Blender");
	if(!wm->addonconf)
		wm->addonconf= WM_keyconfig_new(wm, "Blender Addon");
	if(!wm->userconf)
		wm->userconf= WM_keyconfig_new(wm, "Blender User");
	
	/* initialize only after python init is done, for keymaps that
	   use python operators */
	if(CTX_py_init_get(C) && (wm->initialized & WM_INIT_KEYMAP) == 0) {
		/* create default key config, only initialize once,
		   it's persistent across sessions */
		if(!(wm->defaultconf->flag & KEYCONF_INIT_DEFAULT)) {
			wm_window_keymap(wm->defaultconf);
			ED_spacetypes_keymap(wm->defaultconf);

			wm->defaultconf->flag |= KEYCONF_INIT_DEFAULT;
		}

		WM_keyconfig_update_tag(NULL, NULL);
		WM_keyconfig_update(wm);

		wm->initialized |= WM_INIT_KEYMAP;
	}
}
Esempio n. 2
0
wmKeyConfig *WM_keyconfig_new_user(wmWindowManager *wm, const char *idname)
{
	wmKeyConfig *keyconf = WM_keyconfig_new(wm, idname);

	keyconf->flag |= KEYCONF_USER;

	return keyconf;
}