• You are not logged in.

    DreymaR's Big Bag Of Keyboard Tricks (Main Topic)

    • Started by DreymaR
    • 8 Replies:
    • Reputation: 90
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,497
    DREYMAR'S: DreymaR's Extensive Yet Modular ARSenal for typing!

    [CAVEAT EMPTOR: This work is under some long-term construction due to its complexity.
    Almost all areas are now nicely domitable, but a hard-hat area or two may still be found.]

    This is the Big Bag of Keyboard Tricks Main Topic, in which I go into detail on what the different tricks are.

    I also have topics focusing on different implementations of the Big Bag Of Keyboard Tricks:
    • The Big Bag (XKB) for Linux
    • The Big Bag (PKL) for Windows
    • The Big Bag (TMK) for programmable "QUICKIE" devices
    • The Big Bag (Mac) for Karabinier by mkborregaard (not yet MacOS Sierra ready?)

        Tarmak-ETROI_Spectral_CAW.png?raw=1


    Since I started using Colemak in early 2007 I've been fiddling with it, trying out ideas from the forum and adding some of my own. Colemak per se is to me only the letter block mappings including the semicolon, and their shifted counterparts. I've always ended up with that intact and it has stood the test of time. If you look up the ergonomic mods below you'll see that I'm somewhat flexible about the geometry – but in reality that's about the physical keyboard design and a better hand position for me. The layout itself stays essentially the same!

    And so, voila, here it is:

    DREYMAR'S BIG BAG OF KEYBOARD TRICKS

    [1]    Character/Key Mapping Layers
    [1.1] Colemak[eD] AltGr mappings (lv3–4; dead keys on symbol keys etc)
    [1.2] Extend layers using Caps Lock as a switch modifier for navigation/editing/browsing/etc from near the home position
    [1.3] Several Dead key enhancements giving access to lots of glyphs (presently for Windows/PKL only)

    [2]    Ergonomic Key Remappings
    [2.1] Angle/Wide ergo modifications to improve wrist angles, hand spacing and right pinky stretch/load effort
    [2.2] The Colemak-DH ergo mod (deprioritize middle columns without keys changing fingers)
    [2.3] Modifier modness (Work In Progress)

    [3]    Other Layouts
    [3.1] Tarmak transitional Colemak layouts for learning Colemak in smaller steps if so desired
    [3.2] For several locales, a 'Unified Symbols' layout with only a few necessary changes from standard Colemak[eD]
    [3.3] Intuitive Cyrillic, Greek and Hebrew Colemak phonetic layouts to write other scripts (e.g., using a toggle switch key)
    [3.4] Mirrored Colemak, allowing one-handed typing without extra learning

    [4]    Other Typing Tricks
    [4.1] Amphetype (& Co.) for typing training
    [4.2] Colemakoid MessagEase layouts for touch screen typing
    [4.3] The Typing of the Dead for ultra-cheesy-violent typing gaming
    [4.4] Hardware remapping devices (QUICKIE)
    [4.5] Physical keyboard modding

    [5]    Get Outta Here! (guest links)
    [–.–] Speedtyping Guide by Colemak-wielding 200+WPM champion Viper
    [–.–] No Big Deal and Will Colemak Destroy My QWERTY Skills? by our Discord champion, NottNott the "KnotNottNott-But-Not-NottNottBot" ^_^


    [–.–] Done/Todo


    I use my own edition of Farkas Máté's excellent Portable Keyboard Layout – PKL[eD] – to implement the Big Bag for Windows. For Linux, I've hacked up a bunch of modifications to the X.Org XKB files. Then I got me a USB-2-USB "QUICKIE" converter and implemented much of my tricks for that too; they should work for most programmable controllers. I'm pretty proud of it all, I must say! :)

    An advantage with my implementation is that in most cases you can pick and choose most of the enhancements as modules:
    • The Angle/Wide ergo mods are models/remaps so they work with any layout you choose (including QWERTY or Dvorak ones) and may be chosen per user
    • The Extend layers and their switch key are "options" and should work with nearly any existing layout
    • The locale/phonetic, Mirrored and Tarmak layouts are separate layout variants selectable with various chooser keys as desired
    Freedom of choice through modularity is an ideal in the DreymaR world, as it is in Linux.


    DONE:

    • Updated Rulemak and Bulmak to 2016 versions (ru/by/ua, bg/rs/mk – although only found in ru and bg so far):
        East Slavic (Russian/Church/Belarus/Ukraina?) & South Slavic (Bulgarian/ISO-9/Serbia(Cyrillic)/Macedonia?)
    • Tarmak layouts for Curl-DH modders. The changes are minor, but should be easily accessible for the newcomer.
    • Get the Big Bag implementations up and going on GitHub.


    TODO:

    • Present the Big Bag more hypertextually on GitHub gh-pages. (I know, I'm slow at this...)
    • Dead keys with currency on AltGr+4, Greek on AltGr+5, tech/math stuff on AltGr+= and IPA++ on AltGr+Shift+numbers(?) [done in PKL]
    • A total of 4 Extend layers!? Proposals: Basic/nav/edit, NumPad++, Coding/etc, Hotstrings
    • Modifier keys for 4 Extend layers. For instance, Caps+{--, LAlt, RAlt, LAlt+RAlt}. Holding Caps (or Alt?) down should maintain the layer state.
    • For some (or all?) Extend layers, a Lock (say, Shift+Alt+Caps locks; tapping Caps releases)?
    • Fix the Hebrew phonetic ("Hebmak") layout, once we agree on how! (With wrapman and whoever's interested.)
    • Develop and test a Vietnamese Colemak (with icedryst and whoever's interested).
    • More locale variants: epo (Esperanto), …? (Any suggestions, or comments on the existing ones?)
    • A section on alternative fingering? Tricks like sliding in for the NK/KN bigram are useful for the somewhat advanced typist.


    LASTLY:

    • Best of luck with Colemak and its many marvelous mods! ^_^
    • If you do get stuck, here's a little light entertainment to hopefully Shift your mo(o)d. ;-)

    Typealong Clackity said:

    Colemak's connected to the ... Curl* mod,
    The Curl mod's connected to the ... Angle mod,
    The Wide mod's connected to the ... shoulder bones,
    And Extend's just wonderful!
    -------
    *: DH

    Last edited by DreymaR (04-Dec-2018 09:39:29)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 1
    • Reputation: 90
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,497
    [1]    Character/Key Mapping Layers
    [1.1]    COLEMAK[eD] - EDITION DREYMAR

    See the main Colemak[eD] topic if you're interested.

    This is my own preferred AltGr mapping layers (modifier lv3-4 in Linux terminology) for the Colemak layout. I've tried to add much functionality while keeping it intuitive. In particular, I want to be able to write different scripts and tech/maths symbols. Since the start, there's been some minor tweaks based on my experience and forum feedback, but it's been stable for a long time now.

    See my various layout files for comments and explanations, in addition to these design goals:
    - Keeping level 1-2 of Colemak intact! This is what I think of as the Colemak layout per se.
    - Dead keys easily accessible as unshifted AltGr+symbol keys; common ones in good positions.
    - Added letters/quotes allowing many of the major latin scripts to be written correctly.
    - Added symbols/glyphs similar to, e.g., Mac ones - allowing common math/tech/etc typing.
    - The positions of added letters and symbols should as far as possible be easy to remember!

        Cmk-ANSI-eD_96d-FShui.png?raw=1
        The Colemak [edition DreymaR] layout, using different lv3-4 mappings from Shai's default Colemak.
        Shown on an ANSI keyboard with dead key emphasis (golden) and "FingerShui" color-coded proposed fingering.
       

        Cmk-ISO-eD-CurlAWide_96d-FShui.png?raw=1
        Colemak-CAW[eD], using the Curl(DH)Angle-ISO and Wide(/) ergonomic mods like I do (see the next post).


    [1.2]    EXTEND LAYERS AND THE CAPS SWITCH MODIFIER

    This is my favorite mod next to Colemak itself! The ability to navigate and edit from the home position and its immediate surroundings is extremely powerful. It's like having part of the power of advanced editors like Vim ready in all situations. Plus a fully functional multimedia keyboard without sacrificing compactness. And more.

    For more info and tricks, see my Extend Extra Extreme topic.

        Extend-ISO-NoWi-Linux_90d.png?raw=1
        A symbolic chart of my Extend mappings (lvl1 only). Greens, navigation; blue/circled, mousing; orange, multimedia; gray, system/misc.

    A more explicit chart from my XKB Extend source file:

    Spoiler:
    These keys are modified/transposed by holding down the 'extend key' (CapsLock by default):
    +------+------+------+------+------+------+------+------+------+------+------+------+------+
    |Esc + |F1 <> |F2 << |F3 >> |F4 <> |F5 <> |F6 << |F7 >> |F8 <> |F9 <> |F10<> |F11<> |F12<> |
    |      | Pause| Rew  | Fwd  | Eject| Refr | Bri- | Bri+ | Sleep| WWW  | Mail | App1 | App2 |
    | Caps | Play | Prev | Next | Stop | Mute | Vol- | Vol+ | Media| Home | Srch | File | Calc |
    +======+======+======+======+======+======+======+======+======+======+======+======+======+
    |` €€€ |1     |2     |3     |4     |5     |6     |7     |8     |9     |0     |-     |=     |
    | Cust | F1   | F2   | F3   | F4   | F5   | F6   | F7   | F8   | F9   | F10  | F11  | F12  |
    +------+------+------+------+------+------+------+------+------+------+------+------+------+
    |Tab   |Q €€€ |W *** |F <<> |P <>> |G *** |J ### |L ### |U ### |Y ### |; €€€ |[ €€€ |] €€€ |
    |      | Esc  | *WhUp| BrBck| BrFwd| *MUp | PgUp | Home | Up   | End  | Del  | Esc  | Ins  |
    +------+------+------+------+------+------+------+------+------+------+------+------+------+
    |Caps+ |A +++ |R *** |S +++ |T +++ |D *** |H ### |N ### |E ### |I ### |O €€€ |' €€€ |\ ><> |
    | ++++ | Alt  | *WhDn| Shift| Ctrl | *MDn | PgDn | Left | Down | Right| Back | Menu | BrFav|
    +------+------+------+------+------+------+------+------+------+------+------+------+------+
    |_ *** |Z €€€ |X === |C === |V === |B *** |K *** |M *** |, *** |. *** |/ €€€ |Spc € |Entr€ |
    | *MOn | Undo | Cut  | Copy | Paste| *Bt1 | *Bt2 | *Bt3 | *MLe | *MRi | Multi| Enter| PrtSc|
    +------+------+------+------+------+------+------+------+------+------+------+-------------+
    Legend: # Movement; + Modifiers; = GUI edit; * Mouse; <> MultiMedia; € Various commands.

    The XKB implementation is almost the same as the Windows/PKL one. You get shifted multimedia keys which Win/PKL couldn't support, but not mouse WheelLeft/Right scroll keys as those are poorly implemented. Instead, there's a MouseKeys On/Off key on <LSGT> and a Compose/Multi key on Slash. Those should be fairly useful I think. The Tilde key is customizeable – by default it holds a spare Del but it could be anything you deem useful.

    Holding down AltGr (only works in XKB so far) you get a NumPad layer (lv7-8) laid out pretty much like a standard one but with the top row moved around to fit existing keys:

    // KeyPad overlay with nav block to the left (lv7-8):
    // +------+------+------+------+------+------+------+------+------+------+------+------+------+
    // |` €€€ |1     |2     |3     |4 £   |5 €   |6     |7     |8  ⇑  |9     |0     |-     |=     |
    // | Cust |  !   |  @   |  #   |  $   |  %   |  ^   | KP_7 | KP_8 | KP_9 | KP_* | KP_- | KP_= |
    // +------+------+------+------+------+------+------+------+------+------+------+------+------+
    // |Tab   |Q ### |W ### |F ### |P €€€ |G €€€ |J ### |L     |U     |Y     |;     |[ {   |] }   |
    // |      | Home | Up   | End  | Del  | Esc  | PgUp | KP_4 | KP_5 | KP_6 | KP_+ |  (   |  )   |
    // +------+------+------+------+------+------+------+------+------+------+------+------+------+
    // |Caps+ |A ### |R ### |S ### |T €€€ |D     |H ### |N     |E  ⇓  |I     |O     |' "   |\ |   |
    // | ++++ | Left | Down | Right| Back | K_Lck| PgDn | KP_1 | KP_2 | KP_3 | K_Ent|  '   |  :   |
    // +------+------+------+------+------+------+------+------+------+------+------+------+------+
    // |_ *** |Z €€€ |X === |C === |V === |B *** |K     |M     |,  ⇕  |.     |/     |Spc   |Entr  |
    // | *MOn | Undo | Cut  | Copy | Paste| *Bt1 |  ,   | KP_0 | KP_0 | KP_. | KP_/ | Spc  | K_Ent|
    // +------+------+------+------+------+------+------+------+------+------+------+------+------+

    Having to hold down both CapsLock and AltGr while entering numbers is hardly ideal. I'd like to use another key (but there are few to spare) and maybe make it a lock instead of a switch modifier (i.e., one you have to hold down). Unsure about that, really. Actually, one might construct a level7 modifier by combining level3 with level5.

    There may be a need for navigating while entering numbers, but on the other hand KeyPad keys rarely use modifiers. So I moved the nav block from its UNEI arrow cross to the WARS cross familiar to gamers. Number row keys 1-6 are reverted to their lv2-3 symbols since these may be needed for numeric input, as are some other keys; the bracket keys cater for the parentheses in this layer which feels logical to me.

    If you're cheeky and dexterous enough to press CapsLock+AltGr+Shift at the same time, you're treated to a set of double-arrow symbols of the kind used in mathematical proofs and more (⇖⇑⇗ ⇐⇔⇒ ⇙⇓⇘), laid out like in one of the standard xkb keypad layouts. I thought they might be somewhat handy, but the heavy chording required suits the fact that few need them very often! The single arrows didn't fit in, but at least the four orthogonal ones (←↑↓→) are already there in the lv3-4 Colemak[eD] mappings.

    Tips:
    • The backtick/tilde key to the left of 1 can be whatever you want to: An extra Del, Ctrl+A (Select All), Ctrl+W (Close), Ctrl+T (New Tab), Win+T (Taskbar)...
    • You can do some really fancy stuff with this! Ext-A/T+4(=Alt/Ctrl+F4) closes programs/tabs, Ext-T+J/H(=Ctrl+PgUp/PgDn) switches tabs...
    • Or try this in a browser: Ext-6 for the address bar, then type an URL, then Ext-A+Spc to open it in a new tab (saves Ctrl+T for a new tab)!
    • Most of these tricks work in many apps under both Windows and Linux these days. Some application specific ones are marked as such.
    • My Extend layer doesn't support letters nor the Win/GUI key, which limits the shortcut repertoire somewhat. But even so there's really a lot you can do!
      (FYI: There are good reasons for the WheelUp/Dn placements and the lack of a Win key, having to do with keyboard implementations.)


    [1.3]    ENHANCED DEAD KEY MAPPINGS

    Some dead keys are almost empty: The doubleacute only caters for ő ű, and ring only caters for å ů ẘ ẙ. There's also a whole iota dead key that only concerns itself with Greek characters. I'm tempted to stuff something good into those cracks even if it's not an entirely logical thing to do (because the name of the dead key wouldn't reflect these extra mappings). If you use up a key mapping on a dead key it really shouldn't sit there taking up keyboard space for the meager purpose of providing 2-3 glyphs!

    There are 19 dead keys in my pkl layout right now. The common accents are there, together with a currency dead key on AltGr+4 and a Greek phonetic dead key on AltGr+5. Furthermore, some sparsely populated accent keys have been enhanced with extra content, such as superscripts/subscripts on acute/grave, fractions and negations on stroke/bar and ring symbols on ringabove. The most extensively reworked key is the double-acute which used to have only Uu and Oo and now contains a fairly rich set of math/science symbols (think of the double acute as akin to the equals and prime signs)! You really have to see them to believe them – I'll showcase some below but you can see them all using PKL (default Ctrl+Shift+1 for the help images):

    01) Dot below
    02) Hook, palatal hook
    03) Horn, retroflex hook/tail
    04) Currency:
        dk04_currency.png?raw=1    dk04sh_currency.png?raw=1
    05) Greek (phonetic):
        dk05_greek.png?raw=1    dk05sh_greek.png?raw=1
    06) Circumflex
    07) Caron
    08) Ogonek, comma below
    09) Breve
    10) Ring above, ring symbols, ligatures
    11) Macron
    12) Double-acute, math/science:
        dk12_dblacutesci.png?raw=1    dk12sh_dblacutesci.png?raw=1
    13) Umlaut/diaeresis
    14) Tilde
    15) Acute, superscripts
        dk15_acute.png?raw=1    dk15sh_acute.png?raw=1
    16) Grave, subscripts
    17) Cedilla
    18) Dot above
    19) Stroke/bar, fractions
        dk19_strokebar.png?raw=1    dk19sh_strokebar.png?raw=1


    Note that the dead keys are designed to interact in clever ways through chaining: 'Ring' then 'angle' will produce 'arced angle', 'Tilde' with 'equals' will produce 'equal or approximately equal', Stroke with many symbols will produce slashed symbols (e.g., from 'identical to' you get 'not identical to') etc. The sequence you press the dead keys in may matter: Usually, start with the modifier(s) (such as 'stroke' for "not") then the symbol-producing key (such as 'maths' and then '=' which will usually produce '≡' but now gives you '≢' instead). At the moment, the only documentation for all this cleverness is snoping around the PKL layout.ini files, but logic will take you far too.

    Last edited by DreymaR (29-Aug-2018 20:12:27)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 90
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,497
    [2]    Ergonomic Key Remappings
    [2.1]    THE ANGLE/WIDE ERGONOMIC KEYBOARD MODEL MODS

    Bigger On The Inside
    It has been noted that these mods can really open up, say, a cramped notebook keyboard so much that it feels "bigger on the inside"! So maybe this slogan is suitable? ;-)
    Typing Advancement: Row Displacement Increases Spaciousness (T.A.R.D.I.S.)
    (Technically speaking these mods mostly displace half-rows, but bear with me.)

    These are ergonomic mods, moving some keys around to achieve straight wrists (the Angle mods), better hand separation and lower right pinky load (the Wide mods). The Angle part is almost a no-brainer to me as it allows the left hand to keep a straight wrist without changing the fingering on ZXCV, and makes B easier to reach. Colemak creator Shai himself has given his blessing to this mod! The Wide mod is more optional, but it does put some load off the right-hand pinky, widen the arm distance (useful particularly for small keyboards, but nice regardless), and provide easier access to AltGr/Enter/Backspace/RShift – all at a very low learning cost.

        Cmk-ISO-AWide-35_60d_FShui.png?raw=1
        The AngleWide(Slash) wide ergo mod for PC105/ISO keyboards.

    With a 102/105-key ISO keyboard the Angle mod is very smooth indeed, and I strongly recommend at least an Angle shift if you have an ISO keyboard! The US/ANSI solution is usually to move the Z to the middle which is a bit more dramatic. There are some other options but they're rare; see below if you're interested.

         Cmk-ANSI-AWide-ZQu_60d_FShui.png?raw=1
         The Angle(Z)Wide ergo mod for PC104/ANSI keyboards

    When I use these mods I like to move the key caps around and make the change global - my family actually don't seem to mind as the changes are fairly intuitive and unintrusive, leastways for the run-of-the-mill keyboard user who looks at symbol key caps to find them. I got used to the changes quickly, too. But on laptops I usually don't move anything around and you can implement the change on a per-user basis if you wish. (If you do, take care with your logon dialogs and passwords!)

    "There is another."
    Actually, there are a couple of other possibilities for ANSI boards, since they don't have a near-perfect solution like the ISO crowd. I call them "A-Wing" and "FatZ". And then there's the "Angle-Cheat" too:

    Spoiler:

    One alternative is the A-Wing mod which has a cool name but little usage: Split the bottom row while shifting all the others to the right. With A-Wing, you won't get the "wide" experience, and must live with an increased distance to Tab and LShift. In comparison, hitting LShift when using Angle(Z) and straight wrists is actually rather nice!

         Cmk-ANSI-AWing_60d_FShui.png?raw=1
         The "A-Wing" ergo mod for PC104/ANSI keyboards

    I haven't implemented the Fat-Z ANSI Angle mod anywhere, but I will at least mention it. The trick is moving Z to the LShift key! LShift then needs a new home which should be better than the old B position. One solution is to move LShift to the Alt key and put Alt on the old B key. But this means moving modifiers around, so I'm a bit wary of it. Also, a fat Z key looks a bit odd, but if it works for you then all's fine!

    If you go DoubleFatWide and do the same with RShift and Slash, you'll get a Wide mod with better Slash key placement too. Fat-Z and its fatter cousin DoubleFat may be the best solution for people who use thumb Shift or other ways of shifting!?

    One possibility tried out by BenDover178 is to make LShift a dual-function key that produces Z on tap and LShift when held. This precludes Sticky Shift, but that may not be a hurdle for many. This trick is hard to implement unless you're using TMK/QMK controllers. See the Modifier Modness section below.

         Cmk-DH-ANSI-DblFatWide-BenDoverish_60d_FShui.png?raw=1
         The "DoubleFatWide" ergo mod for PC104/ANSI keyboards; shown with the DH mod and some extras

    The above image shows a DoubleFatWide-modded ANSI board, inspired by BenDover. It also has some interesting (and optional!) extras:
    • The Colemak-DH mod (see below), affecting the DBG(V) and HMK letters
    • The middle parentheses can be exchanged for pretty much anything. If you need locale letters/accents for instance, they're good for those.
    • Double-function Shift keys, working both as letters and modifiers (see the Modifier Modness section)
    • Fat Apostrophe, forcing Enter upward. If you use Extend-Enter and/or don't mind, this is no problem.
    • \ and - swapped for easier access to hyphen-minus; this is kinda nice but maybe a bit radical.

    "Angle-Cheat":The least intrusive way of ensuring a straight left wrist is a trick I've seen many typists do intuitively: You simply change the fingering for ZXC so that the index finger hits C and so on. This is what Colemak speed record holder Viper has been using, so you can certainly type fast with it! And it'll be available for both Colemak and QWERTY without any tweaks. On the downside, this trick does nothing to improve the B position and it doesn't enable Colemak-DH (see below).

    6s and 7s With U
    stevep99's Ergonomic Keyboard Mods page lists the above mods. Note that we don't agree 100% on which Wide mod is better, as his fave has the = key between 5 and 6 where mine has it between 6 and 7. Some split keyboards follow my way and others (particularly matrix boards) his. His preferred variant is a priori more symmetric but on a normal-staggered board mine has = on the longest stretch from the home position which is as it should be. Efficiency before aesthetics. ;-)

    We've also discussed which key should be on the upper-right (old [ key) position: On ANSI boards it pretty much has to be the apostrophe but on ISO boards it should be a common key as that position is quite good. I prefer the forward slash, as both slash and question mark are quite common symbols. SteveP lists two variants where one has the ISO hash key (backslash in most layouts) in that position, but that's a less common key than slash/question.

    Backdrop:
    For some more background...

    Spoiler:

    See for instance this topic by cevgar on Wide mods, and this topic by me on Angle mods.

    Other names:
    Many of these mods have been discussed under other names. So if you come across older posts here's a key to what we've been discussing:
    • AngleWide is often abbreviated as AWide, and Curl(DH)AngleWide as CAW.
    • The Colemak-DH (Curl) mods have somewhat arcane longer names (DH=DvbgHmk, DHm=DvbgHm and DvH=DbgHk) which describe and distinguish them.
    • I've named Wide mods after which key they put in the old Right Bracket position; as such, the one I use is AWide(/), AWide-Slash or Awide(35) mod.
    • The A-Wing angle mod has been called Angle-Frame, A-Frame or AngleWing.
    • I don't know any snappy names for the fat-Z mod. Well, except for Fat-Z which is kind of cool. ;-)

    [2.2]    THE COLEMAK-DH ALIAS "CURL" ERGO MOD

    The point of the Colemak-DH ergo mod is to make the home "row" curl like a relaxed hand does instead of forcing it to a straight line as was commonly thought best some years ago. Several typists have felt that the middle-trench D and H positions of Colemak weren't so comfortable and as a result the Workman and Norman and other layouts were made. However, I don't think they succeeded on many other important facets (more keys moved, and/or more same-finger bigrams, and/or poorer performance on other stats). So the proposal by stevep99 to fix the issue based on Colemak and without any keys changing fingers was a stroke of genius! It's a low-cost improvement of the default straight-homerow Colemak. And I still think of it as Colemak because it really is, keeping its good stats for travel distances, finger usage and same-finger ratios.

        Cmk-ISO-CurlAWide_90d_FShui.png?raw=1
        The Colemak-Curl(DH)-AngleWide, a.k.a. Colemak-CAW, ergo modded layout.

    The Colemak-DH mod also puts the G key back to its old QWERTY position which more than offsets moving the less frequently used B. On the right hand side, at least one more key has to be moved compared to standard Colemak; the default mod moves two. But this investment returns a larger gain, as H moves to a better position.

    If you type a lot in a language in which L is more common than H (including several latin and Nordic languages), it may be worth considering a further tweak in which L is moved down to the better position on the lower row and H gets whatever position you deem second-best. There have also been mod proposals for the Dutch who need a better J position. You'd have to implement these yourself for now.

    The DH mod depends on using an Angle mod which is easier on an "105-key"/ISO keyboard but there are decent options for "US"/ANSI boards too. If you want to learn this using the Tarmak progression described above, that's possible too! You just have to learn the Angle mod early on, and tweak the 2nd Tarmak step a little. The right-hand mod is mostly separate from the rest of the layout from Tarmak1 onwards, but it's advisable to do it in step 1 which moves K anyway.

        Cmk-pos-CurlDH-ISO_90d.png?raw=1
        My personal assessment of key position goodness (from green via blue to purple), using a straight-wrist, relaxed-fingers hand position.
       
    I've dubbed my CurlAngleWide modded Colemak the Colemak-CAW! It's a Colemak at heart, but sufficiently modded that I wanted a snappy name for it. And yes, that's also a tip-of-the-hat to Billy Macaw in CATS. ;-) Also, there have been spiritual developments...:

    Spoiler:
    COLEMAK ⲔⲰ – THE SOUL OF TYPING!?

    Would you believe that in ancient Egyptian Ka means the "soul-body" or life force (while Ba is the "traveling soul" and Akh the "eternal/divine soul"), its hieroglyph being the symbol of... two hands!!! Maybe that's something right there...?

    To go further down the rabbit hole, Wikipedia states that the Coptic word ⲔⲰ (kw) means approximately the same as Egyptian Ka, and this claim is further supported by a book on hieroglyphics I found. As an added bonus, the latin translation of Ka is ... wait for it ... "genius"!

    To make it even stranger, ⲔⲰ would well transliterate to CAW!

    So maybe Colemak-ⲔⲰ is the new thing then? The life force of ingenious two-handed typing! ^_^

    ka-and-ba.jpg

    (Easter Egg spoiler: If you're using PKL[eD] try pressing Extend+Home!)

    Backdrop:
    The DH mod has a few variants in addition to the standard one, notably Steve's original DHm (DvbgHm) mod which swaps the Colemak(Angle) D–V and H–M positions but leaves the K alone, and my old DvH (DbgHk) which instead swaps D–B and H–K while letting the M stay unchanged. The DHm mod may be good if you have a non-staggered matrix board. I made the DvH mod to be less radical and intrusive as it doesn't move the V and M keys (apart from the Angle mod moving V with ZXC). However, I have now moved on to Colemak-DvbgHmk, in the name of unity and goodness. And it shall henceforth be known as the Colemak-DH mod.

    See stevep99's Colemakmods page, as well as the main Colemak-DH topic and links therein. Also, note my review of the DH mods. Note, however, that we've since then agreed on one common Colemak-DH mod.


    [2.3]    MODIFIER MODNESS (Work In Progress)

    We've already encountered a modfied modifier above: The Extend key, which is usually the mostly unused CapsLock being put to far better use. In "vanilla" Colemak, this key is modded to a second Backspace.

    In the Linux world, it's quite common to shuffle around the modifiers a bit. Caps can become Control, Esc or something else for instance.

    stevep99 is a big fan of remapping in particular the Alt keys, since they're thumb keys which can be very ergonomic. He likes to put Extend and/or Shift on those keys. See his Ergonomic Keyboard Mods GitHub page for more info.

    I'm a little wary of modifier modding myself, as it can be hard to implement reliably across platforms. Sometimes keys don't play well together, possibly because of hardware limitations in the scan matrix of cheaper keyboards and possibly because an OS (or Java/Flash/etc) can get confused when a non-modifier key becomes one. I've had my share of troubles with the Extend-modifier keys (Ext+A/S/T for Alt/Shift/Ctrl). Another issue is the differences between keyboards when it comes to the position of particularly the Right Alt key, making it very convenient on some boards but not on others. I do believe you should use a keyboard with a good RAlt position. Note that the Wide mod helps a bit with that.

    Another modifier mod is Sticky Shift. With this mod, which is available out-of-the-box in many OSes, you can tap a Shift (or Ctrl) key and then another key to released a shifted (or control) character. It's used by some of the fastest typists because with a chording Shift there's a higher risk of getting DOuble CApitals at high speeds. I find it quite pleasant to use.

    As shortly mentioned above, Dual-function keys is another interesting possibility. It's mostly for TMK/QMK users for now, but may find its way into PKL[eD] eventually. The idea is that a tap produces one key press, typically a letter, but holding down the key makes it a modifier instead. This may be a little confusing but also quite useful.

    Last edited by DreymaR (04-Oct-2018 10:34:39)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 90
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,497
    [3]    Other Layouts
    [3.1]    THE TARMAK TRANSITIONAL COLEMAK LAYOUTS

    There's a main Tarmak topic that you should take a look at. Basically, I've added four Tarmak layouts that provide stepping stones from the standard QWERTY layout to Colemak[eD] by moving only 3-4 keys per step. Each step brings at least one important key to the home row (notably, E-T-R-O-I) and only the rare J key is misplaced in the process. If you're brave and impatient, you may of course skip steps to customize your progress.

    Tarmak transitional layouts have been reported successful in easing the conversion to Colemak typing and although this evidence is anecdotal I find the proposed hypothesis that gradual changes should be easier to learn for many a plausible one.

        Tarmak_Spectral_ETROI.png?raw=1
        The 5-step Tarmak (transitional Colemak) layouts, spectrally color-coded from red (Tarmak#1) to violet (Colemak).


    [3.2]    LOCALE COLEMAK[eD] VARIANTS

    See my Locale Variants forum topic for the various locale solutions.

    I took off a bit and made quite a bunch of these, heh! I can make more on request. It'd be nice with feedback from local users as some design decisions are open to debate and depend on actual usage as well as personal preferences.

    Here's what I've covered so far, for the most part both with conservative 'keep local symbols' and my preferred 'unified symbols' variants
    (On a side note, there were only 11 Dvorak layouts in the xkb files last time I looked!):
    al at ba be bg br ca cz de dk es fi fr gb gr hr hu il is it latam nl no pl pt ro rs ru se si tr us

    - The brackets (lvl3-4) and the LSGT key may hold the most common locale-specific keys.
         • The oe/aring special letters may well be replaced; these should also be on dead keys.
         • Furthermore, keys with non-essential mappings (H J K L) are up for grabs if need be.
         • See the colemak_template symbols file for more info on local Colemak[eD] variants.

        Cmk-eD-usym-aw_Xm.png?raw=1
        Cmk-eD-dk%2Bno-usym-aw_Xm.png?raw=1
        The Colemak [edition DreymaR] layout, Norwegian+Danish 'Unified Symbols' variant (mostly like the standard Colemak above).

        Cmk-eD-no-ksym_Xm.png?raw=1
        The Colemak [edition DreymaR] layout, Norwegian 'Keep Local Symbols' variant (symbols like local key markings).

    Please note: The 'Local Symbols' variant for a locale uses symbol mappings from the default locale layout (usually a QWERTY one), which are also the ones normally found on physical key markings on keyboards made for that locale. The letter block, however, is the Colemak[eD] one which may lead to some inconsistencies or faults in lv3-4 mappings. For the most consistent and complete set of AltGr mappings, use the 'Unified Symbols' variants.


    [3.3]    PHONETIC COLEMAK LAYOUTS FOR NON-LATIN SCRIPTS

    See the phonetic subtopic of my Locale topic for more info on these layouts.

    For the Greek and Hebrew phonetic variants I mostly moved the keys of their default phonetic xkb layouts to a Colemak setup, hardly changing anything else. Ideally, I should be able to define phonetic names for the keys corresponding to Colemak so that other 'phonetic' layouts would work automatically, but I think the XKB way of doing that may be too QWERTY-centric for that to work right now. For Kyrillic, I've used Ghen's excellent Rulemak which under my xkb patch is found under 'Russian (Colemak, phonetic E-Slavic)'. It isn't for Russians only, but that's how xkb likes to sort things. Similarly, for South Slavic there's the Bulgarian (Colemak, phonetic S-Slavic) variant now. Let me know how that works out, please?

        Cmk-X-phon-gr-awide-sl_mask.png?raw=1
        The Colemak phonetic layout for Greek, simply moving around the keys of the default (here xkb) Greek layout.


    [3.4]    MIRRORED COLEMAK

    Advanced typing is possible with only one hand given a mimimum of training with the mirroring method. In fact, this paragraph was written entirely using the left hand with the exception of the mirroring key itself, with hardly any training! The brain is inherently good at mirroring things.

    I think the Colemak is a very good layout for this kind of one-handed typing: It scores well on home-row usage, finger load balance and same-finger bigram avoidance, and it doesn't focus overmuch on hand alternation which could lead to same-finger bigrams when mirror-typing (Dvorak has lots of hand alternation; it also has separate right-hand and left-hand variants but then you'd have to learn a new layout).

    You'll want an easily accessible key (such as a thumb key) to switch between normal and mirrored typing. One suggestion is using LAlt for left-handed typing, and RAlt or RWin for right-handed typing. But you may instead use an arm or foot switch set to any other key (maybe an out-of-the-way one like ScrollLock), or a "ghetto switch" made by stripping most keys off a keyboard and placing it on the floor. A more fancy but still cheap switch could be made by soldering the wires from a foot pedal switch (if you have something useable) to the contacts of a key on a cheap keyboard.

    Some adventurous souls might want to try the mirrored Colemak as a main layout? Some say it's more similar to Dvorak that way. However, my implementation is meant for one-handed typing. To use it as a standalone layout, you'll want to take out the remapping of special keys.


        Cmk-ISO-MirrorOn-Angle_90d-FingerShui.png?raw=1
        The Mirrored Colemak layout, which should be good for right-handed typing (the Angle mod is recommended for this)


        Cmk-ISO-MirrorOn-AWide35_90d-FingerShui.png?raw=1
        The Mirrored Colemak layout with the AngleWide-Slash mod (see the Wide mod heading); better for left-handed typing I think

    Last edited by DreymaR (30-Nov-2018 14:06:41)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 90
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,497
    [4]    Other Typing Tricks
    [4.1]    AMPHETYPE AND TYPING TRAINING

    Amphetype is a cross-platform, layout agnostic typing program written by user tristesse. I think it's very nice for typing texts, analyzing weaknesses and generating lessons. Check it out directly or from my Amphetype topic which contains some nifty training tricks.


        Amphetype_1-Typer.png?raw=1
        Amphetype about to start a book text session (from Berens' Greek/Roman mythology)


    [4.2]    "COLEMAKOID" MESSAGEASE LAYOUT FOR TOUCH SCREEN TYPING

    As mentioned, this is mainly for touch screen devices (Android/Apple/etc) and as such I'll only mention it briefly here. In the Colemakoid MessagEase layout topic you can read more about this wonderful touch screen "keyboard" and my preferred settings for it. Highly recommended for your touch devices!

        MessagEase_KbdEx_DreymaR_Colemakoid.png?raw=1
        My "Colemakoid" drag mappings for the MessagEase touch screen keyboard (shown with my "subtle" color scheme)


    [4.3]    THE TYPING OF THE DEAD – TYPING GAMING

    This is a weird and wonderful thing: The rail shooter House Of The Dead converted into a typing game! Heh. So much fun.

    The conversion is quite faithful, but with extra silly elements added – particularly in the first game. Zombies will often throw or wield kitchen utensils instead of knives and axes, and the main characters have a SEGA Dreamcast console with a huge cell battery strapped on their back as well as a SEGA keyboard before them.

    The original is still lying about and considered abandonware, so if you're interested you may give it a spin of the barrel. The original's drills can be downright handy for practising a particular aspect of your typing. There are exercises focused on typing speed, accuracy, reaction and special keys. There's even a typing tutorial (QWERTY-based but still useful).

        TTotD-1_Tower.jpg?raw=1
        In The Typing Of The Dead, you'll meet various challenges such as the Tower boss. Type in the right answer to defeat it.


    The second installment, Typing Of The Dead: Overkill is available on Steam, optionally bundled with several add-on dictionaries. It has more shine, but only three extra minigame modes. And I have a feeling that it's managed the nigh-impossible task of being even cheesier than the original. Beware! ;-)

        TTotD-Overkill_Shakespeare.jpg?raw=1
        The Typing Of The Dead: Overkill has hi-res sound & graphics, and custom dictionaries such as this Shakespeare one!


    For the record: I like both! The original is what I'll go to for typing training, though.

    More info and downloads through these links:
    The Typing Of The Dead 2000 (PC version)
    The Typing Of The Dead: Overkill (Steam)

    Technical tips for TotD 2000:
    • After unpacking the .rar file there's an install.exe and then a setup.bat you should run.
    • I've gotten it to run on an extended monitor, without changing color depth (on Win 10).
        – If you have a second monitor and want to play on your main one, disable the other.
    • I have to start it up with a standard US or UK layout active, or some keys will be weird.
        – After that, I can switch to any other Win layout such as the one I've made with MSKLC.
    • Locale layouts may struggle as they can have some symbols on AltGr or dead keys.
    • PKL works so I can use Extend to navigate etc.
    • The gun sound files (TotD\sound\SE\COMMON\gun#_22.wav [1-5]) can be replaced with ...
        ... typing sound files (TotD\sound\SE\typing\typing#.wav [1-5]) which are more pleasant.
    • If it's hard, set it to "Very Easy" in Options. There are other settings there that may help too.


    [4.4]    HARDWARE REMAPPING DEVICES (QUICKIE)

    I've decided to call this kind of device a QUICKIE (QWERTY USB In, Colemak Key Input Emulated)! :-) A more proper name for it would be "USB-to-USB remapping device".

    A very interesting XKB/Win/Mac-independent trick. A USB-to-USB device that plugs between the keyboard and whatever you're connecting your keyboard to, provides an OS independent solution that can accommodate many of my tricks! For people having to deal with zealous IT security rules, this may be the only solution short of getting an expensive remappable keyboard. It could let you type Colemak to, say, a PlayStation. And it could be fun to make one yourself if you're adventurous and DIY oriented!

    It'll remap only key strokes so basic layout and ergo mods such as Colemak-Curl(DH)AngleWide(+Extend) are possible, but not easily AltGr or dead key mods such as Colemak[eD].

    The safest and easiest option may be to order the brilliant USB to USB Converter from GeekHack user Hasu, who has also developed the TMK software for converting keyboards to more awesome keyboards. I provide TMK files in the USB-2-USB Big Bag topic.

    For more info, see the Big Bag of Tricks topic – USB2USB edition! Note that some keyboard controllers can be programmed with TMK or its fork QMK. My code should work for these controllers too, at least using TMK, and then you wouldn't need a separate device.

        USB2USB-Hasu_GeekHack-Topic69169_GadOE.jpg?raw=1
        Hasu's USB to USB Converter for TMK Key mapping


    [4.5]    PHYSICAL KEYBOARD MODDING

    You don't need special hardware to use a special layout. On my laptop I blind type happily away using Colemak-CAW and the only change I've made is to scratch the N (QWERTY K) key a little to aid homing since I have a Wide ergo mod. But some will want the visual to match the experience. And naturally, many layout enthusiasts are also keyboard hardware enthusiasts!

    These days, there are many many options to buy or make a keyboard to your liking. I have an old and somewhat dated physical board modding topic where you may pick up some ideas, but you may also want to search around for newer topics.

    I also suggest checking out the Deskthority.net Wiki and the GeekHack.org forums as they are great founts of knowledge and opinions on most things keyboard. Especially mechanical switches, but lots of other things too. For all questions hardware, there's also the Colemak Discord #Hardware channel, always full of knowledgeable and helpful enthusiasts.


        Cmk-CAW_Unicomp_DreymaR_TN-Ninja_2017-08.png?raw=1
        My Unicomp SpaceSaver Buckling Spring (IBM Model M ISO type) keyboard with "American/Ninja" caps, splendidly sporting the Colemak-CAW layout.

    Last edited by DreymaR (30-Nov-2018 16:24:05)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 3
    • Registered: 29-Apr-2015
    • Posts: 23

    Two quick questions:
    1. I've used your old angle-curl mod for a few years (bottom row "zxcvd<hm,.-"), but now I see you've changed your mind. Might it be worth the effort of changing to the now "canonical" modDH layout? (bottom row "zxcdv<mh,.-"?
    2. When I update my Mac mappings (sorry for being tardy there) would it make sense to change to that, and also let the Tarmak progression point to that? (if it is, is there a new version of the Tarmak progression towards the new modDH?). EDIT: That question is answered here: https://forum.colemak.com/topic/1858-le … ts/#p14801 Sorry for not looking sufficiently before asking.

    Thanks!

    Last edited by mkborregaard (24-Oct-2017 13:17:09)
    Offline
    • 0
    • Reputation: 90
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,497

    For me, it's nice if we forget the old variant(s) and move on. For you, it may not matter. I think the new variant is even more comfy (at the price of one more moved key and a little frustration during the switch), but the old one is nice by all means. So it's up to you, friend. :-)

    When it comes to documentation and what we put out there for the newcomers, I hope we can keep it all to the new variant as anything else causes confusion. For those matrix keyboard users preferring M in the middle I'll keep SteveP99's old mod available, but I won't promote it on the front page so to speak. So yes, I hope you'll update your files to the new Curl(DH) mod too!

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 1
    • Reputation: 3
    • Registered: 29-Apr-2015
    • Posts: 23

    Thanks a lot! :-) I'll update them as soon as I catch a minute.

    Offline
    • 0
    • Reputation: 90
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,497

    So, what do you think of using spoiler tags to get some less central stuff off the front page but still easily accessible? I think it works rather well (given that the forum format isn't perfect for this anyway!), but let's hear your opinions.

    Last edited by DreymaR (03-Apr-2018 11:17:40)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0