html5 网站源代码,庆阳网站制作,网站建设教程视频,经营范围网站建设问题描述#xff1a;
在笔记本电脑上#xff0c;多少会缺少一些按钮#xff0c;例如“Home”、“End”、“PgUp”、“PgDn”#xff0c;它们在笔记本电脑上的作用是#xff0c;如果关闭Num#xff0c;则可以从数字键盘访问这些按钮。但问题是在Blender中#xff0c;不论…问题描述
在笔记本电脑上多少会缺少一些按钮例如“Home”、“End”、“PgUp”、“PgDn”它们在笔记本电脑上的作用是如果关闭Num则可以从数字键盘访问这些按钮。但问题是在Blender中不论是否开启还是关闭Num键它仍然只识别数字键盘无法访问“Home”、“End”等。 “Home”键在Blender中非常重要尤其在Timeline和Dopesheet中可以快速全面铺开时间轴轨迹方面查阅和编辑。而笔记本电脑和一些精简键盘缺少独立的“Home”键将其融入到了数字键盘“7”中。 神奇的是该功能在关闭Num后其他的软件基本都能识别数字键盘“7”中的“Home”和数字键盘“1”中的“End”唯独Blender不识别。最终问题应是出在Blender键盘绑定问题上。
解决方案并非最优解
定位到Blender安装目录下的文件\4.3\scripts\presets\keyconfig\keymap_data用编辑器打开blender_default.py文件在相对靠前的位置自定义一个函数代码如下分别在def km_time_scrub_clip(_params)和def km_dopesheet(params)中调用函数remap_home(items)def km_time_scrub_clip(_params)为时间轴Timeline位置def km_dopesheet(params)为Dopesheet位置缺点时间轴Timeline和Dopesheet中的NUMPAD_7和NUMPAD_1被直接替换成了“Home”、“End”后续找到Num键检测机制后再来完善。 # 重新定义Numpad中的Home、End等按键
def remap_home(items): numpad_mappings {HOME: NUMPAD_7,END: NUMPAD_1}import copynumpad_items []for (x, keyinfo, props) in items:if not (np_key : numpad_mappings.get(keyinfo.get(type))):continuenumpad_keyinfo copy.deepcopy(keyinfo)numpad_keyinfo[type] np_keyif props:props copy.deepcopy(props)numpad_items.append((x, numpad_keyinfo, props))items.extend(numpad_items)