2010-11-13 50 views
15

我是键盘快捷键的忠实粉丝。如果某些功能或操作没有快捷方式,我倾向于编写一个小程序并附上Ctrl + Alt + [key]指向它的快捷方式。设计键盘快捷键的最佳做法

昨天在使用Visual Studio进行编码时,我开始思考他们分配快捷方式的程度。有大量的命令,而且大多数都是直观的,没有一个与其他系统范围的组合键重叠。唯一的例外是Ctrl + W它激怒了我,因为它没有按默认关闭活动标签。

将键盘快捷键分配给自己的程序时,应记住哪些最佳做法?

什么是如此普遍,并且不应当被使用除特定功能的其它 “保留” 组合(当量Ctrl键 + 小号Ctrl键 + W¯¯ ....)

在小应用程序我相信最好使用Ctrl作为修饰键,但在更大的应用程序中如何?应该有两个修改键(Shift/Alt?)或在Visual Studio中制作?应该移位仅用于逆转功能(Ctrl键 + + 标签,滚动制表符向后)?或者如何在程序运行时在托盘中最小化运行或根本没有GUI。应该在这个组合中使用windows-key?

回答

16
  • 开始与常见的Windows绑定:按Ctrl +Ç复制,按Ctrl +小号保存等,当他们尝试这些最常用的快捷键的用户不应该感到惊讶。

  • 查看与您自己的功能类似的其他应用程序。例如如果你做文字处理(应用文字样式),然后看Word。如果你有类似绘图工具的东西,也许看看Photoshop等。

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

  • 现在,从列表中删除所有您认为一天不会使用多少次的命令。例如Ctrl + C因为“(C)opy”是好的,因为那可能一小时使用达60次。但是Ctrl + C对于“(C)heck if new verison has been released”是一个糟糕的热键,因为用户不太可能希望每周更新一次以上。

  • 如果对使用热键的频率有疑问,请不要使用。最好为将来的功能提供大量备用密钥,而不是捆绑键盘上的每个密钥,然后必须不断更改绑定。使用更少的热键可以降低用户的复杂度,您需要进行的测试量以及散布按键做出用户不想要的事情的机会。如果用户真的想要一个热键,他们会问这个问题,你可以添加它。但通常只有真正常用的功能需要热键。

  • 绘制一个包含修饰符列的字母电子表格。在网格中输入您期望的高使用率命令集,并为每个单元划分优先级,以使最重要的命令使用最简单和最明显的快捷键。在很多情况下,你会发现只有一个命令落在特定的键上。也尝试组相关的命令的键上,但具有不同(Ctrl键/移位/Alt键)改性剂(例如Ctrl键 + 小号保存,Ctrl键 + + 小号节省-所有)。这会让你看到任何不容易映射到明显密钥的命令。考虑如果重命名某些选项可能有助于转移事物以实现更好的映射(例如,像“选项”,“设置”或“首选项”等同义词可能会帮助您找到更容易映射到良好组织的命令名称)

  • 您现在留下的命令不能绑定到最明显的键(例如“Cut”不能绑定到Ctrl + C因为它用于“复制”,所以在菜单中您通常会将它绑定为Edit-> cu(T)和Edit - >(C)opy。所以,你可以考虑使用按Ctrl +Ť用菜单mnemnomic方法的一致性(虽然在这个特定的情况下,当然是预先存在的标准,按Ctrl +X =切)。

  • 添加一个键绑定系统,以便用户可以添加/更改热键来自定义其UI。

  • 尽量保持一致。正如你已经指出的那样,换档通常用于“反转导航命令的方向”。选择时,请按照窗户惯例(Ctrl切换,Shift扩展)。但主要是,是跨应用程序一致的 - 它并没有真正在大多数情况下,什么样的影响按Ctrl,并移事 + Ctrl键具有的操作,但如果可能的话尽量类似的逻辑适用于所有的命令绑定。

  • 小心使用替代作为修饰符。用户应该能够使用Alt在菜单系统中导航。所以,你真的应该只使用Alt键结合按Ctrl/,并确保您的热键操作不会破坏正常Alt键处理的菜单系统提供。

  • 如果您的程序有很多文本输入,请避免使用未修改的热键快捷键。当你按M做一些事情时,真的很烦人,不仅不会发生这种事情,而且M会出现在用户界面某个随机部分的文本输入字段中!让它按Ctrl +中号按Ctrl ++中号,很容易避免的问题。这也允许热键在用户将其输入焦点放在特定位置时激活命令,避免任何讨厌的形式。

  • 如果您使用多键序列,则不要混合和匹配修饰符。例如,CTRL + CTRL + 是好的,但CTRL + + CTRL + + 是不好,因为用户必须通过序列中途发布ctrl ctrl + 。 (Visual Studio测试命令,我在跟你说话!)

  • 不要在热键上做任何事情,除非你是输入焦点应用程序。例如有一定的非常流行的程序,(默认)抓住按Ctrl +一个这样做的东西非常恼人每当你尝试在一个不相关的程序选择所有时间。为什么哦为什么!?如果您认为全球热键是一个好主意,那么将其添加为用户可以在需要时打开的选项,以便他们知道热键存在。

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

2

快捷方式必须是令人难忘的,这就是为什么按Ctrl + 小号(保存)和按Ctrl + ñ(新)工作得很好,一些程序员已经尽量采取它作为不同更改快捷方式语言。 (Ctrl键 + 粗体是Ctrl键 + ˚F在旧版本的MS收件费特)。同样,X类似于剪刀和V的插入标记,因此剪切和粘贴。

在更先进的水平,防止无法挽回的意外效果:更危险的命令,需要更复杂的安全防护:像按Ctrl + Alt键+德尔相当困难的小心输入。

另外请注意,Alt是菜单访问键。

2

不应该被忘记一两件事:按Ctrl + Alt键+数字/字母字母组合可以更好地避免因为许多键盘布局有一个AltGr键盘修改器,它也被触发Ctrl + Alt

例如键入一个德国键盘上的@字符,您可以键入的AltGr + Q = 按Ctrl + Alt键+Q

更多信息:http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx