键位映射自定义

按键

可用按键

在自定义键位映射时,应尽量使用不会与Blender默认键位映射相冲突的按键。

下面这些是尚未用到的,且将来不大可能用到的按键。

功能键 (F5 - F8)

这些功能键 (包括与辅助按键组合) 是有意保留下来供用户绑定自己的快捷键的。

OSKey (也称之为 Windows键, CmdSuper)

Blender不使用这个按键来绑定操作。

macOS 是例外, Cmd 替代 Ctrl,与系统按键绑定冲突的情形除外。

与辅助键组合

Blender支持与辅助键组合绑定作为快捷键,以避免与常规用法冲突。

多动作按键

单击/拖动

使用 单击 事件替代 按压 来配置单个按键执行多个操作是可能的,而后你可以将另外的动作与 拖动 绑定。

拖动事件配合组合混合动作是非常有用的,比如,使用Tab键切换设置,并拖动开启一组与该设置相关的全部选项的饼菜单。

单击/调整

与单击/拖动不同,这仅适用于鼠标按键,但具有调整事件的好处是可以带方向的。

要使用该组合键,该键位映射中必须使用 单击 而非 按压,然后可以将 调整 动作绑定至鼠标按键。

3D视图中的默认键位映射用到了该组合, Alt-MMB 向不同方向拖动来旋转视图。

通用操作

本节列出一些可供使用的通用实用操作。

弹出菜单按键绑定

Menus and panels can be assigned key shortcuts, even if they’re only accessible from submenus elsewhere.

打开一组弹出菜单 (wm.call_menu)

通过按键打开任意菜单。

打开一组饼菜单 (wm.call_menu_pie)

通过按键打开任意饼菜单。

打开面板 (wm.call_panel)

打开弹出面板 (也称之为弹窗)。

菜单 & 面板标识符

在用户设置中启用 界面 ‣ 显示 ‣ Python工具提示,可以获得菜单的 名称

Then hover the cursor over the popover button or menu item. For submenus you will need to use the back arrow to prevent the submenu from opening and gaining focus.

属性按键绑定

用户可能想将很多属性与按键绑定。为了避免需要对每个属性定义操作器,有几个作此用途的通用操作器:

用于调整属性的操作器以 wm.context_ 开头。

其中包括:

  • wm.context_toggle toggle a Boolean property.

  • wm.context_cycle_enum 用于 enum 属性前后循环。

  • wm.context_menu_enum 用于为枚举属性弹出菜单。

  • wm.context_pie_enum 显示枚举属性为饼菜单。

  • wm.context_scale_float 缩放数值(比如用于增大/减小笔刷大小)。

  • wm.context_toggle_enum 用于在枚举的两个选项之间切换。

  • wm.context_modal_mouse 用于移动游标交互修改数值。

完整列表见 bpy.ops.wm

每个操作器都有一个 data_path 设置,用于引用所调整的数值。

找到 data_path 需要一些基础的 Python知识。

For example, you can use the Python Console to access a Boolean property you wish to map to a key:

  1. bpy.context.object.show_name

使用操作器 wm.context_toggle 配合以设置为 object.show_namedata_path``(注意 ``bpy.context 前缀是隐式的),来为其绑定按键。

其他上下文属性见 bpy.context

可使用Python API文档查找属性, 或者使用Python 控制台的自动补全功能来查看可用的属性。