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
12 lines
375 B
Python
12 lines
375 B
Python
import os
|
|
from bpy_extras.keyconfig_utils import (
|
|
keyconfig_import_from_data,
|
|
keyconfig_module_from_preset,
|
|
)
|
|
|
|
_mod = keyconfig_module_from_preset(os.path.join("keymap_data", "blender_default"), __file__)
|
|
keyconfig_data = _mod.generate_keymaps(_mod.KeymapParams(legacy=True))
|
|
|
|
if __name__ == "__main__":
|
|
keyconfig_import_from_data("Blender 27X", keyconfig_data)
|