键位映射自定义

按键

可用按键

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

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

功能键 (F5 - F8)

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

OSKey (也称之为 Windows键, CmdSuper)

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

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

与辅助键组合

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

多动作按键

单击/拖动

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

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

单击/调整

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

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

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

通用操作

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

弹出菜单按键绑定

尽管一些菜单与面板只能通过子菜单访问,但是可以为其指定快捷键。

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

通过按键打开任意菜单。

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

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

打开面板 (wm.call_panel)

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

菜单 & 面板标识符

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

然后在弹出按钮或菜单条目上悬停,存在子菜单的情况下需要使用左方向(←)键来阻止子菜单打开以及获得焦点。

属性按键绑定

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

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

其中包括:

  • wm.context_toggle 切换布尔属性。
  • 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知识。

比如,可以使用Python控制台访问所要映射键位的布尔属性:

  1. bpy.context.object.show_name

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

其他上下文属性见 bpy.context

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