我是键盘快捷键的大粉丝.如果某些功能或操作没有快捷方式,我倾向于编写一个小程序并附加Ctrl Alt [key]快捷方式.
昨天在使用Visual Studio进行编码的时候,我开始考虑他们分配了快捷方式.有大量的命令,其中大多数是直观的,而不是一个单独的命令与另一个系统范围的组合键重叠.只有一个例外是Ctrl W,它会让我感到遗憾的是,它不会默认关闭活动选项卡,因为它应该.
在为自己的程序分配键盘快捷方式时,应该牢记哪些最佳做法?
除了特定的功能(e.q. Ctrl S,Ctrl W ….)之外,什么是不常用的“预留”组合
在小应用程序中,我认为最好使用Ctrl作为修饰符键,但是在较大的应用程序中呢?应该有两个修改键(Shift / Alt?)还是像Visual Studio一样使用?如果Shift仅用于反转功能(Ctrl Shift Tab,向后滚动选项卡)?
或者当程序在托盘中运行最小化或根本没有GUI时怎么样.应该使用windows-key吗?
>从常见的
Windows绑定开始:Ctrl C复制,Ctrl S保存等.当他们尝试任何这些最常见的热键时,用户不应该感到惊讶. >查看与您自己的功能相似的其他应用程序.例如如果你做一些像文字处理(应用文本样式),然后看看Word.如果你有一些像绘图工具,或许看看Photoshop等等 >列出当您的程序“完成”时您希望在程序中拥有的所有命令.这可能比现在可用的更多,并且这些命令中的一些可能永远不会出现,但这个练习可以帮助您避免每个版本更改热键 – 从一开始就保留它们. >现在,从列表中删除所有你认为不会一天多次使用的命令.例如Ctrl C为“(C)opy”是好的,因为最多可以使用60小时.但是Ctrl C为“(C)如果新的verison已经被释放了”是一个糟糕的热键,因为用户不太可能要这样做超过每周一次或更少. 如果使用热键的频率有疑问,请留下.对于未来的功能,可以使用大量备用键,而不是绑定键盘上的每个键,然后不断更改绑定.使用较少的热键可以降低用户的复杂性,您需要执行的测试量以及使用者无意执行某项流行按键的机会.如果用户真的想要一个热键,他们会要求它,你可以添加它.但一般来说,只有真正常用的功能需要热键. >绘制带有修饰符列的字母电子表格.在此网格中输入预期的高使用率命令集,并确定每个单元格的优先级,使最重要的命令使用最简单和最明显的密钥快捷方式.在许多情况下,您会发现只有一个命令落在一个特定的键上.还要尝试将相关命令分组在同一个键上,但使用不同的(Ctrl / Shift / Alt)修饰符(例如Ctrl S save,Ctrl Shift S save-all).这将使您无法轻易映射到明显的键的任何命令.考虑如果重命名某些选项可能有助于改变任务,以实现更好的映射(例如同义词,例如“选项”,“设置”或“首选项”可以帮助您找到更容易映射到良好的mnemnomics的命令名称) >你现在有了不能绑定到最明显的键的命令(例如,“Cut”不能绑定到Ctrl C,因为它用于“复制”,所以在菜单中,你通常会看到它被绑定为编辑 – > cu(T)和Edit->(C)opy,所以你可以考虑使用Ctrl T与菜单的mnemnomic方法保持一致(尽管在这种特殊情况下,当然有一个预先存在的标准Ctrl X =切割). >添加一个键绑定系统,以便用户可以添加/更改热键来自定义用户界面. >在可能的情况下,尽量保持一致.正如你所指出的,shift通常被用来“导航”的方向.当选择时,按照窗口约定(Ctrl来切换,Shift扩展).但主要是在整个应用程序中保持一致 – 在大多数情况下,Ctrl,Shift和Shift Ctrl对于某个操作有什么影响,但如果可能,请尝试对所有命令绑定应用类似的逻辑. >请注意使用Alt作为修饰符.用户应该能够使用Alt在菜单系统中导航.所以真的应该只使用Alt与Ctrl / Shift,并确保您的热键处理不会打破菜单系统提供的常规Alt处理. >如果您的程序有很多文本输入,那么避免使用未修改的热键.当你按M来做某事时,真的很烦人,而且不仅没有发生这种事情,而且M会出现在用户界面随机部分的文本输入栏中!使其成为Ctrl M或Ctrl Shift M,并且容易避免问题.即使用户将其输入焦点放在特定的位置,这也允许热键激活命令,避免任何讨厌的模式. >如果您使用多键序列,则不要混合和匹配修饰符.例如,ctrl A,ctrl B很好,但是ctrl A B或ctrl A,shift B是坏的,因为用户必须通过序列中途释放ctrlctrl. (Visual Studio测试命令,我在和你说话!) >不要在热键上做任何事情,除非你是输入焦点应用程序.例如有一个非常受欢迎的程序(默认情况下)抓住Ctrl A,因此每次尝试在不相关程序中选择所有内容时,会产生一些非常烦人的事情.为什么是为什么?如果您认为全局热键是一个好主意,那么请将其添加为用户可以打开的选项,以便他们知道热键存在. >我同意Visual Studio有一个很好的默认绑定.但是在许多方面设计的设计很差 – VS2010是我使用的第一个VS版本,并没有对以前版本的核心键绑定做出令人沮丧的巨大变化.这通常是升级到新的VS版本最痛苦的部分.我非常高兴和惊讶地发现,默认情况下,VS2010中最常见的功能(如“build”)仍然是相同的热键!希望他们会坚持一段时间吧