在 XML 文件中配置键盘快捷键
通常,键盘快捷键在键盘快捷键对话框()中定义。当用户更改键盘快捷键时,定义将保存到由配置变量 MS_KEYBOARDSHORTCUTS 指定的 XML 文件。如果由 MS_KEYBOARDSHORTCUTS 指定的文件不存在,系统将尝试从由 MS_KEYBOARDSHORTCUTSSEED 指定的文件中读取缺省键盘快捷键。如果 MS_KEYBOARDSHORTCUTS 和 MS_KEYBOARDSHORTCUTSSEED 均未定义,或者由其指定的文件不存在,则使用系统定义的缺省值。如果您是管理员并且要在整个团队中提供自定义键盘快捷键,您可以通过如下方式来完成此操作:在一台计算机上配置键盘快捷键,然后将该文件复制到用户计算机并将 MS_KEYBOARDSHORTCUTSSEED 设置为指向该文件。您还可以直接编辑该 XML 文件。
您可以将击键映射到键入命令或将击键的层次定义为键入命令。在以下示例中,<Space (bar)> 键映射到的键入命令可弹出包含精确绘图工具的功能区组。击键 <G> 定义将用于发送精确绘图专用命令的子击键。击键组合 <G+A> 将发送 ACCUDRAW DIALOG GETACS 键入命令。
<KeyboardShortcuts> <KeyboardShortcut ScanCode="0x39" Comment="Space"> <Label>AccuDraw</Label> <Keyin>ribbon grouppopup *\Drawing Aids\Accudraw</Keyin> </KeyboardShortcut> <KeyboardShortcut ScanCode="0x22" Comment="G"> <Label>G Shortcuts</Label> <KeyboardShortcuts> <KeyboardShortcut ScanCode="0x1e" Comment="A"> <Label>Get ACS</Label> <Keyin>accudraw dialog getacs</Keyin> </KeyboardShortcut> <KeyboardShortcut ScanCode="0x1f" Comment="S"> <Label>AccuDraw Settings</Label> <Keyin>accudraw dialog settings</Keyin> </KeyboardShortcut> </KeyboardShortcuts> </KeyboardShortcut> … </KeyboardShortcuts>
扫描代码
Scan Code 特性是键盘针对特定击键发送的值。下面显示了常用扫描代码的列表。
Scan Code Key 0x10, 0x11, 0x12, 0x13, 0x14, Q W E R T 0x15, 0x16, 0x17, 0x18, 0x19, Y U I O P 0x1e, 0x1f, 0x20, 0x21, 0x22, A S D F G 0x23, 0x24, 0x25, 0x26, 0x27, H J K L ; 0x2c, 0x2d, 0x2e, 0x2f, 0x30, Z X C V B 0x31, 0x32, 0x33, 0x34, 0x35}; N M , . / 0x39 Space key
键入
Keyin 元素用于定义在按下键时要执行的键入命令。您可以将任何键入命令添加到此特性,当焦点位于主页或精确绘图中时,如果按键盘快捷键,将会执行相应的键入命令。要弹出组,请使用以下命令之一:
- ribbon grouppopup [RibbonGroupPath]
- ribbon popuptask [TaskPath]
- ribbon popupmaintask [MainTaskPath]
- ribbon popupcustomtoolbox [CustomToolboxPath]
[RibbonGroupPath] 采用 Workflow\Tab\Group 格式。可将 Workflow 设置为 «*»,以指定使用激活工作流。例如,如果键入命令ribbon grouppopup *\Home\Selection设置为0x1f的 ScanCode,则指定当按S时在激活工作流的主页中弹出选择组。
[TaskPath]、[MainTaskPath] 和 [CustomToolboxPath] 是在查看自定义对话框中的树时用于导航到任务、主任务或工具箱的路径。例如,假设您要在主任务 Town Task Example 中调用任务 Build town,则用于弹出 Build Town 任务的键入命令将是 ribbon popuptask Town Task Example\Build Town。