Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 设计键盘快捷键的最佳实践_Windows_Keyboard Shortcuts - Fatal编程技术网

Windows 设计键盘快捷键的最佳实践

Windows 设计键盘快捷键的最佳实践,windows,keyboard-shortcuts,Windows,Keyboard Shortcuts,我非常喜欢键盘快捷键。如果某个函数或操作没有快捷键,我倾向于编写一个小程序,并将Ctrl+Alt+[key]快捷键附加到它 昨天在用VisualStudio编写代码时,我开始思考他们分配快捷方式的效果如何。有大量的命令,但大多数命令都是直观的,没有一个命令与另一个系统范围的组合键重叠。唯一的例外是Ctrl+W,它没有像应该的那样默认关闭活动选项卡,这让我非常恼火 在为自己的程序分配键盘快捷键时,应该记住哪些最佳实践 除了特定功能(例如Ctrl+S、Ctrl+W……)之外,哪些是常见的和“保留”的

我非常喜欢键盘快捷键。如果某个函数或操作没有快捷键,我倾向于编写一个小程序,并将Ctrl+Alt+[key]快捷键附加到它

昨天在用VisualStudio编写代码时,我开始思考他们分配快捷方式的效果如何。有大量的命令,但大多数命令都是直观的,没有一个命令与另一个系统范围的组合键重叠。唯一的例外是Ctrl+W,它没有像应该的那样默认关闭活动选项卡,这让我非常恼火

在为自己的程序分配键盘快捷键时,应该记住哪些最佳实践

除了特定功能(例如Ctrl+S、Ctrl+W……)之外,哪些是常见的和“保留”的组合不应使用

在小型应用程序中,我认为最好使用Ctrl键作为修改键,但在大型应用程序中又如何呢?在VisualStudio中是否应该有两个修改键(Shift/Alt?)或make like?Shift是否应仅用于反转功能(Ctrl+Shift+Tab,向后滚动Tab)


或者当程序在托盘中运行时,或者根本没有GUI时,情况又如何呢。windows键是否应该在这种组合中使用?

快捷键需要令人难忘,这就是为什么Ctrl+S(保存)和Ctrl+N(新建)可以很好地工作的原因,一些程序员甚至用不同的语言更改快捷键。(在旧版本的MS Write中,粗体的Ctrl+B是fett的Ctrl+F。)同样,X类似于剪刀,V类似于插入标记,因此进行剪切和粘贴

在更高级的级别上,防止无法撤消的意外效果:更危险的命令需要更复杂的安全防护:像Ctrl+Alt+Del这样的东西很难意外键入

还要记住,Alt是菜单访问键。

  • 从常见的Windows绑定开始:Ctrl+C进行复制,Ctrl+S进行保存,等等。当用户尝试这些最常见的热键时,不应感到惊讶

  • 看看其他具有类似功能的应用程序。e、 如果你做一些像文字处理(应用文本样式)的事情,那么看看文字。如果你有绘图工具之类的东西,可以看看Photoshop等等

  • 在程序“完成”时,列出您希望在程序中包含的所有命令。这可能比现在可用的要多得多,其中一些命令可能永远不会出现,但此练习可以帮助您避免在每次发布时更改热键—从一开始就保留热键

  • 现在,从列表中删除您认为每天不会使用多次的所有命令。e、 g.“(C)opy”的Ctrl+C组合键很好,因为每小时最多可以使用60次。但Ctrl+C的“检查新verison是否已经发布”是一个糟糕的热键,因为用户不太可能希望每周执行一次或更少的操作

  • 如果对热键的使用频率有疑问,请不要使用它。与其绑定键盘上的每个键,然后不断更改绑定,不如为将来的功能提供大量备用键。使用更少的热键可以降低用户的复杂性,减少您需要进行的测试的数量,并减少误按键盘执行用户不希望执行的操作的可能性。如果用户真的想要一个热键,他们会要求它,你可以添加它。但一般来说,只有真正常用的功能才需要热键

  • 绘制一个包含修改器列的字母电子表格。在此网格中输入预期的高使用率命令集,并对每个单元格进行优先级排序,以使最重要的命令使用最简单和最明显的快捷键。在许多情况下,您会发现只有一个命令落在特定的键上。还可以尝试使用不同的(Ctrl/Shift/Alt)修改器(例如Ctrl+S保存、Ctrl+Shift+S全部保存)在同一个键上对相关命令进行分组。这将为您留下任何无法轻松映射到明显键的命令。考虑如果重命名一些选项可能有助于改变事物以实现更好的映射(例如,同义词如“选项”、“设置”或“首选项”可以帮助您找到更容易映射到良好记忆的命令名称)

  • >p>您现在剩下的命令不能绑定到最明显的键(例如,“剪切”不能绑定到CTRL+C,因为它用于“复制”),所以在菜单中,您通常会看到它被绑定为编辑-> Cu(t)和编辑->(c)Apple。因此,您可以考虑使用Ctrl +T来与菜单记忆方法一致。(尽管在这种特殊情况下,当然有一个预先存在的标准,即Ctrl+X=cut)

  • 添加密钥绑定系统,以便用户可以添加/更改热键以自定义其UI

  • 在可能的情况下,尽量保持一致。正如您所指出的,shift通常用于“反转”导航命令的方向。选择时,遵循windows惯例(Ctrl切换,shift扩展)。但主要是,在整个应用程序中保持一致-在大多数情况下,Ctrl、Shift和Shift+Ctrl对操作的影响并不重要,但如果可能,请尝试将类似的逻辑应用于所有命令绑定

  • 使用Alt作为修改器时要小心。用户应该能够使用Alt在菜单系统中导航。因此,实际上,您应该只将Alt与Ctrl/Shift结合使用,并确保热键处理不会破坏菜单系统提供的正常Alt处理

  • 如果你的程序有很多文本输入,那么就避免使用未修改的热键。当你按M键去做某件事时,这真的很烦人,而且这件事不仅没有发生,而且会在你的UI的某个随机部分的文本输入字段中出现一个M!将其设为Ctrl+M或Ctrl+Shift+M,这个问题很容易避免。这也允许使用hotk即使用户有输入信息,也可以启动命令