diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-11-16 03:24:49 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-11-16 06:54:41 +0300 |
commit | f54b239269f726be38da52052951bfb7cb9e7e0e (patch) | |
tree | 7688ea72776d1999fd8f6897830588cbdcce42d2 /source/blender/makesdna | |
parent | 77ff9a2006607893032f709090ea17b944f16aff (diff) |
Keymap: add support for key-config preferences
This is needed for keymaps to define their own options,
which can include left/right mouse select.
This can also help to us to provide popular keymap tweaks as options,
so users can easily fit blender to their workflow with well supported
adjustments which don't give the overhead of having to maintain
your own keymap, which become out-dated when operators change.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 1 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_windowmanager_types.h | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index afff070946e..79a3397b752 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -569,6 +569,7 @@ typedef struct UserDef { struct ListBase uifonts; struct ListBase uistyles; struct ListBase user_keymaps; + struct ListBase user_keyconfig_prefs; /* wmKeyConfigPrefType. */ struct ListBase addons; struct ListBase autoexec_paths; struct ListBase user_menus; /* bUserMenu */ diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index 26ab24d8f9d..88974750ffb 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -348,6 +348,19 @@ enum { KEYMAP_TOOL = (1 << 7), /* keymap for active tool system */ }; +/** + * This is similar to addon-preferences, + * however unlike add-ons key-config's aren't saved to disk. + * + * #wmKeyConfigPrefType is written to DNA, + * #wmKeyConfigPrefType_Runtime has the RNA type. + */ +typedef struct wmKeyConfigPrefType { + struct wmKeyConfigPrefType *next, *prev; + char idname[64]; /* unique name */ + IDProperty *prop; +} wmKeyConfigPrefType; + typedef struct wmKeyConfig { struct wmKeyConfig *next, *prev; |