创建支持服务单
关注

Q100118:在Nuke 9和10中设置自定义键盘快捷键

摘要

由于Nuke处理快捷方式的方式发生变化,早先为Nuke 8.0设置的自定义热键可能无法在Nuke 9.0或更高版本中运行。
本文将介绍已更改的内容以及如何使您的热键在Nuke 9.0及更高版本中工作。

更多信息

Nuke 9.0和10使用一个新的快捷方式系统,该系统具有快捷方式处于活动状态时的上下文。默认上下文是将快捷方式应用于整个Nuke窗口。
如果您设置自定义热键以在节点图中创建节点,这会导致出现问题,该节点使用在其他位置具有现有快捷方式的键 - 例如查看器中的W,H或R,G,B和A键。如果您不包含上下文,那么当鼠标在查看器上方时,将有2个快捷键使用相同的字母,这意味着它们都不会运行,并且Nuke将在终端或命令提示符中打印“不明确的短错误”消息。
为了避免这个问题,Nuke的menu.addCommand()函数在Nuke 9.0和10.0中有一个名为“shortcutContext”的新参数来说明快捷方式的运行位置。它有3个可能的值0 = Window,1 = Application,2 = DAG / nodegraph。因此,在Nuke 9.0或10.0中创建自定义写Gizmo的示例命令看起来就像
toolbar.addCommand('MenuLocation', 'nuke.createNode("MyWriteGizmo")', 'w', shortcutContext=2)
请注意,Nuke 8.0或更早版本不会识别此参数,因此如果将该行添加到menu.py文件中,则会阻止Nuke 8.0或更早版本的启动。要解决此问题,您可以在menu.py中使用以下内容
if nuke.env['NukeVersionMajor'] < 9 :
toolbar.addCommand('MenuLocation', 'nuke.createNode("MyWriteGizmo")', 'w')
else:
toolbar.addCommand('MenuLocation', 'nuke.createNode("MyWriteGizmo")', 'w', shortcutContext=2)

进一步阅读

有关分配热键和自定义Nuke菜单的更多信息,请参阅“Nuke Python开发人员指南”中有关自定义UI的章节。

关键字: Nuke ,快捷键,热键,自定义,自定义

这篇文章有帮助吗?
/

We're sorry to hear that!

Please tell us why.
9 人中有 3 人觉得有帮助

评论