几个月前,我开始研究符合人体工程学的键盘;主要分割键盘,钥匙更少,如36键Gergoplex和44关键的Kyria。我可以写一篇关于原因的另一个帖子,但长话短说,我开始在我的拇指,手指,手腕和前臂上痛苦地痛苦,而且我认为现在是时候做一些事情了。
因为我的新闪亮布局已经不变了一个多星期,所以我已经清楚地发现了我的终极布局™,是时候用博客帖子永生它!
(要完全透明,我在拍摄这篇文章时我对此进行了一些改变。而且我确定,调整永远不会停止。)
当你开始看它时,有很多好的和有趣的布局。例如,DVORAK,工人,COLEMAK MOD-DH,ALLUGE DOWN,MTGAP 2.0,BEEKL(许多变种)和许多其他人......
他们都有他们的利弊,你更喜欢哪一个是高度主观的。起初我选择了喙15,大多是因为我喜欢现在已经存在的讨论,我的右翼上的右翼上有一些压力,我想尽量减少。
尽管在尝试一堆修改之后,布局的布局比QWERTY更好,但是我自从离开喙。在大约50瓦目前,我越来越多地在相同的手指用法(称为SFU)上生气,我发现我想使用我的粉红色,而不是Beakl设计,它可以用于解决高SFU。
当我读一篇关于其中一个拇指钥匙的文章时,突破点来了,这让我放弃了喙并尝试别的东西。
对我来说,我可以舒适地达到34键(每只手2拇指键),我使用非常轻的CHOC键,使组合非常舒适。
我一直用我的戒指用来按下主绳小指上方的钥匙。也许我有短的粉红色,我邓诺。这也是为什么我使用5列布局而不是6列布局。
我觉得很难把它放在数字中有多困难/容易我认为某些钥匙是这样的,但这是这样的:
我的RSI并不是那种抑制。只是走到5列,两个拇指键修复了我的大部分问题。用戒指手指按压顶部外键感觉很好。
尝试优化编程的问题是它根据语言而变化很大。
例如,我的三个项目:一个Wip Rust实施Git(遵循优秀的建筑Git),Elixir中的加密支付处理器,以及我的书的源代码(主要是英语,但有一些球拍和其他码头) :
虽然这里有一般趋势,但我们看到了一些大规模的异常值。喜欢如何 - 在书的来源中令人难以置信的超越(因为球拍约定是kebab-case,我使用 - 代表em dash - )或如何;在Elixir中的锈病是非常常见的,但几乎不存在。
那我们该怎么办?我们可以尝试一个键盘记录器来查看我们打字的符号。以下是我可以找到的所有个人项目的数据集(标记为“代码”):
它也不完美,因为只要我应该,我没有跑键盘,那么我当时只使用了一些少量语言。来自Vim的大异常值是:(我节省了很多:w),。 (重复上次操作),/(正则表达式搜索)和$(线端)。我不知道为什么'在keylog中超越了,这不是我在vim中使用的东西。
有人可能想知道,符号在哪里出现?它们主要是旁边的字符,还是在其他符号旁边?这是一个符号最终的表格,以及它们出现的符号BIGRAMS(忽略WALE ||),使用代码源:
请注意,它追踪符号两侧的字母,这就是为什么,只在31%的时间旁边(它几乎总是在空间旁边)。
那么我们可以从这个不完美的数据集中绘制什么观察?这是我有一些想法:
Parens()很常见。如果它是LISP,我期待它,但即使在铁锈中也似乎很普遍。他们也是许多其他符号的邻居,使他们优先考虑。
符号_,。和#39;几乎总是在alpha字符旁边,这意味着它们不必在其他符号旁边放置,并且可以优化以从基层容易地到达。我也会添加,也是这个课程。
括号{}和[]并不超级常见,但它们与许多其他符号相结合(主要是其他类型的括号)。如果是< >用于符号Bigram,然后它主要以箭头形式,如 - >或> =。
计算符号,如=,+和*主要被空间包围,而且它们少使用比我想象的。
有趣的是,"传统上是在换档层上,但这里他们比他们的对应物更常见;和 -。
通常位于Benford的法律,说较低的数字更为常见。这对我们有什么努力?
我会说公平。再次,Keylog将显示一些不同的结果,主要是因为我倾向于在传统键盘上使用工作空间1,2,8和9(访问GUI +号码)。在设计布局时,可以忽略这一点,只要我可以使用任何数字方便。
优化字母是布局重点关注的一个区域。来自我自己的数据的一些说明:
代码基本上跟随英语,这是有道理的,因为你大多是键入英语单词。
与瑞典语有一些差异,最值得注意的是K和R更常见(当然是一些额外的元音)。
我的Vim用法使一些不寻常的钥匙相当普遍。显然,我是J / K垃圾邮件发送者(上升/下) - 当有更有效的方法可以垂直移动时,为什么并不是一种良好的习惯。 W和B(向前和向后一个单词)和:w(保存)使用很多。当你很常见(撤消)时,我也似乎错过了一堆。
一方面,你可能想要将这些键放在更好的位置,但另一方面,他们经常用暂停键入,在我有时间思考第二或两个时,这可能不够重要经过整个布局。
您可以做出两种不同的方式:要么采取严格的逻辑方法,使用大脑的左半部分,或者让你的潜意识当你感觉时,让你的大脑的右半场运行展会。
通常使用程序来优化布局,让计算机探索大量的布局。我没有去这条路线,因为我发现很难写下我的精确偏好。相反,我基于RSTHD的布局,这是一个优化的布局,每当我遇到恼火的东西时都会调整它。
在其他拇指上。感觉好多了,避免在同样的“这里”,“有”和类似的组合。
随着我不喜欢中央柱和较低指数,交换D和P.
k在更好的位置,因为它在瑞典语中更常见,我用vim使用它很多。作为一个奖金,它让CK般的典型繁荣,再次常见于瑞典语。
我真的很喜欢拇指,我不认为我会曾经想放弃它。低SFU和辅音/元音分离也对我感觉非常好。
(和)一些最常见的符号,所以他们得到了Prime Real Estate,让我快速地键入()。作为一个奖金,我可以用它们作为vim中很多东西的前缀。例如)D(下一个LSP诊断),)Q(下一个Quickfix)和)s(下一个拼写检查错误)。 (不,我从未使用过()原来的目的。)
_也很常见,几乎总是在Snake_case中的字母旁边,所以在基础上具有它很棒。它作为Vim前缀,例如_d(goto definition)和_h(在光标下显示有关的帮助)。
哪一个。并且,优先顺序是一个很好的问题。我放 。在更好的位置,因为它在Vim中用作“重复上次行动”。
一些通常不符合其他符号旁边的最常见符号被移动到主行组合。我发现它们更容易键入,而不是将我的手指移开定居,所以:/,',和;被移开了底座。
"很常见。我也有/在这里,但我还没有完全决定我愿意的。
=在基础上,因为它使=非常舒适,这是它的主要用法。它还使其容易与不同的符号配对,例如+, - 和〜。
组合(有时称为和弦)是当您同时按下两个键以产生其他内容。例如,如果我在同一时间按C和K我得到Q。使用光CHOC开关,我使用这感觉非常好,甚至使用单手指用两个键按三个键或垂直组合。
这是一张桌子(因为我对我试图制作的可视化并不满意):
这里的理由是家庭行组合很容易键入,所以常见的键,如进入和:去那里。用索引和戒指分开组合稍微笨拙地旋转,但仍然很好。
彼此接近的相关功能使得一点更容易学习,所以^(转到第一个非空间char in行)和$(转到最后一个字符串)。它们和其他组合的符号大多是单独的,所以层之间的开关很小以键入它们。
还有垂直组合与常见的箭头组合您经常在编程中看到:
取决于语言,符号如> =,=>,|>和 - >很常见,但往往难以键入。 Combos解决这个问题很好。
此外,在Vim中拆分窗口是我做的很多东西。水平/垂直分裂被布置出来匹配分裂方向,并且它们在关闭窗口旁边进行分组。 (为什么右侧储蓄vim?因为);很常见。我知道这并不完美。)
放置班次的地方是我最困难的决定之一。我考虑了这些选择:
单次转移,你按下和发布班次,下一个字母将移位,很棒。但它在拇指上的e并没有很好地易于e(没有外栏)。
主行模式,在哪里按下并保持常规键将其转换成转换。很多人都喜欢它,但我发现难以在左/右之间协调(因为你经常想要握住相反的手)。
自动转移,您只需执行长次即可获得大写字母。这是方便的单封信,但许多尝试的人说它搞砸了他们的节奏。
我想使用一击班次,但我只是在拇指上与e很好地工作。我得到了Fiddly Home-Row Config才能工作,我想我可以学会和它一起生活,但对我来说,自动变动更好。
当然,通过自动转移快速键入更难,但我希望通过速度最大限度地提高舒适度,并且自动换档感觉像需要最少量的努力。我确实有一拍偏移键,但在一个单独的层上,我用于一些快捷方式(不久的情况)。
连续键入多个大写字母确实很糟糕。这就是为什么我也使用“capsword”,这是一个智能帽锁,它在空间或其他一些特殊字符之后自身变为。例如,它使其超级易于键入像post_limit的变量。
而不是主行模式,我在单独的图层上有mods。 (有些人将其称为Callum-Style Mods,从发明/推广它的人。)虽然您需要按一个键额外的额外额外访问CTRL,但这里没有时间,所以它非常快,感觉令人惊讶的是。我一直保持同伴Mod激活,因为这就是我开始的东西,我不需要改变它。
一些快捷方式,如Ctrl + A,不可能按左手(当我使用鼠标/轨迹球时),所以我在这里添加了它们。
我试图将频率排序的符号放在某种逻辑分组中。有很少的符号Bigrams我有问题的键入。我发现它大多是键入lmod键入[]或类似。我还保留了来自基层的符号的位置,因此如果我键入Bigrams,我不必切换图层(但是如实地,它几乎从未出现过)。
虽然我可以使用图层交换机作为符号的单次,但我也有空间+< key&gt的组合。从基层生成符号,例如空间+ a = [。我现在专门使用它,并将图层交换机重放为符号Bigrams(因为我不喜欢移动拇指)。
最后一个烦恼是双攻击符号,特别是用粉红色的符号,适用于||的东西。我通过为它们添加长媒体来了解它,类似于自动班次所做的:
yupp,我在主行中使用数字(以及低索引,这是与拇指分开的下一个最佳钥匙)。它们被定制优先考虑较低的数字,略微解除指数手指,因为它们对两位数负责。即使从奇数方面也是从奇数方面分离的,但它也更容易学习。
是什么让这个特殊的是层开关是聪明的,类似于Capsword,因为该图层在空间上关闭(我称之为NumWord)。所以,如果我想写,如果x == 3那么我键入x ==< numword> 3,在空间后关闭。
k,j和g怎么样?这些是用Vim轻松导航。所以13K表示“上方13线”和127G表示“线路127”。当然,该层自身关闭,所以它不会干扰我的下一个命令。我一直使用它,它很棒。
导航是我拥有的唯一的“保持钥匙”。右侧的Vim样箭头(但我尽量不要在Vim中使用它们,因为用Num层跳跃更有效)。 Ctrl +箭头用于在我的三个监视器之间切换VIM和GUI + W / E / R交换机中的Windows(它在这里,因为它是如此常见)。
当我在鼠标上右手时,左手的导航很棒;最初我这里没有箭头,但我发现自己错过了他们。 Ctrl + Tab和Ctrl + Shift +选项卡在Firefox中切换选项卡。
GUI +数字切换到该工作区; GUI + K / J在Windows之间切换;如果转移(长按),则会在那里移动当前窗口。
没有严格需要单独的层,但感觉比较方便。我在数字层上尝试了常规的单次Mods和主行模式,但我只是不喜欢它。我还尝试了一个智能图层或简单的层交换机(我必须明确地退出图层),但我更倾向于抓住一个钥匙,所以我知道我在工作区层。
功能键没有什么特别的事情。在与数字相同的位置让他们容易学习,这对我来说很重要,因为我几乎从不使用它们。
作为瑞典语,我不时换瑞典语。但我从来没有同时键入代码和瑞典语,所以有一个瑞典模式,我可以肘击,例如,当我需要写电子邮件或类似时。
它替换(,)和_,因为它们主要用于代码,并且Åäö实际上从未在元音旁边使用,因为瑞典语也非常愉快。用L +(+)激活该层(并用相同的键停用)。我仍然可以使用左拇指的单拍层或与空间+Å=(。
在常规键盘和我的笔记本电脑上,我已经逃脱,帽子锁扣交换(以便在Vim中更轻松)。我可以在键盘上切换它,以便我可以在那里使用它。
我目前没有任何不同的Windows和Linux在我不这么认为,但窗口切换等事情不同。当我回到Windows上工作时,我可能会利用这个。
num切换了一个常规数字层,它不会在空间上停用,我在练习号码键入时使用。
这里有很多空间用于罕见,但有用的符号。如箭头符号↑和死密钥修饰符。
粉红色键称为“死键”。死键是一种修改符号的一种前缀,所以要键入Ãyou按〜(死)+ a。 ^组合也变成了这一层的死键。
你可能会说拥有这种层是荒谬的,但我认为使用逻辑位置的钥匙非常容易学习(死亡`与正常“的位置相同的位置)。
如果你没有进入调整布局,那么只有34个键(也许是)听起来很疯狂,但我仍然认为这里有很多空间:
使用图层乘以您的可用空间,使您可以轻松地在手指下具有箭头,数字,功能键和符号。
在实践中,组合将使您可以访问比常规键盘更多的键。
多功能键,长按或双击(我甚至没有使用),结合组合和层,为您提供比您需要的更多空间。
如果我需要,我可以轻松地融入我的布局中的更多功能。约束不是空间 - 它是您学习和熟练熟练的能力,并熟练复杂的布局。 (而且我不认为这是难以解决新的布局,但这是另一天的话题。)
总有可能做得更好。以下是一些目前惹恼我的东西:
当我用我的戒指时按下外顶键(y和,)时,“sys”是可怕的,因为它的三个字母用同一手指键入。 我试图通过移动y和j来解决这个问题,但到目前为止我尝试过的一切都创造了更大的问题。 所以也许我会在一个组合中推出制作“sys”并每天打电话给它? BJ是疯狂的烦恼。 如果我在遍布该位置使用对象的代码库中,则会变得更糟。 J是在最糟糕的位置,即使我在Vim中使用它很多。 尝试了j作为组合,但我很喜欢那么少。 起初我实际上使用了NAV层,但我对额外的层交换机感到恼火,而且由于定时问题,我有一些错误。 我不是100%的内容与符号层,我可能会尝试移动一些符号。 还有一堆不是最佳的东西,但此时我正在击中回报递减,所以我会尽力避免改变事物,除非它是真正困扰我的东西。