[Bf-blender-cvs] [8b8a678cdf1] master: Keymap: preference for Alt-LMB to use the active tool
Campbell Barton
noreply at git.blender.org
Tue Sep 21 10:25:44 CEST 2021
Commit: 8b8a678cdf1b134a83dc46afd8dbd285812a6603
Author: Campbell Barton
Date: Tue Sep 21 17:55:44 2021 +1000
Branches: master
https://developer.blender.org/rB8b8a678cdf1b134a83dc46afd8dbd285812a6603
Keymap: preference for Alt-LMB to use the active tool
With the LMB select key-map some tools required clicking on a gizmo.
With this preference it's possible to hold Alt and click anywhere.
Addresses T83689.
===================================================================
M release/scripts/presets/keyconfig/Blender.py
M release/scripts/presets/keyconfig/keymap_data/blender_default.py
===================================================================
diff --git a/release/scripts/presets/keyconfig/Blender.py b/release/scripts/presets/keyconfig/Blender.py
index 1690b03184a..5ecb67d99ba 100644
--- a/release/scripts/presets/keyconfig/Blender.py
+++ b/release/scripts/presets/keyconfig/Blender.py
@@ -76,6 +76,14 @@ class Prefs(bpy.types.KeyConfigPreferences):
default=False,
update=update_fn,
)
+ use_alt_tool: BoolProperty(
+ name="Alt Tool Access",
+ description=(
+ "Hold Alt to use the active tool when the gizmo would normally be required"
+ ),
+ default=False,
+ update=update_fn,
+ )
use_select_all_toggle: BoolProperty(
name="Select All Toggles",
description=(
@@ -199,8 +207,11 @@ class Prefs(bpy.types.KeyConfigPreferences):
col = layout.column()
sub = col.column(align=True)
row = sub.row()
- row.prop(self, "use_select_all_toggle")
row.prop(self, "use_alt_click_leader")
+ if is_select_left:
+ row.prop(self, "use_alt_tool")
+ row = sub.row()
+ row.prop(self, "use_select_all_toggle")
# 3DView settings.
col = layout.column()
@@ -248,6 +259,7 @@ def load():
kc_prefs.gizmo_action == 'DRAG'
),
use_fallback_tool=(True if (kc_prefs.select_mouse == 'LEFT') else (kc_prefs.rmb_action == 'FALLBACK_TOOL')),
+ use_alt_tool=(kc_prefs.use_alt_tool and kc_prefs.select_mouse == 'LEFT'),
use_alt_click_leader=kc_prefs.use_alt_click_leader,
use_pie_click_drag=kc_prefs.use_pie_click_drag,
),
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 6a3064fc820..1f20f493505 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -56,6 +56,8 @@ class Params:
"use_v3d_mmb_pan",
# Alt click to access tools.
"use_alt_click_leader",
+ # Optionally use a modifier to access tools.
+ "tool_modifier",
# Experimental option.
"use_pie_click_drag",
"v3d_tilde_action",
@@ -87,6 +89,7 @@ class Params:
use_v3d_tab_menu=False,
use_v3d_shade_ex_pie=False,
use_v3d_mmb_pan=False,
+ use_alt_tool=False,
use_alt_click_leader=False,
use_pie_click_drag=False,
v3d_tilde_action='VIEW',
@@ -111,6 +114,7 @@ class Params:
self.use_fallback_tool = use_fallback_tool
self.use_fallback_tool_rmb = use_fallback_tool
self.select_mouse_value_fallback = 'CLICK' if self.use_fallback_tool_rmb else self.select_mouse_value
+ self.tool_modifier = {}
else:
# Left mouse select uses Click event for selection. This is a little
# less immediate, but is needed to distinguish between click and tweak
@@ -134,6 +138,12 @@ class Params:
self.use_fallback_tool_rmb = False
self.select_mouse_value_fallback = self.select_mouse_value
+ if use_alt_tool:
+ # Allow `Alt` to be pressed or not.
+ self.tool_modifier = {"alt": -1}
+ else:
+ self.tool_modifier = {}
+
self.use_mouse_emulate_3_button = use_mouse_emulate_3_button
@@ -1231,7 +1241,7 @@ def km_view3d(params):
# Selection.
*_template_view3d_select(
type=params.select_mouse,
- value=('CLICK' if params.use_fallback_tool_rmb else params.select_mouse_value),
+ value=params.select_mouse_value_fallback,
legacy=params.legacy,
),
("view3d.select_box", {"type": 'B', "value": 'PRESS'}, None),
@@ -5985,7 +5995,7 @@ def km_image_editor_tool_uv_rip_region(params):
"Image Editor Tool: Uv, Rip Region",
{"space_type": 'IMAGE_EDITOR', "region_type": 'WINDOW'},
{"items": [
- ("uv.rip_move", {"type": params.tool_tweak, "value": 'ANY'},
+ ("uv.rip_move", {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("TRANSFORM_OT_translate", [("release_confirm", True)])]}),
]},
)
@@ -6015,7 +6025,7 @@ def km_image_editor_tool_uv_move(params):
"Image Editor Tool: Uv, Move",
{"space_type": 'IMAGE_EDITOR', "region_type": 'WINDOW'},
{"items": [
- ("transform.translate", {"type": params.tool_tweak, "value": 'ANY'},
+ ("transform.translate", {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True)]}),
]},
)
@@ -6026,7 +6036,7 @@ def km_image_editor_tool_uv_rotate(params):
"Image Editor Tool: Uv, Rotate",
{"space_type": 'IMAGE_EDITOR', "region_type": 'WINDOW'},
{"items": [
- ("transform.rotate", {"type": params.tool_tweak, "value": 'ANY'},
+ ("transform.rotate", {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True)]}),
]},
)
@@ -6037,7 +6047,7 @@ def km_image_editor_tool_uv_scale(params):
"Image Editor Tool: Uv, Scale",
{"space_type": 'IMAGE_EDITOR', "region_type": 'WINDOW'},
{"items": [
- ("transform.resize", {"type": params.tool_tweak, "value": 'ANY'},
+ ("transform.resize", {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True)]}),
]},
)
@@ -6178,7 +6188,8 @@ def km_3d_view_tool_transform(params):
"3D View Tool: Transform",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("transform.from_gizmo", {"type": params.tool_tweak, "value": 'ANY'}, None),
+ ("transform.from_gizmo",
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier}, None),
]},
)
@@ -6188,7 +6199,8 @@ def km_3d_view_tool_move(params):
"3D View Tool: Move",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("transform.translate", {"type": params.tool_tweak, "value": 'ANY'},
+ ("transform.translate",
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True)]}),
]},
)
@@ -6199,7 +6211,8 @@ def km_3d_view_tool_rotate(params):
"3D View Tool: Rotate",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("transform.rotate", {"type": params.tool_tweak, "value": 'ANY'},
+ ("transform.rotate",
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True)]}),
]},
)
@@ -6210,7 +6223,8 @@ def km_3d_view_tool_scale(params):
"3D View Tool: Scale",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("transform.resize", {"type": params.tool_tweak, "value": 'ANY'},
+ ("transform.resize",
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True)]}),
]},
)
@@ -6222,15 +6236,15 @@ def km_3d_view_tool_shear(params):
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
("transform.shear",
- {"type": params.tool_tweak, "value": 'NORTH'},
+ {"type": params.tool_tweak, "value": 'NORTH', **params.tool_modifier},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'Y')]}),
("transform.shear",
- {"type": params.tool_tweak, "value": 'SOUTH'},
+ {"type": params.tool_tweak, "value": 'SOUTH', **params.tool_modifier},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'Y')]}),
# Use as fallback to catch diagonals too.
("transform.shear",
- {"type": params.tool_tweak, "value": 'ANY'},
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True), ("orient_axis_ortho", 'X')]}),
]},
)
@@ -6253,7 +6267,7 @@ def km_3d_view_tool_pose_breakdowner(params):
"3D View Tool: Pose, Breakdowner",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("pose.breakdown", {"type": params.tool_tweak, "value": 'ANY'}, None),
+ ("pose.breakdown", {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier}, None),
]},
)
@@ -6263,7 +6277,8 @@ def km_3d_view_tool_pose_push(params):
"3D View Tool: Pose, Push",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("pose.push", {"type": params.tool_tweak, "value": 'ANY'}, None),
+ ("pose.push",
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier}, None),
]},
)
@@ -6273,7 +6288,8 @@ def km_3d_view_tool_pose_relax(params):
"3D View Tool: Pose, Relax",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("pose.relax", {"type": params.tool_tweak, "value": 'ANY'}, None),
+ ("pose.relax",
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier}, None),
]},
)
@@ -6283,7 +6299,8 @@ def km_3d_view_tool_edit_armature_roll(params):
"3D View Tool: Edit Armature, Roll",
{"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
{"items": [
- ("transform.transform", {"type": params.tool_tweak, "value": 'ANY'},
+ ("transform.transform",
+ {"type": params.tool_tweak, "value": 'ANY', **params.tool_modifier},
{"properties": [("release_confirm", True), ("mode", 'BONE_ROLL')]}),
]},
)
@@ -6294,7 +6311,7 @@ def k
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list