[Bf-blender-cvs] [68759625b11] blender-v3.0-release: Fix T92053: Industry compatible key-map fallback tools don't work
Campbell Barton
noreply at git.blender.org
Wed Nov 3 05:55:50 CET 2021
Commit: 68759625b113cb190e96024fec5f397da61be0d0
Author: Campbell Barton
Date: Wed Nov 3 15:43:32 2021 +1100
Branches: blender-v3.0-release
https://developer.blender.org/rB68759625b113cb190e96024fec5f397da61be0d0
Fix T92053: Industry compatible key-map fallback tools don't work
Caused by c9d9bfa84ad5cb985e3feccffa702b2f3cc2adf8.
Support for fallback tools with right-click select needed
the industry compatible key-map to be updated.
===================================================================
M release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
===================================================================
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 0ae64dbc62e..37cd554e872 100644
--- a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
+++ b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
@@ -4203,20 +4203,29 @@ def keymap_transform_tool_mmb(keymap):
km_items_new = []
for kmi in km_items:
ty = kmi[1]["type"]
- if ty == 'LEFTMOUSE':
- kmi = (kmi[0], kmi[1].copy(), kmi[2])
- kmi[1]["type"] = 'MIDDLEMOUSE'
- km_items_new.append(kmi)
- elif ty == 'EVT_TWEAK_L':
- kmi = (kmi[0], kmi[1].copy(), kmi[2])
- if kmi[1]["value"] == 'ANY':
+ if km_name.endswith(" (fallback)"):
+ if ty == 'RIGHTMOUSE':
+ kmi = (kmi[0], kmi[1].copy(), kmi[2])
+ kmi[1]["type"] = 'LEFTMOUSE'
+ km_items_new.append(kmi)
+ elif ty == 'EVT_TWEAK_R':
+ kmi = (kmi[0], kmi[1].copy(), kmi[2])
+ kmi[1]["type"] = 'EVT_TWEAK_L'
+ km_items_new.append(kmi)
+ else:
+ if ty == 'LEFTMOUSE':
+ kmi = (kmi[0], kmi[1].copy(), kmi[2])
kmi[1]["type"] = 'MIDDLEMOUSE'
- kmi[1]["value"] = 'PRESS'
- else:
- # Directional tweaking can't be replaced by middle-mouse.
- kmi[1]["type"] = 'EVT_TWEAK_M'
-
- km_items_new.append(kmi)
+ km_items_new.append(kmi)
+ elif ty == 'EVT_TWEAK_L':
+ kmi = (kmi[0], kmi[1].copy(), kmi[2])
+ if kmi[1]["value"] == 'ANY':
+ kmi[1]["type"] = 'MIDDLEMOUSE'
+ kmi[1]["value"] = 'PRESS'
+ else:
+ # Directional tweaking can't be replaced by middle-mouse.
+ kmi[1]["type"] = 'EVT_TWEAK_M'
+ km_items_new.append(kmi)
km_items.extend(km_items_new)
@@ -4227,9 +4236,17 @@ def generate_keymaps(params=None):
# Combine the key-map to support manipulating it, so we don't need to manually
# define key-map here just to manipulate them.
- blender_default = execfile(
+ blender_default_mod = execfile(
os.path.join(os.path.dirname(__file__), "blender_default.py"),
- ).generate_keymaps()
+ )
+
+ blender_default = blender_default_mod.generate_keymaps(
+ # Use the default key-map with only minor changes to default arguments.
+ blender_default_mod.Params(
+ # Needed so the fallback key-map items are populated.
+ use_fallback_tool=True,
+ ),
+ )
keymap_existing_names = {km[0] for km in keymap}
keymap.extend([km for km in blender_default if km[0] not in keymap_existing_names])
More information about the Bf-blender-cvs
mailing list