Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py359
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py39
-rw-r--r--source/blender/editors/transform/transform_gizmo_3d.c8
-rw-r--r--source/blender/windowmanager/gizmo/WM_gizmo_api.h23
-rw-r--r--source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c86
-rw-r--r--source/blender/windowmanager/gizmo/intern/wm_gizmo_group_type.c4
6 files changed, 138 insertions, 381 deletions
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 297ca5f6be6..590d7bf4148 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -4348,295 +4348,6 @@ def km_transform_modal_map(_params):
return keymap
-def km_3d_view_transform_gizmo(_params):
- keymap = (
- "3D View: Transform Gizmo",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": _template_items_gizmo_tweak_value()},
- )
- return keymap
-
-
-def km_backdrop_transform_widget_tweak_modal_map(_params):
- keymap = (
- "Backdrop Transform Widget Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_backdrop_crop_widget(_params):
- keymap = (
- "Backdrop Crop Widget",
- {"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
- {"items": _template_items_gizmo_tweak_value()},
- )
- return keymap
-
-
-def km_backdrop_crop_widget_tweak_modal_map(_params):
- keymap = (
- "Backdrop Crop Widget Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_sun_beams_widget(_params):
- keymap = (
- "Sun Beams Widget",
- {"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
- {"items": _template_items_gizmo_tweak_value()},
- )
- return keymap
-
-
-def km_sun_beams_widget_tweak_modal_map(_params):
- keymap = (
- "Sun Beams Widget Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_corner_pin_widget(_params):
- items = []
- keymap = (
- "Corner Pin Widget",
- {"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_corner_pin_widget_tweak_modal_map(_params):
- keymap = (
- "Corner Pin Widget Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_uv_transform_gizmo(_params):
- keymap = (
- "UV Transform Gizmo",
- {"space_type": 'IMAGE_EDITOR', "region_type": 'WINDOW'},
- {"items": _template_items_gizmo_tweak_value()},
- )
- return keymap
-
-
-def km_uv_transform_gizmo_tweak_modal_map(_params):
- keymap = (
- "UV Transform Gizmo Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_spot_light_widgets(_params):
- items = []
- keymap = (
- "Spot Light Widgets",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_spot_light_widgets_tweak_modal_map(_params):
- keymap = (
- "Spot Light Widgets Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_area_light_widgets(_params):
- items = []
- keymap = (
- "Area Light Widgets",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_area_light_widgets_tweak_modal_map(_params):
- keymap = (
- "Area Light Widgets Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_target_light_widgets(_params):
- items = []
- keymap = (
- "Target Light Widgets",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_target_light_widgets_tweak_modal_map(_params):
- keymap = (
- "Target Light Widgets Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_force_field_widgets(_params):
- items = []
- keymap = (
- "Force Field Widgets",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_force_field_widgets_tweak_modal_map(_params):
- keymap = (
- "Force Field Widgets Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_camera_widgets(_params):
- items = []
- keymap = (
- "Camera Widgets",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_camera_widgets_tweak_modal_map(_params):
- keymap = (
- "Camera Widgets Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_camera_view_widgets(_params):
- items = []
- keymap = (
- "Camera View Widgets",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_camera_view_widgets_tweak_modal_map(_params):
- keymap = (
- "Camera View Widgets Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_armature_spline_widgets(_params):
- items = []
- keymap = (
- "Armature Spline Widgets",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_armature_spline_widgets_tweak_modal_map(_params):
- keymap = (
- "Armature Spline Widgets Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
-def km_view3d_navigate(_params):
- items = []
- keymap = (
- "View3D Navigate",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
-
- return keymap
-
-
-def km_view3d_navigate_tweak_modal_map(_params):
- keymap = (
- "View3D Navigate Tweak Modal Map",
- {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
- {"items": _template_items_gizmo_tweak_modal()},
- )
- return keymap
-
-
def km_view3d_gesture_circle(_params):
items = []
keymap = (
@@ -5024,29 +4735,43 @@ def km_paint_stroke_modal(_params):
return keymap
-def km_gizmos(_params):
- items = []
+# Fallback for gizmos that don't have custom a custom key-map.
+def km_generic_gizmos(_params):
keymap = (
- "Gizmos",
+ "Generic Gizmos",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
+ {"items": _template_items_gizmo_tweak_value()},
)
return keymap
-def km_backdrop_transform_widget(_params):
- items = []
+def km_generic_gizmos_tweak_modal_map(_params):
keymap = (
- "Backdrop Transform Widget",
- {"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
- {"items": items},
+ "Generic Gizmos Tweak Modal Map",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
+ {"items": _template_items_gizmo_tweak_modal()},
)
+ return keymap
+
+
+def km_generic_gizmos_select(_params):
+ keymap = (
+ "Generic Gizmos Select",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ # TODO, currently in C code.
+ {"items": _template_items_gizmo_tweak_value()},
+ )
+
+ return keymap
- items.extend([
- ("gizmogroup.gizmo_tweak", {"type": 'LEFTMOUSE', "value": 'PRESS', "any": True}, None),
- ])
+def km_generic_gizmos_select_tweak_modal_map(_params):
+ keymap = (
+ "Generic Gizmos Select Tweak Modal Map",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
+ {"items": _template_items_gizmo_tweak_modal()},
+ )
return keymap
@@ -6117,8 +5842,6 @@ def generate_keymaps(params=None):
km_eyedropper_modal_map(params),
km_eyedropper_colorramp_pointsampling_map(params),
km_transform_modal_map(params),
- km_view3d_navigate(params),
- km_view3d_navigate_tweak_modal_map(params),
km_view3d_gesture_circle(params),
km_gesture_border(params),
km_gesture_zoom_border(params),
@@ -6136,32 +5859,10 @@ def generate_keymaps(params=None):
km_paint_stroke_modal(params),
# Gizmos.
- km_gizmos(params),
- km_3d_view_transform_gizmo(params),
- km_backdrop_transform_widget_tweak_modal_map(params),
- km_backdrop_crop_widget(params),
- km_backdrop_crop_widget_tweak_modal_map(params),
- km_sun_beams_widget(params),
- km_sun_beams_widget_tweak_modal_map(params),
- km_corner_pin_widget(params),
- km_corner_pin_widget_tweak_modal_map(params),
- km_uv_transform_gizmo(params),
- km_uv_transform_gizmo_tweak_modal_map(params),
- km_spot_light_widgets(params),
- km_spot_light_widgets_tweak_modal_map(params),
- km_area_light_widgets(params),
- km_area_light_widgets_tweak_modal_map(params),
- km_target_light_widgets(params),
- km_target_light_widgets_tweak_modal_map(params),
- km_force_field_widgets(params),
- km_force_field_widgets_tweak_modal_map(params),
- km_camera_widgets(params),
- km_camera_widgets_tweak_modal_map(params),
- km_camera_view_widgets(params),
- km_camera_view_widgets_tweak_modal_map(params),
- km_armature_spline_widgets(params),
- km_armature_spline_widgets_tweak_modal_map(params),
- km_backdrop_transform_widget(params),
+ km_generic_gizmos(params),
+ km_generic_gizmos_tweak_modal_map(params),
+ km_generic_gizmos_select(params),
+ km_generic_gizmos_select_tweak_modal_map(params),
# Pop-Up Keymaps.
km_popup_toolbar(params),
diff --git a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
index a2f255af10f..e98f34fc8bf 100644
--- a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
+++ b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
@@ -3534,27 +3534,46 @@ def km_transform_modal_map(_params):
# ------------------------------------------------------------------------------
# Gizmo System Keymaps
-def km_gizmos(_params):
- items = []
+# Fallback for gizmos that don't have custom a custom key-map.
+def km_generic_gizmos(_params):
keymap = (
- "Gizmos",
+ "Generic Gizmos",
{"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
+ {"items": _template_items_gizmo_tweak_value()},
)
return keymap
-def km_3d_view_transform_gizmo(_params):
+def km_generic_gizmos_tweak_modal_map(_params):
keymap = (
- "3D View: Transform Gizmo",
- {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+ "Generic Gizmos Tweak Modal Map",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
+ {"items": _template_items_gizmo_tweak_modal()},
+ )
+ return keymap
+
+
+def km_generic_gizmos_select(_params):
+ keymap = (
+ "Generic Gizmos Select",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ # TODO, currently in C code.
{"items": _template_items_gizmo_tweak_value()},
)
return keymap
+def km_generic_gizmos_select_tweak_modal_map(_params):
+ keymap = (
+ "Generic Gizmos Select Tweak Modal Map",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW', "modal": True},
+ {"items": _template_items_gizmo_tweak_modal()},
+ )
+ return keymap
+
+
# ------------------------------------------------------------------------------
# Tool System Keymaps
@@ -3743,8 +3762,10 @@ def generate_keymaps(params=None):
km_transform_modal_map(params),
# Gizmos.
- km_gizmos(params),
- km_3d_view_transform_gizmo(params),
+ km_generic_gizmos(params),
+ km_generic_gizmos_tweak_modal_map(params),
+ km_generic_gizmos_select(params),
+ km_generic_gizmos_select_tweak_modal_map(params),
# Tool System.
km_3d_view_tool_move(params),
diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/transform/transform_gizmo_3d.c
index ead90b6a67a..ef3abe96f46 100644
--- a/source/blender/editors/transform/transform_gizmo_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_3d.c
@@ -1976,12 +1976,6 @@ static bool WIDGETGROUP_gizmo_poll_tool(const struct bContext *C, struct wmGizmo
return true;
}
-static wmKeyMap *WIDGETGROUP_gizmo_setup_keymap(const struct wmGizmoGroupType *gzgt,
- struct wmKeyConfig *config)
-{
- return WM_gizmogroup_keymap_common_with_name(gzgt, config, "3D View: Transform Gizmo");
-}
-
/* Expose as multiple gizmos so tools use one, persistent context another.
* Needed because they use different options which isn't so simple to dynamically update. */
@@ -2001,7 +1995,6 @@ void VIEW3D_GGT_xform_gizmo(wmGizmoGroupType *gzgt)
gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
gzgt->draw_prepare = WIDGETGROUP_gizmo_draw_prepare;
gzgt->invoke_prepare = WIDGETGROUP_gizmo_invoke_prepare;
- gzgt->setup_keymap = WIDGETGROUP_gizmo_setup_keymap;
static const EnumPropertyItem rna_enum_gizmo_items[] = {
{V3D_GIZMO_SHOW_OBJECT_TRANSLATE, "TRANSLATE", 0, "Move", ""},
@@ -2032,7 +2025,6 @@ void VIEW3D_GGT_xform_gizmo_context(wmGizmoGroupType *gzgt)
gzgt->message_subscribe = WIDGETGROUP_gizmo_message_subscribe;
gzgt->draw_prepare = WIDGETGROUP_gizmo_draw_prepare;
gzgt->invoke_prepare = WIDGETGROUP_gizmo_invoke_prepare;
- gzgt->setup_keymap = WIDGETGROUP_gizmo_setup_keymap;
}
/** \} */
diff --git a/source/blender/windowmanager/gizmo/WM_gizmo_api.h b/source/blender/windowmanager/gizmo/WM_gizmo_api.h
index 4c24762416e..bef3cd51aea 100644
--- a/source/blender/windowmanager/gizmo/WM_gizmo_api.h
+++ b/source/blender/windowmanager/gizmo/WM_gizmo_api.h
@@ -235,14 +235,21 @@ void WM_gizmo_target_property_subscribe_all(struct wmGizmo *gz,
/* wmGizmoGroup */
/* Callbacks for 'wmGizmoGroupType.setup_keymap' */
-struct wmKeyMap *WM_gizmogroup_keymap_common_with_name(const struct wmGizmoGroupType *gzgt,
- struct wmKeyConfig *config,
- const char *idname);
-struct wmKeyMap *WM_gizmogroup_keymap_common(const struct wmGizmoGroupType *gzgt,
- struct wmKeyConfig *config);
-
-struct wmKeyMap *WM_gizmogroup_keymap_common_select(const struct wmGizmoGroupType *gzgt,
- struct wmKeyConfig *config);
+struct wmKeyMap *WM_gizmogroup_keymap_template_ex(struct wmKeyConfig *config,
+ const char *idname,
+ const struct wmGizmoMapType_Params *params);
+struct wmKeyMap *WM_gizmogroup_keymap_template(const struct wmGizmoGroupType *gzgt,
+ struct wmKeyConfig *config);
+
+struct wmKeyMap *WM_gizmogroup_keymap_template_select_ex(
+ struct wmKeyConfig *config, const char *idname, const struct wmGizmoMapType_Params *params);
+struct wmKeyMap *WM_gizmogroup_keymap_template_select(const struct wmGizmoGroupType *gzgt,
+ struct wmKeyConfig *config);
+
+struct wmKeyMap *WM_gizmogroup_keymap_generic(const struct wmGizmoGroupType *gzgt,
+ struct wmKeyConfig *config);
+struct wmKeyMap *WM_gizmogroup_keymap_generic_select(const struct wmGizmoGroupType *gzgt,
+ struct wmKeyConfig *config);
void WM_gizmogroup_ensure_init(const struct bContext *C, struct wmGizmoGroup *gzgroup);
diff --git a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
index 68020c736d8..d4e1dbfac73 100644
--- a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
+++ b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
@@ -682,37 +682,53 @@ static wmKeyMap *gizmogroup_tweak_modal_keymap(wmKeyConfig *keyconf, const char
/**
* Common default keymap for gizmo groups.
*
- * \param name: Typically #wmGizmoGroupType.name.
+ * \param name: Typically #wmGizmoGroupType.name
+ * \param params: Typically #wmGizmoGroupType.gzmap_params
*/
-wmKeyMap *WM_gizmogroup_keymap_common_with_name(const wmGizmoGroupType *gzgt,
- wmKeyConfig *config,
- const char *name)
+wmKeyMap *WM_gizmogroup_keymap_template_ex(wmKeyConfig *config,
+ const char *name,
+ const struct wmGizmoMapType_Params *params)
{
/* Use area and region id since we might have multiple gizmos
* with the same name in different areas/regions. */
- wmKeyMap *km = WM_keymap_ensure(
- config, name, gzgt->gzmap_params.spaceid, gzgt->gzmap_params.regionid);
-
- WM_keymap_add_item(km, "GIZMOGROUP_OT_gizmo_tweak", LEFTMOUSE, KM_PRESS, KM_ANY, 0);
+ wmKeyMap *km = WM_keymap_ensure(config, name, params->spaceid, params->regionid);
+ if (BLI_listbase_is_empty(&km->items)) {
+ WM_keymap_add_item(km, "GIZMOGROUP_OT_gizmo_tweak", LEFTMOUSE, KM_PRESS, KM_ANY, 0);
+ }
gizmogroup_tweak_modal_keymap(config, name);
return km;
}
-wmKeyMap *WM_gizmogroup_keymap_common(const wmGizmoGroupType *gzgt, wmKeyConfig *config)
+wmKeyMap *WM_gizmogroup_keymap_template(const wmGizmoGroupType *gzgt, wmKeyConfig *config)
{
- return WM_gizmogroup_keymap_common_with_name(gzgt, config, gzgt->name);
+ return WM_gizmogroup_keymap_template_ex(config, gzgt->name, &gzgt->gzmap_params);
+}
+
+wmKeyMap *WM_gizmogroup_keymap_generic(const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *config)
+{
+ struct wmGizmoMapType_Params params = {
+ .spaceid = SPACE_EMPTY,
+ .regionid = RGN_TYPE_WINDOW,
+ };
+ return WM_gizmogroup_keymap_template_ex(config, "Generic Gizmos", &params);
}
/**
* Variation of #WM_gizmogroup_keymap_common but with keymap items for selection
+ *
+ * \param name: Typically #wmGizmoGroupType.name
+ * \param params: Typically #wmGizmoGroupType.gzmap_params
*/
-wmKeyMap *WM_gizmogroup_keymap_common_select(const wmGizmoGroupType *gzgt, wmKeyConfig *config)
+wmKeyMap *WM_gizmogroup_keymap_template_select_ex(wmKeyConfig *config,
+ const char *name,
+ const struct wmGizmoMapType_Params *params)
{
/* Use area and region id since we might have multiple gizmos
* with the same name in different areas/regions. */
- wmKeyMap *km = WM_keymap_ensure(
- config, gzgt->name, gzgt->gzmap_params.spaceid, gzgt->gzmap_params.regionid);
+ wmKeyMap *km = WM_keymap_ensure(config, name, params->spaceid, params->regionid);
+ const bool do_init = BLI_listbase_is_empty(&km->items);
+
/* FIXME(campbell) */
#if 0
const int select_mouse = (U.flag & USER_LMOUSESELECT) ? LEFTMOUSE : RIGHTMOUSE;
@@ -724,23 +740,43 @@ wmKeyMap *WM_gizmogroup_keymap_common_select(const wmGizmoGroupType *gzgt, wmKey
const int action_mouse = LEFTMOUSE;
#endif
- WM_keymap_add_item(km, "GIZMOGROUP_OT_gizmo_tweak", action_mouse, KM_PRESS, KM_ANY, 0);
- WM_keymap_add_item(km, "GIZMOGROUP_OT_gizmo_tweak", select_tweak, KM_ANY, 0, 0);
- gizmogroup_tweak_modal_keymap(config, gzgt->name);
+ if (do_init) {
+ WM_keymap_add_item(km, "GIZMOGROUP_OT_gizmo_tweak", action_mouse, KM_PRESS, KM_ANY, 0);
+ WM_keymap_add_item(km, "GIZMOGROUP_OT_gizmo_tweak", select_tweak, KM_ANY, 0, 0);
+ }
+ gizmogroup_tweak_modal_keymap(config, name);
- wmKeyMapItem *kmi = WM_keymap_add_item(
- km, "GIZMOGROUP_OT_gizmo_select", select_mouse, KM_PRESS, 0, 0);
- RNA_boolean_set(kmi->ptr, "extend", false);
- RNA_boolean_set(kmi->ptr, "deselect", false);
- RNA_boolean_set(kmi->ptr, "toggle", false);
- kmi = WM_keymap_add_item(km, "GIZMOGROUP_OT_gizmo_select", select_mouse, KM_PRESS, KM_SHIFT, 0);
- RNA_boolean_set(kmi->ptr, "extend", false);
- RNA_boolean_set(kmi->ptr, "deselect", false);
- RNA_boolean_set(kmi->ptr, "toggle", true);
+ if (do_init) {
+ wmKeyMapItem *kmi = WM_keymap_add_item(
+ km, "GIZMOGROUP_OT_gizmo_select", select_mouse, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "extend", false);
+ RNA_boolean_set(kmi->ptr, "deselect", false);
+ RNA_boolean_set(kmi->ptr, "toggle", false);
+ kmi = WM_keymap_add_item(
+ km, "GIZMOGROUP_OT_gizmo_select", select_mouse, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "extend", false);
+ RNA_boolean_set(kmi->ptr, "deselect", false);
+ RNA_boolean_set(kmi->ptr, "toggle", true);
+ }
return km;
}
+wmKeyMap *WM_gizmogroup_keymap_template_select(const wmGizmoGroupType *gzgt, wmKeyConfig *config)
+{
+ return WM_gizmogroup_keymap_template_select_ex(config, gzgt->name, &gzgt->gzmap_params);
+}
+
+wmKeyMap *WM_gizmogroup_keymap_generic_select(const wmGizmoGroupType *UNUSED(gzgt),
+ wmKeyConfig *config)
+{
+ struct wmGizmoMapType_Params params = {
+ .spaceid = SPACE_EMPTY,
+ .regionid = RGN_TYPE_WINDOW,
+ };
+ return WM_gizmogroup_keymap_template_select_ex(config, "Generic Gizmos Select", &params);
+}
+
/** \} */ /* wmGizmoGroup */
/* -------------------------------------------------------------------- */
diff --git a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group_type.c b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group_type.c
index 7c8db18c0ca..d09e088af7f 100644
--- a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group_type.c
+++ b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group_type.c
@@ -97,10 +97,10 @@ static void wm_gizmogrouptype_append__end(wmGizmoGroupType *gzgt)
/* if not set, use default */
if (gzgt->setup_keymap == NULL) {
if (gzgt->flag & WM_GIZMOGROUPTYPE_SELECT) {
- gzgt->setup_keymap = WM_gizmogroup_keymap_common_select;
+ gzgt->setup_keymap = WM_gizmogroup_keymap_generic_select;
}
else {
- gzgt->setup_keymap = WM_gizmogroup_keymap_common;
+ gzgt->setup_keymap = WM_gizmogroup_keymap_generic;
}
}