Pet*_*ron 8 keyboard colemak keyboard-layout
是否存在专为编程而设计的改良Colemak键盘布局?
我几天前在Colemak键盘布局上冷烤了,我非常喜欢正常的打字,但是我经常编写像;(分号)键这样的字符.修改后的布局有大括号和圆括号的直接映射会很好.
显然,我可以通过反复试验重新映射这些密钥,但我希望有人做了一些测试来确定公共语言字符的最佳布局.
Aki*_*iva 11
这是我一个半小时的键盘布局历史和理论介绍:https : //www.youtube.com/watch?v=i1hK1qrdYtU
我对此非常重视,并一直在进行尝试。我痴迷于高效的工作,并且表现出令人信服的成果,例如,我保证这是非常值得努力的。
在我的回答中,我将在理论上做更多的事情,因为我的布局主要是针对我的特定编程需求量身定制的,并且不适合说Python开发人员,除非他调整了bigrams和Level 1字符。
使用理论,并根据您的需求进行调整。
Shift,Altgr)。ShiftAltgrShift + Altgr请记住,此布局针对以下方面进行了优化:
vi(请注意,方向键位于右侧,就像vi)set -o vi)它涵盖了有关键盘布局的三个主要的基本理论:
Up Down Left Right Home End PgUp PgDn应该将方向键委派给第3级,以达到自然手指放置的目的。Alt键都应该变成Altgr,这样您就可以用任何一只手访问Level 3。数字应从第一行取下,并组织成键盘。通用计算器符号应围绕它。
以下是这些理论在使用一年后的效果:
全面改进工作流程,尤其是文档编辑(与vi已经提供该功能的编程相反)
HomeEnd当钥匙到达正确的位置时,钥匙非常有用。PgUp并PgDn没有得到充分利用,但是这可能是因为倾斜的键盘位置错开了,使您不得不伸手去拿Prior。当前测试此方法的方式相反(左图所示)。这是必要的要求,因为我们有两个Shift键,两个altgr键分别位于空格键的左和右,这是徒劳的。仅与一个人一起工作将使键入过程很痛苦。
尽管有必要,但必须提及的是,拇指如此频繁地向下按压可能会产生一些非常轻微的疼痛。付出很小的代价。如果您可以获得缩小的空格键布局,例如:
这可能会解决问题。
对于大多数用户而言,另一个问题将是巨大的,它缺少Alt键。但是,在Ubuntu上,您可以使用HUD访问大多数菜单命令,从而无需使用90%的键盘快捷键Alt。我偶尔遇到的唯一问题是无法访问TTY终端。(Alt+ Ctrl+ F1)我从来没有打扰过重新映射它,尽管我应该这样做。
这是一个艰难的过程,即由于它的左方向。在以前的版本中,我尝试将键盘向上移动一个级别,以使0和1出现在主行上,并且数字顺序相反(请注意它的显示方式3210而不是0123)。
最终我变得更喜欢它,但是调整非常艰巨,因为:
在一天结束时(以及经过数月的调整),我确实更喜欢它,尽管我觉得它只有40%的可能。但是,更重要的是,我发现了一些东西:
+ 实际上,在第3层上打字比在第1层上的拐角处或什至在第一行上更容易打字。.上非常有用b考虑到所有这些,我决定尝试通过将数字键盘切换到右侧,将方向键切换到左侧来进行实验。在这种情况下,我将介绍许多未提及的小改进,以及我的主要新理论。
优化:
(); // << "" \n \t m_/ "" < * && || \ \( \) ^C? ! Shift_R Control_R ()更改为的方向)(。这是Colemak基本理论的一部分,该理论指出,将手指从小指滚动到拇指更容易。(Colemak是一种布局,强调手指滚动而不是手部更改,Dvorak优先考虑)。对于这个极其常见的C ++三元组特别有用。();尽管看起来倒是很容易,但是它很容易习惯。o创建新行。Return在此键上放置一个用于文本编辑是很有意义的。事实证明它非常方便,并且很快就变成了肌肉记忆。4。Alt+D,但我还是要坚持使用Shift键o。以我的短暂经验,我已经爱上了它,并且不会错过任何我以前在这里拥有的东西。?在第1层取得了巨大的成功,所以我决定也将其放在!那儿,尽管位于最远的角落。我把它搬到远角,因为它不是那么常见,¬并且~是假的/不语句都代表。!= ~Deconstructors (P & ¬Q)。但是,主要的重点是您应该能够完成陈述,段落,句子等,而不必执行键组合,因为这会干扰流程。vi您用右手指示方向时,玩过视频游戏的任何人都习惯于用左手进行运动,因此应该遵循的做法是,用左手进行运动是完全可行的。将重新映射Vim,以使其与此相符,这将需要一些调整。a:我们将看看它是如何发展的。我曾在波浪号上尝试过,但通常忘了它在那儿。作为vim用户,我确实确实需要Escape,但是通常我会通过映射来缓解这种需求,inoremap以便在按下3级方向键时可以进行Escape (并移动光标)。C并且V应该填充一个非常常见的非字母数字二元组:目前,我已经有了它,*/因为这对于评论很重要,但是它可以填充许多不同的内容。^我将使用一个公平位在正则表达式。如果您完全依靠这些,则需要为它们找到一个更好的地方。Z和上插入和删除X。其他一切基本上都只是装饰。同样,您可以根据用例来移动它们。python开发人员可能希望将其:置于第一个级别,并将其与组合在一起Return。
Shift+ Backspace应该执行Delete:的方式太令人困惑,永远不会有用。
78 /*bigram:实际上这还不是那么糟糕,但是鉴于bigram双向发展,它并不是非常有用。它也需要很大的拉伸。我认为最好每只手都有字符,这样比较容易将两种方式组合在一起。
Tilde Escape:即将被利用。如果您无论如何都要伸展那么远,不妨按一下我经常这样做的转义键。
{ }在第1层右手边的Enter旁边,不可逆转:这是一个可怕的坦率痛苦的二元论,如果您需要,则执行起来很尴尬{}。单个无关字符(例如,您不会连续推送的两个字符)的更好位置
我已经创建了此电子表格,该电子表格将生成适当的xkb代码以插入到布局中。只是:
Layout Definition Page现在,创建合适的布局实际上非常困难,因此,我只替换colemak定义中已经存在的内容(首先备份,如果您输入有误,则根本无法键入,甚至可能需要实时启动才能输入解决此问题。)
它看起来像这样:
sudo vim /usr/share/X11/xkb/symbols/us
// Colemak symbols for xkb on X.Org Server 7.x
// 2006-01-01 Shai Coleman, http://colemak.com/
// Akiva Abraham WADS-Keypad Programmer's Colemak
partial alphanumeric_keys
xkb_symbols "colemak" {
include "us"
name[Group1]= "English (Colemak)";
key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
key <LSGT> { [Control_R, Control_R, Control_R, Control_R] };
key <SPCE> { [ space, space, space, nobreakspace ] };
key <TLDE> { [U0021, U007E, U00AC, U00A4] };
key <AE01> { [U005B, U0021, U005B, U20AC] };
key <AE02> { [U005D, U0040, U005D, U00A2] };
key <AE03> { [U002F, U0023, U002F, U00A3] };
key <AE04> { [U0022, U0024, U0022, U00A5] };
key <AE05> { [U003C, U0025, U003C, U003C] };
key <AE06> { [U003E, U005E, U003E, U003E] };
key <AE07> { [U0026, U0026, U0026, U2030] };
key <AE08> { [U002A, U002A, U002A, U00BC] };
key <AE09> { [U0029, U007D, U0029, U00BD] };
key <AE10> { [U0028, U007B, U0028, U00BE] };
key <AE11> { [U005F, U005F, U002D, U2308] };
key <AE12> { [U003D, U002B, U003D, U230A] };
key <AD01> { [U0071, U0051, minus, U00A9] };
key <AD02> { [U0077, U0057, Home, U00AE] };
key <AD03> { [U0066, U0046, Up, U2191] };
key <AD04> { [U0070, U0050, End, U00B6] };
key <AD05> { [U0067, U0047, Prior, U2371] };
key <AD06> { [U006A, U004A, U0023, U2372] };
key <AD07> { [U006C, U004C, U0037, U00B0] };
key <AD08> { [U0075, U0055, U0038, U22A4] };
key <AD09> { [U0079, U0059, U0039, U00A7] };
key <AD10> { [U003B, U003A, U2234, U2234] };
key <AD11> { [U005C, U005C, minus, U0025] };
key <AD12> { [U007C, U00A6, U007C, U2262] };
key <BKSL> { [U0027, U0060, U0060, U2260] };
key <AC01> { [U0061, U0041, Escape, U2122] };
key <AC02> { [U0072, U0052, Left, U2190] };
key <AC03> { [U0073, U0053, Down, U2193] };
key <AC04> { [U0074, U0054, Right, U2192] };
key <AC05> { [U0064, U0044, Next, U2228] };
key <AC06> { [U0068, U0048, U0024, U2227] };
key <AC07> { [U006E, U004E, U0034, U22A3] };
key <AC08> { [U0065, U0045, U0035, U22A5] };
key <AC09> { [U0069, U0049, U0036, U22A2] };
key <AC10> { [U006F, U004F, Return, U2235] };
key <AC11> { [Shift_R, Shift_R, Shift_R, Shift_R] };
key <AB01> { [U007A, U005A, Insert, U2229] };
key <AB02> { [U0078, U0058, KP_Delete, U222A] };
key <AB03> { [U0063, U0043, U002A, U2282] };
key <AB04> { [U0076, U0056, U002F, U2283] };
key <AB05> { [U0062, U0042, U002E, U2022] };
key <AB06> { [U006B, U004B, U0030, U00BA] };
key <AB07> { [U006D, U004D, U0031, U00B9] };
key <AB08> { [U002C, U003C, U0032, U00B2] };
key <AB09> { [U002E, U003E, U0033, U00B3] };
key <AB10> { [U003F, U003F, U002F, U2020] };
include "level3(ralt_switch)"
include "level3(lalt_switch)"
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4756 次 |
| 最近记录: |