Keymap: improve tweak tool consistency & behavior
Remove experimental options & make them default: - Tweak Select: Mouse Select & Move - Tweak Tool: Left Mouse Select & Move Changes: - LMB press selects the element (unless it's already selected - in that case no selection takes place). - LMB drag moves the selection. - LMB click selects the element (deselecting all others). Implications: - This makes it possible to tweak more than one item at a time. - It is no longer possible to set the 3D cursor with LMB when the tweak tool is active. Details: - Shift-LMB remains unchanged. - RMB selection remains unchanged. - Blender 2.7 key-map remains unchanged. Addresses design task #96544.
This commit is contained in:
@@ -97,26 +97,6 @@ class Prefs(bpy.types.KeyConfigPreferences):
|
|||||||
default=False,
|
default=False,
|
||||||
update=update_fn,
|
update=update_fn,
|
||||||
)
|
)
|
||||||
# Experimental: only show with developer extras, see: #96544.
|
|
||||||
use_tweak_select_passthrough: BoolProperty(
|
|
||||||
name="Tweak Select: Mouse Select & Move",
|
|
||||||
description=(
|
|
||||||
"The tweak tool is activated immediately instead of placing the cursor. "
|
|
||||||
"This is an experimental preference and may be removed"
|
|
||||||
),
|
|
||||||
default=False,
|
|
||||||
update=update_fn,
|
|
||||||
)
|
|
||||||
# Experimental: only show with developer extras, see: #96544.
|
|
||||||
use_tweak_tool_lmb_interaction: BoolProperty(
|
|
||||||
name="Tweak Tool: Left Mouse Select & Move",
|
|
||||||
description=(
|
|
||||||
"The tweak tool is activated immediately instead of placing the cursor. "
|
|
||||||
"This is an experimental preference and may be removed"
|
|
||||||
),
|
|
||||||
default=False,
|
|
||||||
update=update_fn,
|
|
||||||
)
|
|
||||||
|
|
||||||
use_alt_click_leader: BoolProperty(
|
use_alt_click_leader: BoolProperty(
|
||||||
name="Alt Click Tool Prompt",
|
name="Alt Click Tool Prompt",
|
||||||
@@ -313,12 +293,6 @@ class Prefs(bpy.types.KeyConfigPreferences):
|
|||||||
row = sub.row()
|
row = sub.row()
|
||||||
row.prop(self, "use_select_all_toggle")
|
row.prop(self, "use_select_all_toggle")
|
||||||
|
|
||||||
if show_developer_ui:
|
|
||||||
row = sub.row()
|
|
||||||
row.prop(self, "use_tweak_select_passthrough")
|
|
||||||
if show_developer_ui and (not is_select_left):
|
|
||||||
row = sub.row()
|
|
||||||
row.prop(self, "use_tweak_tool_lmb_interaction")
|
|
||||||
if show_developer_ui:
|
if show_developer_ui:
|
||||||
row = sub.row()
|
row = sub.row()
|
||||||
row.prop(self, "use_region_toggle_pie")
|
row.prop(self, "use_region_toggle_pie")
|
||||||
@@ -385,11 +359,6 @@ def load():
|
|||||||
# Otherwise LMB activates the fallback tool and RMB always tweak-selects.
|
# Otherwise LMB activates the fallback tool and RMB always tweak-selects.
|
||||||
(kc_prefs.rmb_action != 'FALLBACK_TOOL')
|
(kc_prefs.rmb_action != 'FALLBACK_TOOL')
|
||||||
),
|
),
|
||||||
use_tweak_select_passthrough=(show_developer_ui and kc_prefs.use_tweak_select_passthrough),
|
|
||||||
use_tweak_tool_lmb_interaction=(
|
|
||||||
False if is_select_left else
|
|
||||||
(show_developer_ui and kc_prefs.use_tweak_tool_lmb_interaction)
|
|
||||||
),
|
|
||||||
use_alt_tool_or_cursor=(
|
use_alt_tool_or_cursor=(
|
||||||
(not use_mouse_emulate_3_button) and
|
(not use_mouse_emulate_3_button) and
|
||||||
(kc_prefs.use_alt_tool if is_select_left else kc_prefs.use_alt_cursor)
|
(kc_prefs.use_alt_tool if is_select_left else kc_prefs.use_alt_cursor)
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ class Params:
|
|||||||
# - Click selects only the item at the cursor position.
|
# - Click selects only the item at the cursor position.
|
||||||
# See: #97032.
|
# See: #97032.
|
||||||
"use_tweak_select_passthrough",
|
"use_tweak_select_passthrough",
|
||||||
"use_tweak_tool_lmb_interaction",
|
|
||||||
"use_mouse_emulate_3_button",
|
"use_mouse_emulate_3_button",
|
||||||
|
|
||||||
# User preferences:
|
# User preferences:
|
||||||
@@ -120,8 +119,6 @@ class Params:
|
|||||||
use_gizmo_drag=True,
|
use_gizmo_drag=True,
|
||||||
use_fallback_tool=False,
|
use_fallback_tool=False,
|
||||||
use_fallback_tool_select_handled=True,
|
use_fallback_tool_select_handled=True,
|
||||||
use_tweak_select_passthrough=False,
|
|
||||||
use_tweak_tool_lmb_interaction=False,
|
|
||||||
use_v3d_tab_menu=False,
|
use_v3d_tab_menu=False,
|
||||||
use_v3d_shade_ex_pie=False,
|
use_v3d_shade_ex_pie=False,
|
||||||
use_v3d_mmb_pan=False,
|
use_v3d_mmb_pan=False,
|
||||||
@@ -152,8 +149,6 @@ class Params:
|
|||||||
else:
|
else:
|
||||||
self.tool_maybe_tweak_value = 'CLICK_DRAG'
|
self.tool_maybe_tweak_value = 'CLICK_DRAG'
|
||||||
|
|
||||||
self.use_tweak_tool_lmb_interaction = use_tweak_tool_lmb_interaction
|
|
||||||
|
|
||||||
self.context_menu_event = {"type": 'W', "value": 'PRESS'}
|
self.context_menu_event = {"type": 'W', "value": 'PRESS'}
|
||||||
|
|
||||||
# Use the "cursor" functionality for RMB select.
|
# Use the "cursor" functionality for RMB select.
|
||||||
@@ -174,7 +169,6 @@ class Params:
|
|||||||
self.action_mouse = 'RIGHTMOUSE'
|
self.action_mouse = 'RIGHTMOUSE'
|
||||||
self.tool_mouse = 'LEFTMOUSE'
|
self.tool_mouse = 'LEFTMOUSE'
|
||||||
self.tool_maybe_tweak_value = 'CLICK_DRAG'
|
self.tool_maybe_tweak_value = 'CLICK_DRAG'
|
||||||
self.use_tweak_tool_lmb_interaction = False
|
|
||||||
|
|
||||||
if self.legacy:
|
if self.legacy:
|
||||||
self.context_menu_event = {"type": 'W', "value": 'PRESS'}
|
self.context_menu_event = {"type": 'W', "value": 'PRESS'}
|
||||||
@@ -211,7 +205,7 @@ class Params:
|
|||||||
|
|
||||||
self.use_file_single_click = use_file_single_click
|
self.use_file_single_click = use_file_single_click
|
||||||
|
|
||||||
self.use_tweak_select_passthrough = use_tweak_select_passthrough
|
self.use_tweak_select_passthrough = not legacy
|
||||||
|
|
||||||
self.use_fallback_tool = use_fallback_tool
|
self.use_fallback_tool = use_fallback_tool
|
||||||
|
|
||||||
@@ -579,7 +573,7 @@ def _template_items_tool_select(
|
|||||||
select_passthrough = params.use_tweak_select_passthrough
|
select_passthrough = params.use_tweak_select_passthrough
|
||||||
else:
|
else:
|
||||||
if not cursor_prioritize:
|
if not cursor_prioritize:
|
||||||
select_passthrough = params.use_tweak_tool_lmb_interaction
|
select_passthrough = True
|
||||||
|
|
||||||
if select_passthrough:
|
if select_passthrough:
|
||||||
return [
|
return [
|
||||||
|
|||||||
Reference in New Issue
Block a user