[Bf-blender-cvs] [430cf7e15ee] master: Fix generated toolbar keymap w/ annotation tool

Campbell Barton noreply at git.blender.org
Mon Jan 7 01:01:41 CET 2019


Commit: 430cf7e15eef9b5f2aa7216f298b482a3163b02b
Author: Campbell Barton
Date:   Mon Jan 7 11:00:46 2019 +1100
Branches: master
https://developer.blender.org/rB430cf7e15eef9b5f2aa7216f298b482a3163b02b

Fix generated toolbar keymap w/ annotation tool

===================================================================

M	release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py

===================================================================

diff --git a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
index ba768426017..c49056117bf 100644
--- a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
+++ b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
@@ -230,12 +230,19 @@ def generate(context, space_type):
                 kmi_first = km.keymap_items
                 kmi_first = kmi_first[0] if kmi_first else None
                 if kmi_first is not None:
-                    kmi_found = wm.keyconfigs.find_item_from_operator(
-                        idname=kmi_first.idname,
-                        # properties=kmi_first.properties,  # prevents matches, don't use.
-                        context='INVOKE_REGION_WIN',
-                        include={'KEYBOARD'},
-                    )[1]
+                    # We need 'MOUSE' so keys with 'key_modifier' are found.
+                    for kmi_type in ('KEYBOARD', 'MOUSE'):
+                        kmi_found = wm.keyconfigs.find_item_from_operator(
+                            idname=kmi_first.idname,
+                            # properties=kmi_first.properties,  # prevents matches, don't use.
+                            context='INVOKE_REGION_WIN',
+                            include={kmi_type},
+                        )[1]
+                        if kmi_found is not None:
+                            if (kmi_type == 'MOUSE') and (kmi_found.key_modifier == 'NONE'):
+                                kmi_found = None
+                        if kmi_found is not None:
+                            break
                 else:
                     kmi_found = None
                 del kmi_first



More information about the Bf-blender-cvs mailing list