当前位置:  开发笔记 > 小程序 > 正文

设计键盘快捷键的最佳做法

如何解决《设计键盘快捷键的最佳做法》经验,为你挑选了1个好方法。

我是键盘快捷键的忠实粉丝.如果某些功能或操作没有快捷方式,我倾向于编写一个小程序并附加Ctrl+ Alt+ [键]快捷方式.

昨天在使用Visual Studio进行编码时,我开始考虑他们如何分配快捷方式.有大量的命令,但大多数命令都很直观,而且没有一个命令与其他系统范围的组合重叠.唯一的例外是Ctrl+ W并且它激怒了我的地狱,它默认不会关闭活动标签.

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

除特定功能外,不应使用的常见和"保留"组合是什么(eq Ctrl+ S,Ctrl+ W....)

在小型应用程序中,我认为最好将其Ctrl用作修饰键,但在较大的应用程序中呢?是否应该有两个修饰键(Shift/ Alt?)或在Visual Studio中使用?应该Shift只用于反转功能(Ctrl+ Shift+ Tab,向后滚动标签)?

或者如何在托盘中最小化程序运行,或者根本没有GUI.Windows-key应该用在那个组合中吗?



1> Jason Willia..:

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

查看具有与您自己类似功能的其他应用程序.例如,如果您执行文字处理(应用文本样式)之类的操作,请查看Word.如果您有类似绘图工具的东西,可以看看Photoshop等.

在程序"完成"时,列出您希望在程序中拥有的所有命令.这可能比现在可用的要多得多,其中一些命令可能永远不会产生,但是这个练习可以帮助您避免在每次发布时更改热键 - 从一开始就保留它们.

现在,从列表中删除您认为一天不会多次使用的所有命令.例如Ctrl+" Cfor"(C)opy"是好的,因为每小时最多可使用60次.但是Ctrl+" C对于"(C)如果新的版本已被释放,那么这是一个糟糕的热键,因为用户不太可能想要每周做一次或更多.

如果对热键的使用频率有疑问,请将其删除.最好是为将来的功能提供大量备用键,而不是绑定键盘上的每个键,然后必须不断更改绑定.使用更少的热键可以降低用户的复杂性,您需要进行的测试数量,以及使用用户不想要的虚拟按键操作的可能性.如果用户真的想要一个热键,他们会要求它,你可以添加它.但一般来说,只有真正常用的功能需要热键.

绘制带有修饰符列的字母电子表格.在此网格中输入您期望的高使用率命令集,并确定每个单元格的优先级,以使最重要的命令使用最简单,最明显的键快捷键.在许多情况下,您会发现只有一个命令落在特定键上.还尝试在相同的键上对相关命令进行分组,但使用不同的(Ctrl/ Shift/ Alt)修饰符(例如Ctrl+ Ssave,Ctrl+ Shift+ Ssave-all).这将为您提供任何无法轻松映射到明显键的命令.考虑是否重命名某些选项可能有助于改变现状以实现更好的映射(例如"选项","设置"或"首选项"等同义词

现在你留下的命令无法绑定到最明显的键(例如,"Cut"不能绑定到Ctrl+ C因为它用于"复制",所以在菜单中你通常会看到它绑定为Edit- > cu(T)和Edit - >(C)opy.所以你可以考虑使用Ctrl+ T与菜单mnemnomic方法的一致性(虽然在这种特殊情况下,当然有一个预先存在的标准,Ctrl+ X= cut).

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

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

使用Alt作为修饰符时要小心.用户应该能够Alt在菜单系统中导航.所以你应该只AltCtrl/ 一起使用Shift,并确保你的热键处理不会破坏Alt菜单系统提供的正常处理.

如果您的程序有很多文本输入,那么请避免使用未修改的热键.当你按下M某个东西并且不仅没有发生这种事情时,它真的很烦人,但是在UI的某个随机部分的文本输入字段中出现了M!使它Ctrl+ MCtrl+ Shift+ M,很容易避免问题.即使用户将输入焦点放在特定位置,这也允许热键激活命令,避免任何讨厌的模态.

如果使用多键序列,则不要混合和匹配修饰符.例如,ctrl+ A,ctrl+ B很好,但是ctrl+ A+ Bctrl+ A,shift+ B是坏的,因为用户必须ctrl在序列的中途释放ctrl.(Visual Studio测试命令,我在跟你说话!)

除非您是输入焦点应用程序,否则不要在热键上执行操作.例如,有一个非常受欢迎的程序(默认情况下)抓取Ctrl+ A因此每次尝试在不相关的程序中选择所有时都会发生非常烦人的事情.为什么哦为什么!?如果您认为全局热键是一个好主意,那么将其添加为用户可以在需要时打开的选项,这样他们就会知道热键存在.

我同意Visual Studio有一个很好的默认绑定集.但是在很多方面它的设计非常糟糕 - VS2010是我用过的第一个VS版本,它没有对前一版本的核心键绑定做出令人沮丧的重大改变.这通常是升级到新VS版本中最痛苦的部分.我非常高兴和惊讶地发现VS2010默认情况下最常见的功能(如"构建")仍然在相同的热键上!希望他们现在能坚持一段时间......

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有