work: update FA maya config pro
This commit is contained in:
@@ -10,13 +10,13 @@ D:\Work\9 iClone\Amazon\
|
||||
D:\Amazon\00_external-files\
|
||||
N:\1. CHARACTERS\remapping\
|
||||
[Recent]
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\actor\
|
||||
C:\Users\Nathan\AppData\Local\Temp\
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Ref\actor\
|
||||
A:\1 Amazon_Active_Projects\260512_Agile_Gemba\Blends\animations\
|
||||
P:\260423_MukBuddy\Blends\animations\
|
||||
F:\renders\
|
||||
C:\Users\Nathan\Downloads\
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\
|
||||
A:\1 Amazon_Active_Projects\260528_NonConSplitPickcart\Deliverable\Stills\
|
||||
A:\1 Amazon_Active_Projects\260528_NonConSplitPickcart\Blends\stills\
|
||||
A:\1 Amazon_Active_Projects\260513_FSAF_edits_2026\Blends\stills\
|
||||
N:\1. CHARACTERS\remapping\
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\
|
||||
A:\1 Amazon_Active_Projects\260526_Walker_Leader\Blends\stills\img-BG\
|
||||
A:\1 Amazon_Active_Projects\260526_Walker_Leader\Blends\stills\
|
||||
T:\1 BlenderAssets\
|
||||
A:\1 Amazon_Active_Projects\260526_Walker_Leader\Blends\animations\
|
||||
A:\1 Amazon_Active_Projects\260526_Walker_Leader\Assets\Blends\
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"flamenco_version": {
|
||||
"version": "3.10-alpha0 (0c2ec48d)",
|
||||
"version": "3.10-alpha0 (b5e531ae)",
|
||||
"shortversion": "3.10-alpha0",
|
||||
"name": "Flamenco",
|
||||
"git": "0c2ec48d"
|
||||
"git": "b5e531ae"
|
||||
},
|
||||
"shared_storage": {
|
||||
"location": "F:\\jobs",
|
||||
|
||||
+25
-25
@@ -1,8 +1,32 @@
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\actor\FlowCSA_actor_3a.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Assets\Blends\GRAPHS_TEST_GW.blend
|
||||
C:\Users\Nathan\AppData\Local\Temp\2026-06-15_17-25_FlowCSA_actor_3a.blend
|
||||
C:\Users\Nathan\AppData\Local\Temp\2026-06-15_17-27_FlowCSA_actor_3a.blend
|
||||
A:\1 Amazon_Active_Projects\260512_Agile_Gemba\Blends\animations\gembawalk_horizontal_animation_4b.blend
|
||||
F:\jobs\gembawalk_horizontal_animation_4b\gembawalk_horizontal_animation_4b.flamenco.blend
|
||||
A:\1 Amazon_Active_Projects\260512_Agile_Gemba\Blends\animations\gembawalk_horizontal_animation_4a.blend
|
||||
F:\jobs\HamperSensorEye_animation 1C\HamperSensorEye_animation 1C.flamenco.blend
|
||||
P:\260423_MukBuddy\Blends\animations\Pak Buddy Animation_v2_red.blend
|
||||
P:\260423_MukBuddy\Blends\animations\Pak Buddy Animation_v2_vert.blend
|
||||
P:\260423_MukBuddy\Blends\animations\Pak Buddy Animation_v2.blend
|
||||
F:\jobs\FlowCSA_360_1aD-g64a\FlowCSA_360_1aD.blend
|
||||
F:\jobs\FlowCSA_360_1aD-80jq\FlowCSA_360_1aD.blend
|
||||
F:\jobs\FlowCSA_360_1aD-vxbv\FlowCSA_360_1aD.blend
|
||||
C:\Users\Nathan\Downloads\FlowCSA_360_1aD.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1aD.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1bA_opening_1.blend
|
||||
F:\jobs\FlowCSA_360_1bA_opening_1\FlowCSA_360_1bA_opening_1.flamenco.blend
|
||||
F:\jobs\FlowCSA_360_1bA_opening_1-zlpm\FlowCSA_360_1bA_opening_1.flamenco.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1aC.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1aB.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1aA.blend
|
||||
A:\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Set-Dressing\Package_path_v1.0.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_2aB.blend
|
||||
F:\jobs\FlowCSA_360_2aB\FlowCSA_360_2aB.flamenco.blend
|
||||
F:\jobs\FlowCSA_360_1aC\FlowCSA_360_1aC.blend
|
||||
A:\1 Amazon_Active_Projects\260528_NonConSplitPickcart\Blends\stills\iNonConSplitPickcart_4b.blend
|
||||
A:\1 Amazon_Active_Projects\260528_NonConSplitPickcart\Blends\stills\iNonConSplitPickcart_4a.blend
|
||||
A:\1 Amazon_Active_Projects\260513_FSAF_edits_2026\Blends\stills\iAmbassadorM2_3.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1aB.blend
|
||||
A:\1 Amazon_Active_Projects\260528_NonConSplitPickcart\Blends\stills\iNonConSplitPickcart_3b.blend
|
||||
A:\1 Amazon_Active_Projects\260528_NonConSplitPickcart\Blends\stills\iNonConSplitPickcart_3a.blend
|
||||
A:\1 Amazon_Active_Projects\260528_NonConSplitPickcart\Blends\stills\iNonConSplitPickcart_3.blend
|
||||
@@ -37,7 +61,6 @@ A:\1 Amazon_Active_Projects\260526_Walker_Leader\Blends\animations\Walker_AP_ani
|
||||
A:\1 Amazon_Active_Projects\260526_Walker_Leader\Assets\Blends\Delivery_Truck_Openable_v1.1.blend
|
||||
A:\1 Amazon_Active_Projects\260526_Walker_Leader\Assets\Blends\Delivery_Truck_Openable.blend
|
||||
A:\1 Amazon_Active_Projects\260526_Walker_Leader\Blends\stills\iWalker_AP_4.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1aA.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Assets\Blends\lipsync.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1a.blend
|
||||
A:\1 Amazon_Active_Projects\260506_Safety_School_Transformation_2026\Blends\animations\SS_2026_animation_5c.blend
|
||||
@@ -73,7 +96,6 @@ A:\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Char\Cartoon3\Ren_v1.2.blend
|
||||
A:\1 Amazon_Active_Projects\260506_Safety_School_Transformation_2026\Blends\animations\SS_2026_animation_8cB.blend
|
||||
A:\1 Amazon_Active_Projects\260506_Safety_School_Transformation_2026\Blends\animations\SS_2026_animation_15bB.blend
|
||||
A:\1 Amazon_Active_Projects\260506_Safety_School_Transformation_2026\Blends\animations\SS_2026_animation_8cB_vertical.blend
|
||||
P:\260423_MukBuddy\Blends\animations\Pak Buddy Animation_v2_vert.blend
|
||||
C:\Users\Nathan\AppData\Local\Temp\bat-ss2026-2b-pack\_outside_project\A\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Char\Cartoon1\Martha_v4.4.blend
|
||||
F:\jobs\FlowCSA_360_1bD-7c6o\_outside_project\A\1 Amazon_Active_Projects\1 BlenderAssets\Amazon\Char\Cartoon3\Bebe_v1.2.blend
|
||||
A:\1 Amazon_Active_Projects\260420_FLOW_2026\Blends\animations\FlowCSA_360_1bD.blend
|
||||
@@ -176,25 +198,3 @@ A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\i_noncon_OOG_9k.ble
|
||||
A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\HAT\HAT_i_noncon_OOG_9k.blend
|
||||
A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\SOM\SOM_i_noncon_OOG_9m.blend
|
||||
A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\i_noncon_OOG_9m.blend
|
||||
A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\i_noncon_OOG_9l.blend
|
||||
A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\HAT\HAT_i_noncon_OOG_9m.blend
|
||||
A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\SOM\SOM_i_noncon_OOG_9l.blend
|
||||
A:\1 Amazon_Active_Projects\260317_NONCON_2026\Blends\stills\HAT\HAT_i_noncon_OOG_9l.blend
|
||||
A:\1 Amazon_Active_Projects\260422_Upstream_edits_2026\Blends\animations\UP_M4_S01_b.blend
|
||||
A:\1 Amazon_Active_Projects\260422_Upstream_edits_2026\Blends\animations\UP_M4_S01_c.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\iP&S2025_30b.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\iP&S2025_31a.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\iP&S2025_26.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\iP&S2025_22b.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\iP&S2025_21.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\iP&S2025_22_a.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\iP&S2025_19.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\stills\2025_old\i22.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\animations\2025_old\Ambassador_M3_A4_picker_s1.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\animations\2025_old\Ambassador_M3_A4_picker_s3.blend
|
||||
C:\Users\Nathan\Downloads\Ambassador_M3_A4_picker_s3.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\animations\2025_old\Ambassador_M3_A4_coach-s2.blend
|
||||
A:\1 Amazon_Active_Projects\260127_Pick-and-Stage_2026_edits\Blends\animations\2025_old\Ambassador_M3_A4_coach-s1.blend
|
||||
A:\1 Amazon_Active_Projects\260422_Upstream_edits_2026\Blends\animations\M4\UP_M4_S01_2hands.blend
|
||||
G:\Amazon\2024\240402_Amazon_Coaching&Upstream\Upstream\blends\mod 4\UP_M4_S01.blend
|
||||
G:\Amazon\2024\240402_Amazon_Coaching&Upstream\Upstream\blends\mod 4\UP_M4_S01_2hands.blend
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"last_check": "2026-05-27 14:41:11.263249",
|
||||
"last_check": "2026-06-15 10:23:39.203210",
|
||||
"backup_date": "May-27-2026",
|
||||
"update_ready": false,
|
||||
"ignore": false,
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -2,6 +2,11 @@
|
||||
|
||||
All notable changes to **Maya Config Pro** are listed here. Versions match `blender_manifest.toml`.
|
||||
|
||||
## [1.8.1] — 2026-06-16
|
||||
|
||||
### Fixed
|
||||
- **Node Editor:** Alt+RMB drag works for **Node Wrangler Lazy Connect** again (FA Hotkeys + Blender default). Disabled conflicting `node.backimage_sample` and `node.move_detach_links_release` bindings; runtime patch applies on preset switch and add-on load.
|
||||
|
||||
## [1.8.0] — 2026-04-22
|
||||
|
||||
### WIP — Animation shelf (3D View)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Maya Config Pro - Blender Extension
|
||||
A Maya-like configuration, shortcuts, and UI elements for Blender.
|
||||
|
||||
Version: 1.8.0
|
||||
Version: 1.8.1
|
||||
Author: Form Affinity (Jesse Doyle)
|
||||
"""
|
||||
|
||||
@@ -12,7 +12,7 @@ Author: Form Affinity (Jesse Doyle)
|
||||
bl_info = {
|
||||
"name": "Maya Config Pro",
|
||||
"author": "Form Affinity (Jesse Doyle)",
|
||||
"version": (1, 8, 0),
|
||||
"version": (1, 8, 1),
|
||||
"blender": (4, 2, 0),
|
||||
"location": "View3D > Sidebar > Maya Config",
|
||||
"description": "Maya-like configuration, shortcuts, UI panels, and keymap presets",
|
||||
@@ -50,6 +50,7 @@ from .ops import (
|
||||
|
||||
from .keyconfigs import fa_hotkeys
|
||||
from .utils import deploy as deploy_util
|
||||
from .utils import keymap_fix
|
||||
from .ops import deploy_ops
|
||||
|
||||
|
||||
@@ -190,6 +191,11 @@ def register():
|
||||
except Exception as e:
|
||||
print(f"Warning: Failed to sync keymaps: {e}")
|
||||
|
||||
try:
|
||||
keymap_fix.patch_active_keyconfig()
|
||||
except Exception as e:
|
||||
print(f"Warning: Maya Config Pro: node editor keymap patch: {e}")
|
||||
|
||||
|
||||
def unregister():
|
||||
"""Unregister all classes and submodules"""
|
||||
|
||||
@@ -3,7 +3,7 @@ schema_version = "1.0.0"
|
||||
id = "form_affinity_maya_config_pro"
|
||||
name = "Maya Config Pro"
|
||||
tagline = "Maya-like configuration, shortcuts, and UI elements for Blender"
|
||||
version = "1.8.0"
|
||||
version = "1.8.1"
|
||||
type = "add-on"
|
||||
|
||||
maintainer = "Form Affinity"
|
||||
|
||||
@@ -10,6 +10,7 @@ that layer without restarting.
|
||||
|
||||
import bpy
|
||||
from ..utils import compat
|
||||
from ..utils import keymap_fix
|
||||
|
||||
# Import the keyconfig data
|
||||
from . import fa_hotkeys_data
|
||||
@@ -138,6 +139,10 @@ def sync_addon_keymaps() -> None:
|
||||
if is_fa_keyconfig_active():
|
||||
unregister_keymaps()
|
||||
register_keymaps()
|
||||
try:
|
||||
keymap_fix.patch_node_editor_alt_rmb("FA_HOTKEYS")
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
unregister_keymaps()
|
||||
|
||||
|
||||
@@ -2555,7 +2555,10 @@ keyconfig_data = \
|
||||
},
|
||||
),
|
||||
("node.backimage_fit", {"type": 'HOME', "value": 'PRESS', "alt": True}, None),
|
||||
("node.backimage_sample", {"type": 'RIGHTMOUSE', "value": 'PRESS', "alt": True}, None),
|
||||
("node.backimage_sample", {"type": 'RIGHTMOUSE', "value": 'PRESS', "alt": True},
|
||||
{"active":False,
|
||||
},
|
||||
),
|
||||
("node.link_make",
|
||||
{"type": 'J', "value": 'PRESS'},
|
||||
{"properties":
|
||||
@@ -2768,6 +2771,7 @@ keyconfig_data = \
|
||||
],
|
||||
),
|
||||
],
|
||||
"active":False,
|
||||
},
|
||||
),
|
||||
("node.move_detach_links",
|
||||
|
||||
@@ -7,6 +7,7 @@ import os
|
||||
import bpy
|
||||
|
||||
from ..keyconfigs import fa_hotkeys
|
||||
from ..utils import keymap_fix
|
||||
from ..utils import compat
|
||||
from ..utils import deploy as deploy_util
|
||||
|
||||
@@ -27,6 +28,10 @@ class MCP_OT_DeployKeymapPresets(bpy.types.Operator):
|
||||
fa_hotkeys.sync_addon_keymaps()
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
keymap_fix.patch_active_keyconfig()
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
self.report({"ERROR"}, msg)
|
||||
return {"FINISHED"} if ok else {"CANCELLED"}
|
||||
@@ -109,6 +114,11 @@ class MCP_OT_ActivateKeymapPreset(bpy.types.Operator):
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
try:
|
||||
keymap_fix.patch_node_editor_alt_rmb(self.preset)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
|
||||
+5
-1
@@ -2555,7 +2555,10 @@ keyconfig_data = \
|
||||
},
|
||||
),
|
||||
("node.backimage_fit", {"type": 'HOME', "value": 'PRESS', "alt": True}, None),
|
||||
("node.backimage_sample", {"type": 'RIGHTMOUSE', "value": 'PRESS', "alt": True}, None),
|
||||
("node.backimage_sample", {"type": 'RIGHTMOUSE', "value": 'PRESS', "alt": True},
|
||||
{"active":False,
|
||||
},
|
||||
),
|
||||
("node.link_make",
|
||||
{"type": 'J', "value": 'PRESS'},
|
||||
{"properties":
|
||||
@@ -2768,6 +2771,7 @@ keyconfig_data = \
|
||||
],
|
||||
),
|
||||
],
|
||||
"active":False,
|
||||
},
|
||||
),
|
||||
("node.move_detach_links",
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
"""
|
||||
Runtime fixes for Alt+RMB in node editor areas.
|
||||
|
||||
Node Wrangler Lazy Connect (node.nw_lazy_connect) uses Alt+RMB press/drag.
|
||||
Native node.backimage_sample and node.move_detach_links_release block it.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import bpy
|
||||
|
||||
|
||||
def _find_keymap(kc, name: str, space_type: str):
|
||||
try:
|
||||
return kc.keymaps.find(name, space_type=space_type, region_type="WINDOW")
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
|
||||
def _set_kmi_active(km, *, idname: str, value: str, active: bool) -> None:
|
||||
if not km:
|
||||
return
|
||||
for kmi in km.keymap_items:
|
||||
if (
|
||||
kmi.idname == idname
|
||||
and kmi.type == "RIGHTMOUSE"
|
||||
and kmi.value == value
|
||||
and kmi.alt
|
||||
and not kmi.shift
|
||||
and not kmi.ctrl
|
||||
):
|
||||
kmi.active = active
|
||||
|
||||
|
||||
def _lazy_connect_available() -> bool:
|
||||
return "node_wrangler" in bpy.context.preferences.addons
|
||||
|
||||
|
||||
def _ensure_lazy_connect(km) -> None:
|
||||
if not km or not _lazy_connect_available():
|
||||
return
|
||||
for kmi in km.keymap_items:
|
||||
if (
|
||||
kmi.idname == "node.nw_lazy_connect"
|
||||
and kmi.type == "RIGHTMOUSE"
|
||||
and kmi.value == "PRESS"
|
||||
and kmi.alt
|
||||
and not kmi.shift
|
||||
and not kmi.ctrl
|
||||
and not getattr(kmi.properties, "with_menu", True)
|
||||
):
|
||||
kmi.active = True
|
||||
return
|
||||
kmi = km.keymap_items.new(
|
||||
"node.nw_lazy_connect",
|
||||
"RIGHTMOUSE",
|
||||
"PRESS",
|
||||
alt=True,
|
||||
head=True,
|
||||
)
|
||||
kmi.properties.with_menu = False
|
||||
|
||||
|
||||
def active_preset_name() -> str | None:
|
||||
try:
|
||||
stem = str(bpy.context.preferences.keymap.active_keyconfig or "").lower()
|
||||
except Exception:
|
||||
stem = ""
|
||||
if stem == "fa_hotkeys":
|
||||
return "FA_HOTKEYS"
|
||||
if stem in {"industry_compatible", "industry compatible"}:
|
||||
return "INDUSTRY"
|
||||
if stem == "blender":
|
||||
return "BLENDER"
|
||||
return None
|
||||
|
||||
|
||||
def patch_active_keyconfig() -> None:
|
||||
preset = active_preset_name()
|
||||
if preset:
|
||||
patch_node_editor_alt_rmb(preset)
|
||||
|
||||
|
||||
def _patch_keyconfig(kc) -> None:
|
||||
if not kc:
|
||||
return
|
||||
km_node = _find_keymap(kc, "Node Editor", "NODE_EDITOR")
|
||||
_set_kmi_active(km_node, idname="node.backimage_sample", value="PRESS", active=False)
|
||||
_set_kmi_active(
|
||||
km_node,
|
||||
idname="node.move_detach_links_release",
|
||||
value="CLICK_DRAG",
|
||||
active=False,
|
||||
)
|
||||
_ensure_lazy_connect(km_node)
|
||||
|
||||
|
||||
def patch_node_editor_alt_rmb(preset: str) -> None:
|
||||
"""Free Alt+RMB for Node Wrangler Lazy Connect in node editors."""
|
||||
wm = getattr(bpy.context, "window_manager", None)
|
||||
if not wm:
|
||||
return
|
||||
_patch_keyconfig(wm.keyconfigs.active)
|
||||
_patch_keyconfig(wm.keyconfigs.addon)
|
||||
Reference in New Issue
Block a user