[Bf-blender-cvs] [bf7af31e9f7] blender2.8: Keymaps: left click select keymap changes

Brecht Van Lommel noreply at git.blender.org
Thu Nov 15 23:55:06 CET 2018


Commit: bf7af31e9f7c0177c1d390ab77804f8d556e0e56
Author: Brecht Van Lommel
Date:   Fri Nov 16 09:27:53 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBbf7af31e9f7c0177c1d390ab77804f8d556e0e56

Keymaps: left click select keymap changes

Both the active tools and selection are now on LMB, which leads to
various conflicts.

For that reason the LMB keymap now has a couple of differences
compared to before. These changes do not affect the RMB keymap.

* Context Menu: W -> RMB
* Select Tool activate: None -> W
* Set Cursor: RMB -> Shift+RMB
* Loop Select: Alt+LMB -> double click LMB
* Mask Feather Vertex Slide: Shift+RMB -> Ctrl+Shift+RMB
* Node Select: only with LMB now, no RMB

The idea behind the W key Select Tool shortcut is that various
tools can't be combined with selection, unlike the RMB keymap.
So this works as a quick shortcut to drop a tool
and go back to selection.

Tools: set Select Box tool as default, rather than Cursor.

This goes along with coming LMB select keymap changes,
where we want the user to be able to LMB click to select by default,
rather than set the cursor.
The cursor will still be directly setabble with shift+RMB.

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

M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	release/scripts/startup/bl_ui/space_toolsystem_common.py
M	release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M	source/blender/windowmanager/intern/wm_toolsystem.c

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

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 5fbb19a5b58..4d5e69410f5 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -25,8 +25,8 @@ class KeymapParams:
         "apple",
         "legacy",
         "select_mouse",
+        "select_mouse_value",
         "select_tweak",
-        "select_click",
         "action_mouse",
         "action_tweak",
         "tool_mouse",
@@ -44,8 +44,8 @@ class KeymapParams:
         if select_mouse == 'RIGHT':
             # Right mouse select.
             self.select_mouse = 'RIGHTMOUSE'
+            self.select_mouse_value = 'PRESS'
             self.select_tweak = 'EVT_TWEAK_R'
-            self.select_click = 'PRESS'
             self.action_mouse = 'LEFTMOUSE'
             self.action_tweak = 'EVT_TWEAK_L'
             self.tool_mouse = 'LEFTMOUSE'
@@ -57,24 +57,19 @@ class KeymapParams:
             # less immediate, but is needed to distinguish between click and tweak
             # events on the same mouse buttons.
             self.select_mouse = 'LEFTMOUSE'
+            self.select_mouse_value = 'CLICK'
             self.select_tweak = 'EVT_TWEAK_L'
             self.action_mouse = 'RIGHTMOUSE'
             self.action_tweak = 'EVT_TWEAK_R'
+            self.tool_mouse = 'LEFTMOUSE'
+            self.tool_tweak = 'EVT_TWEAK_L'
 
-            if True:
-                # Temporary backwards compatible behavior.
-                self.select_click = 'PRESS'
-                self.tool_mouse = 'RIGHTMOUSE'
-                self.tool_tweak = 'EVT_TWEAK_R'
+            if self.legacy:
                 self.context_menu_event = {"type": 'W', "value": 'PRESS'}
-                self.cursor_set_event = {"type": 'RIGHTMOUSE', "value": 'PRESS'}
             else:
-                # Planned keymap changes.
-                self.select_click = 'CLICK'
-                self.tool_mouse = 'LEFTMOUSE'
-                self.tool_tweak = 'EVT_TWEAK_L'
                 self.context_menu_event = {"type": 'RIGHTMOUSE', "value": 'PRESS'}
-                self.cursor_set_event = {"type": 'RIGHTMOUSE', "value": 'PRESS', "ctrl": True}
+
+            self.cursor_set_event = {"type": 'RIGHTMOUSE', "value": 'PRESS', "shift": True}
 
 
 # ------------------------------------------------------------------------------
@@ -622,13 +617,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": params.select_click},
+        ("uv.select", {"type": params.select_mouse, "value": params.select_mouse_value},
          {"properties": [("extend", False)]}),
