Page MenuHome

Mode hotkeys - different hotkeyset for grease pencil object required, entries in keymanager problem
Open, Confirmed, MediumPublic

Description

System Information
Operating system: Windows-7-6.1.7601-SP1 64 Bits
Graphics card: GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.35

Blender Version
Broken: version: 2.80 (sub 51), branch: blender2.7, commit date: 2019-03-26 18:57, hash: rB337eb8c1de4c
Worked: (optional)

Short description of error
[Please fill out a short description of the error here]

The grease pencil object doesn't show the general object mode hotkeys when you assign some. It requires its own hotkey set for the modes. But in the keymanager they will appear as the exact same entries. Except draw mode, which doesn't exist for other object types.

There is a problem then with the display in the key manager. When you add the extra set for the grease pencil type, then you can't see the mode anymore for the mesh object type modes. I guess it's because it is in fact a double entry with the ones created for the grease pencil object.

I also managed to mess up the object mode hotkeys then with saving the preferences. All modes except object mode had the same key assigned then. But this wasn't reproduceable so far. And might be another issue.

Exact steps for others to reproduce the error
[Please describe the exact steps needed to reproduce the issue]
[Based on the default startup or an attached .blend file (as simple as possible)]

Create a set of hotkeys for the modes with a mesh object. Create a grease pencil object, have a look at the modes. No hotkeys except object mode.

Create a set of hotkeys for the modes with the grease pencil object.

Head over to the preferences into the keymap tab. Search for mode. Have a look at the Object Non-Modal section. Here you can find the mode hotkeys. Open the first ones up, have a look for the modes. No mode content in the boxes ...

I wonder why the grease pencil object doesn't find the other mode hotkeys from the mesh object at all. That's the second thing. There is no visible difference in the keymanager, it's in the same category ...

Details

Type
Bug

Event Timeline

Exporting the keymap makes the problem more visible. Some mode strings are now missing.

keyconfig_data = \
[("Object Non-modal",
  {"space_type": 'EMPTY', "region_type": 'WINDOW'},
  {"items":
   [("object.mode_set",
     {"type": 'TAB', "value": 'PRESS'},
     {"properties":
      [("mode", 'EDIT'),
       ("toggle", True),
       ],
      },
     ),
    ("view3d.object_mode_pie_or_toggle", {"type": 'TAB', "value": 'PRESS', "ctrl": True}, None),
    ("object.mode_set",
     {"type": 'ONE', "value": 'PRESS'},
     {"properties":
      [("mode", 'OBJECT'),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'TWO', "value": 'PRESS'},
     {"properties":
      [("mode", 'EDIT'),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'THREE', "value": 'PRESS'},
     {"properties":
      [("mode", 'SCULPT'),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'FOUR', "value": 'PRESS'},
     {"properties":
      [("mode", 'VERTEX_PAINT'),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'FIVE', "value": 'PRESS'},
     {"properties":
      [("mode", 'WEIGHT_PAINT'),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'SIX', "value": 'PRESS'},
     {"properties":
      [("mode", 'TEXTURE_PAINT'),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'TWO', "value": 'PRESS'},
     {"properties":
      [("mode", ''),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'THREE', "value": 'PRESS'},
     {"properties":
      [("mode", ''),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'FOUR', "value": 'PRESS'},
     {"properties":
      [("mode", ''),
       ],
      },
     ),
    ("object.mode_set",
     {"type": 'FIVE', "value": 'PRESS'},
     {"properties":
      [("mode", ''),
       ],
      },
     ),
    ],
   },
  ),
 ]


if __name__ == "__main__":
    import os
    from bl_keymap_utils.io import keyconfig_import_from_data
    keyconfig_import_from_data(os.path.splitext(os.path.basename(__file__))[0], keyconfig_data)
Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.Apr 4 2019, 4:21 PM