diff options
Diffstat (limited to 'release/scripts/presets/keyconfig/Blender_27x.py')
-rw-r--r-- | release/scripts/presets/keyconfig/Blender_27x.py | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/release/scripts/presets/keyconfig/Blender_27x.py b/release/scripts/presets/keyconfig/Blender_27x.py new file mode 100644 index 00000000000..2a7f0b07fa6 --- /dev/null +++ b/release/scripts/presets/keyconfig/Blender_27x.py @@ -0,0 +1,103 @@ +# +# Notes on this key-map: +# +# This uses Blender's key-map, running with `legacy=True`. +# +# The intention of this key-map is to match Blender 2.7x which had many more key-map items available. +# +# There are some differences with the original Blender 2.7x key-map. +# There is no intention to change these are they are not considered significant +# enough to make a 1:1 match with the previous Blender version. +# +# These include: +# +# 3D View +# ======= +# +# - Border Render (`Shift-B` -> `Ctrl-B`) +# Both `Shift-B` and `Ctrl-B` were used. +# +# Time Line/Animation Views +# ========================= +# +# - Start Frame/End Frame (`S/E` -> `Ctrl-Home/Ctrl-End`) +# + +import os +import bpy +from bpy.props import ( + EnumProperty, +) + +DIRNAME, FILENAME = os.path.split(__file__) +IDNAME = os.path.splitext(FILENAME)[0] + + +def update_fn(_self, _context): + load() + + +class Prefs(bpy.types.KeyConfigPreferences): + bl_idname = IDNAME + + select_mouse: EnumProperty( + name="Select Mouse", + items=( + ('LEFT', "Left", + "Use left mouse button for selection. " + "The standard behavior that works well for mouse, trackpad and tablet devices"), + ('RIGHT', "Right", + "Use right mouse button for selection, and left mouse button for actions. " + "This works well primarily for keyboard and mouse devices"), + ), + description=( + "Mouse button used for selection" + ), + default='RIGHT', + update=update_fn, + ) + + def draw(self, layout): + layout.use_property_split = True + layout.use_property_decorate = False + + col = layout.column() + col.row().prop(self, "select_mouse", text="Select with Mouse Button", expand=True) + + +blender_default = bpy.utils.execfile(os.path.join(DIRNAME, "keymap_data", "blender_default.py")) + + +def load(): + from sys import platform + from bpy import context + from bl_keymap_utils.io import keyconfig_init_from_data + + prefs = context.preferences + kc = context.window_manager.keyconfigs.new(IDNAME) + kc_prefs = kc.preferences + + keyconfig_data = blender_default.generate_keymaps( + blender_default.Params( + select_mouse=kc_prefs.select_mouse, + use_mouse_emulate_3_button=( + prefs.inputs.use_mouse_emulate_3_button and + prefs.inputs.mouse_emulate_3_button_modifier == 'ALT' + ), + spacebar_action='SEARCH', + use_select_all_toggle=True, + use_gizmo_drag=False, + legacy=True, + ), + ) + + if platform == 'darwin': + from bl_keymap_utils.platform_helpers import keyconfig_data_oskey_from_ctrl_for_macos + keyconfig_data = keyconfig_data_oskey_from_ctrl_for_macos(keyconfig_data) + + keyconfig_init_from_data(kc, keyconfig_data) + + +if __name__ == "__main__": + bpy.utils.register_class(Prefs) + load() |