[Bf-blender-cvs] [8a14306c38a] blender2.8: Keymap: code refactor to makes some events changeable with parameters.

Brecht Van Lommel noreply at git.blender.org
Tue Nov 13 18:23:25 CET 2018


Commit: 8a14306c38afb9230a2c7f436ae67e33bd98d03b
Author: Brecht Van Lommel
Date:   Mon Nov 12 14:14:56 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB8a14306c38afb9230a2c7f436ae67e33bd98d03b

Keymap: code refactor to makes some events changeable with parameters.

No functional changes.

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

M	release/scripts/presets/keyconfig/keymap_data/blender_default.py

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

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 839236324ea..3eaf02aae3f 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -20,34 +20,45 @@
 # ------------------------------------------------------------------------------
 # Configurable Parameters
 
-from collections import namedtuple
-
-# TODO: remove when we drop Python 3.6
-import sys
-if sys.version_info >= (3, 7):
-    KeymapParams = namedtuple(
-        "KeymapParams",
-        ("apple", "legacy", "select_mouse", "action_mouse"),
-        defaults=(
-            sys.platform == "darwin",
-            False,
-            'SELECTMOUSE',
-            'ACTIONMOUSE',
-        ),
-    )
-else:
-    KeymapParams = namedtuple(
-        "KeymapParams",
-        ("apple", "legacy", "select_mouse", "action_mouse"),
-    )
-    KeymapParams.__new__.__defaults__ = (
-        sys.platform == "darwin",
-        False,
-        'SELECTMOUSE',
-        'ACTIONMOUSE',
+class KeymapParams:
+    __slots__ = (
+        "apple",
+        "legacy",
+        "select_mouse",
+        "select_tweak",
+        "select_click",
+        "action_mouse",
+        "action_tweak",
     )
-del namedtuple, sys
 
+    def __init__(self, legacy=False, select_mode='AUTO'):
+        import platform
+        self.apple = platform.system() == 'Darwin'
+        self.legacy = legacy
+
+        if select_mode == 'LEFT':
+            # Left mouse select uses Click event for selection. This is a little
+            # less immediate, but is needed to distinguish between click and tweak
+            # events on the same mouse buttons.
+            self.select_mouse = 'LEFTMOUSE'
+            self.select_tweak = 'EVT_TWEAK_L'
+            self.select_click = 'CLICK'
+            self.action_mouse = 'RIGHTMOUSE'
+            self.action_tweak = 'EVT_TWEAK_R'
+        elif select_mode == 'RIGHT':
+            # Right mouse select.
+            self.select_mouse = 'RIGHTMOUSE'
+            self.select_tweak = 'EVT_TWEAK_R'
+            self.select_click = 'PRESS'
+            self.action_mouse = 'LEFTMOUSE'
+            self.action_tweak = 'EVT_TWEAK_L'
+        else:
+            # Automatic switching using special events, to be removed.
+            self.select_mouse = 'SELECTMOUSE'
+            self.select_tweak = 'EVT_TWEAK_S'
+            self.select_click = 'PRESS'
+            self.action_mouse = 'ACTIONMOUSE'
+            self.action_tweak = 'EVT_TWEAK_A'
 
 # ------------------------------------------------------------------------------
 # Constants
@@ -577,13 +588,13 @@ def km_uv_editor(params):
         ("wm.context_set_enum", {"type": 'FOUR', "value": 'PRESS'},
          {"properties": [("data_path", 'tool_settings.uv_select_mode'), ("value", 'ISLAND')]}),
         ("uv.mark_seam", {"type": 'E', "value": 'PRESS', "ctrl": True}, None),
-        ("uv.select", {"type": params.select_mouse, "value": 'PRESS'},
+        ("uv.select", {"type": params.select_mouse, "value": params.select_click},
          {"properties": [("extend", False)]}),
-        ("uv.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
+        ("uv.select", {"type": params.select_mouse, "value": params.select_click, "shift": True},
          {"properties": [("extend", True)]}),
-        ("uv.select_loop", {"type": params.select_mouse, "value": 'PRESS', "alt": True},
+        ("uv.select_loop", {"type": params.select_mouse, "value": params.select_click, "alt": True},
          {"properties": [("extend", False)]}),
-        ("uv.select_loop", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "alt": True},
+        ("uv.select_loop", {"type": params.select_mouse, "value": params.select_click, "shift": True, "alt": True},
          {"properties": [("extend", True)]}),
         ("uv.select_split", {"type": 'Y', "value": 'PRESS'}, None),
         ("uv.select_box", {"type": 'B', "value": 'PRESS'},
@@ -591,9 +602,9 @@ def km_uv_editor(params):
         ("uv.select_box", {"type": 'B', "value": 'PRESS', "ctrl": True},
          {"properties": [("pinned", True)]}),
         ("uv.circle_select", {"type": 'C', "value": 'PRESS'}, None),
-        ("uv.select_lasso", {"type": 'EVT_TWEAK_A', "value": 'ANY', "ctrl": True},
+        ("uv.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True},
          {"properties": [("deselect", False)]}),
-        ("uv.select_lasso", {"type": 'EVT_TWEAK_A', "value": 'ANY', "shift": True, "ctrl": True},
+        ("uv.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True},
          {"properties": [("deselect", True)]}),
         ("uv.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True},
          {"properties": [("extend", True), ("deselect", False)]}),
@@ -624,7 +635,7 @@ def km_uv_editor(params):
         op_menu("IMAGE_MT_uvs_select_mode", {"type": 'TAB', "value": 'PRESS', "ctrl": True}),
         *_template_items_proportional_editing(connected=False),
         ("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
-        ("transform.translate", {"type": 'EVT_TWEAK_S', "value": 'ANY'}, None),
+        ("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
         ("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
         ("transform.resize", {"type": 'S', "value": 'PRESS'}, None),
         ("transform.shear", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
@@ -838,7 +849,7 @@ def km_view3d(params):
         ("view3d.view_axis", {"type": 'NDOF_BUTTON_TOP', "value": 'PRESS', "shift": True},
          {"properties": [("type", 'TOP'), ("align_active", True)]}),
         # Selection.
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS'},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -847,7 +858,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -856,7 +867,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "ctrl": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -865,7 +876,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", True),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS', "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -874,7 +885,7 @@ def km_view3d(params):
              ("enumerate", True),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True, "ctrl": True},
          {"properties": [
              ("extend", True),
              ("deselect", False),
@@ -883,7 +894,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True, "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "ctrl": True, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -892,7 +903,7 @@ def km_view3d(params):
              ("enumerate", True),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -901,7 +912,7 @@ def km_view3d(params):
              ("enumerate", True),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True, "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True, "ctrl": True, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -911,9 +922,9 @@ def km_view3d(params):
              ("object", False),
          ], },),
         ("view3d.select_box", {"type": 'B', "value": 'PRESS'}, None),
-        ("view3d.select_lasso", {"type": 'EVT_TWEAK_A', "value": 'ANY', "ctrl": True},
+        ("view3d.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True},
          {"properties": [("mode", 'ADD')]}),
-        ("view3d.select_lasso", {"type": 'EVT_TWEAK_A', "value": 'ANY', "shift": True, "ctrl": True},
+        ("view3d.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True},
          {"properties": [("mode", 'SUB')]}),
         ("view3d.select_circle", {"type": 'C', "value": 'PRESS'}, None),
         # Borders.
@@ -933,7 +944,7 @@ def km_view3d(params):
         op_menu_pie("VIEW3D_MT_orientations_pie", {"type": 'COMMA', "value": 'PRESS'}),
         # Transform.
         ("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
-        ("transform.translate", {"type": 'EVT_TWEAK_S', "value": 'ANY'}, None),
+      

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list