-        ("uv.select", {"type": params.select_mouse, "value": params.select_click, "shift": True},
+        ("uv.select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True},
          {"properties": [("extend", True)]}),
-        ("uv.select_loop", {"type": params.select_mouse, "value": params.select_click, "alt": True},
+        ("uv.select_loop", {"type": params.select_mouse, "value": params.select_mouse_value, "alt": True},
          {"properties": [("extend", False)]}),
-        ("uv.select_loop", {"type": params.select_mouse, "value": params.select_click, "shift": True, "alt": True},
+        ("uv.select_loop", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "alt": True},
          {"properties": [("extend", True)]}),
         ("uv.select_split", {"type": 'Y', "value": 'PRESS'}, None),
         ("uv.select_box", {"type": 'B', "value": 'PRESS'},
@@ -689,6 +684,14 @@ def km_uv_editor(params):
              {"properties": [("data_path", 'tool_settings.use_uv_sculpt')]}),
         ])
 
+    if params.select_mouse == 'LEFTMOUSE' and not params.legacy:
+        # Quick switch to select tool, since left select can't easily
+        # select with any tool active.
+        items.extend([
+           ("wm.tool_set_by_name", {"type": 'W', "value": 'PRESS'},
+            {"properties": [("name", "Select Box")]})
+        ])
+
     return keymap
 
 
@@ -753,7 +756,7 @@ def km_view3d(params):
 
     items.extend([
         # Cursor.
-        ("view3d.cursor3d", {"type": params.action_mouse, "value": 'CLICK'}, None),
+        ("view3d.cursor3d", params.cursor_set_event, None),
         # Navigation.
         ("view3d.rotate", {"type": 'MIDDLEMOUSE', "value": 'PRESS'}, None),
         ("view3d.move", {"type": 'MIDDLEMOUSE', "value": 'PRESS', "shift": True}, None),
@@ -883,7 +886,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": params.select_click},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -892,7 +895,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -901,7 +904,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "ctrl": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value, "ctrl": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -910,7 +913,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", True),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -919,7 +922,7 @@ def km_view3d(params):
              ("enumerate", True),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True, "ctrl": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "ctrl": True},
          {"properties": [
              ("extend", True),
              ("deselect", False),
@@ -928,7 +931,7 @@ def km_view3d(params):
              ("enumerate", False),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "ctrl": True, "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value, "ctrl": True, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -937,7 +940,7 @@ def km_view3d(params):
              ("enumerate", True),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True, "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -946,7 +949,7 @@ def km_view3d(params):
              ("enumerate", True),
              ("object", False),
          ], },),
-        ("view3d.select", {"type": params.select_mouse, "value": params.select_click, "shift": True, "ctrl": True, "alt": True},
+        ("view3d.select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True, "ctrl": True, "alt": True},
          {"properties": [
              ("extend", False),
              ("deselect", False),
@@ -1072,6 +1075,14 @@ def km_view3d(params):
              {"properties": [("data_path", 'space_data.shading.type'), ("value_1", 'MATERIAL'), ("value_2", 'SOLID')]}),
         ])
 
+    if params.select_mouse == 'LEFTMOUSE' and not params.legacy:
+        # Quick switch to select tool, since left select can't easily
+        # select with any tool active.
+        items.extend([
+           ("wm.tool_set_by_name", {"type": 'W', "value": 'PRESS'},
+            {"properties": [("name", "Select Box")]})
+        ])
+
     return keymap
 
 
@@ -1090,12 +1101,12 @@ def km_mask_editing(params):
         ("wm.context_toggle", {"type": 'O', "value": 'PRESS'},
          {"properties": [("data_path", 'tool_settings.use_proportional_edit_mask')]}),
         ("mask.add_vertex_slide", {"type": params.action_mouse, "value": 'PRESS', "ctrl": True}, None),
-        ("mask.add_feather_vertex_slide", {"type": params.action_mouse, "value": 'PRESS', "shift": True}, None),
+        ("mask.add_feather_vertex_slide", {"type": params.action_mouse, "value": 'PRESS', "shift": True, "ctrl": True}, None),
         ("mask.delete", {"type": 'X', "value": 'PRESS'}, None),
         ("mask.delete", {"type": 'DEL', "value": 'PRESS'}, None),
-        ("mask.select", {"type": params.select_mouse, "value": params.select_click},
+        ("mask.select", {"type": params.select_mouse, "value": params.select_mouse_value},
          {"properties": [("extend", False), ("deselect", False), ("toggle", False)]}),
-        ("mask.select", {"type": params.select_mouse, "value": params.select_click, "shift": True},
+        ("mask.select", {"type": params.select_mouse, "value": params.select_mouse_value, "shift": True},
          {"prope

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list