Commit Graph

32 Commits

Author SHA1 Message Date
d870e7d930 Keymap: skip save prompt for default keymap
See T57880
2018-11-20 10:15:33 +11:00
47139c69d7 Keymap: only use delete confirmation for X-key
Only use confirmation w/ X-key since this is more likely to be pressed
by accident. Delete-key delete doesn't confirm.

Part of D3953 by @Zachman w/ edits
2018-11-20 10:06:02 +11:00
740adf2a4b Cleanup: style 2018-11-19 13:37:18 +11:00
472b114761 Fix keymap loading multiple times
Blender defaults data-file was loading it's own key-map
with a capital 'B', the preset would load it again w/ a lowercase name.

Use lowercase key-map names.
2018-11-19 13:11:33 +11:00
3b48620098 Cleanup: naming 2018-11-19 07:04:24 +11:00
991bb00762 GP: Rename GPENCIL_OT_brush_paint to GPENCIL_OT_sculpt_paint
This makes the operator name more consistent. Part of T57818
2018-11-18 18:07:16 +01:00
0cac506f6e Keymap: preference to swap space/shift-space keys
This option is for animators who may not use the tool-system much
(mostly staying in object/pose-mode with the transform-tool active).
2018-11-18 13:43:44 +11:00
50a4a899fd Keymap: Default pref for select-all to toggle
Access in the UI next.
2018-11-18 12:39:31 +11:00
54091d935f Fix inconsistent frame set event in graph compared to other animation editors. 2018-11-16 15:53:48 +01:00
d5ab6af864 Keymaps: some more tweaks for left click select based on user feedback.
* More tools now combine with select click by only starting on drag.
* Alt+LMB works again as loop select as alternative to double click LMB.
2018-11-16 15:28:56 +01:00
b24de94c29 Cleanup: de-duplicate 3d view select items 2018-11-16 10:51:33 +11:00
988c4259e5 Keymaps: add double click loop select to RMB keymap. 2018-11-16 00:37:30 +01:00
e18cc071f8 Fix Blender RMB keymap cursor being set when using border select. 2018-11-16 00:37:30 +01:00
8510ef02f9 Fix Blender 2.7 keymap missing spacebar search menu. 2018-11-16 00:24:52 +01:00
bf7af31e9f 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.
2018-11-16 09:54:50 +11:00
5215c42e3c Revert "Keymap: remove 3D cursor keymap"
This reverts commit 8ecc51e87f.

This is needed for keymaps that dont include cursor placement by
default.
2018-11-16 09:44:19 +11:00
088be7eb2f Keymaps: replace select / action mouse system
For Blender builtin configurations the option to choose the select mouse remains
and is now also in the splash screen. It works by changing the keymap dynamically
in the script, rather than using special events.

The system of automatic switching of events was not flexible enough to deal with
side effects that require further keymap changes, so it is now under more manual
control in the script.

This breaks compatibility for some scripts and exported key configurations.
These can be fixed by replacing SELECTMOUSE, ACTIONMOUSE, EVT_TWEAK_S and
EVT_TWEAK_A with appropriate LEFTMOUSE, RIGHTMOUSE, EVT_TWEAK_L and
EVT_TWEAK_R events.

Other than that, there should be no functional changes.
2018-11-16 08:31:00 +11:00
8ecc51e87f Keymap: remove 3D cursor keymap
Rely on 3D view keymap, fixes T57843
2018-11-16 07:59:00 +11:00
71fd7e610a Keymaps: minor code refactor after adding tools to default preset. 2018-11-15 12:50:33 +01:00
William Reynish
165c447691 Tool System: add curve tilt tool 2018-11-15 22:31:47 +11:00
02d77e5bf5 Keymap: use parameters for tool keymap 2018-11-15 12:54:44 +11:00
27eba3867a Keymap: move tool system keymaps into the default keymap
Note that tools can still define their keymaps,
since it's useful for add-ons.
2018-11-15 12:45:45 +11:00
43ee433dce UI: Comment out "Clip border" operator
Also Remove it from the UI as it has not been ported to 2.8 and it is a
delicate thing to do.
2018-11-14 11:50:37 +01:00
c279f879ab Paint: remove brush select paint_mode
Instead check which property has been set.
2018-11-14 11:55:02 +11:00
f9145bded3 Keymaps: minor code refactor to abstract some events, no functional changes. 2018-11-13 20:29:36 +01:00
8a14306c38 Keymap: code refactor to makes some events changeable with parameters.
No functional changes.
2018-11-13 18:22:07 +01:00
b657e9875c Tool System: use enum for gp sculpt/weight paint
Fixes T57525
2018-11-13 16:52:39 +11:00
b323167600 GP: box/lasso support for select-operations
This adds support for more adbvanced select operations
matching 3D view select operators.

Also de-duplicate box/lasso select code.
2018-11-13 14:04:00 +11:00
e17843782c Cleanup: use namedtuple for KeymapParams
Prefer immutable types where possible.
2018-11-13 08:58:53 +11:00
7346c4f513 Cleanup: use proportional edit template for keymap 2018-11-09 13:14:48 +11:00
8a41de0f8c Cleanup: de-duplicate keymap items 2018-11-09 12:46:00 +11:00
3064da1200 Keymap: move builtin keymaps from C to Python
This should be purely an implementation change,
for end users there should be no functional difference.

The entire key configuration is in one file with ~5000 lines of code.
Mostly avoiding code duplication and preserve comments and utility
functions from the C code.
It's a bit long but for searching and editing it's also convenient to
have it all in one file.

Notes:

- Actual keymap is shared by blender / blender_legacy
  and stored in `keymap_data/blender_default.py`

  This only generates JSON-like data to be passed into
  `keyconfig_import_from_data`, allowing other presets to load and
  manipulate the default keymap.

- Each preset defines 'keyconfig_data'
  which can be shared between presets.

- Some of the utility functions for generating keymap items still
  need to be ported over to Python.

- Some keymap items can be made into loops (marked as TODO).

See: D3907
2018-11-09 11:33:06 +11:00