• You are not logged in.

colemak - one month on (+ custom wide AltGr layout)

  • Started by lalop
  • 55 Replies:
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

After one month, I find myself with workable muscle memory and about 80wpm/98% accuracy on typeracer.  Here are some reactions:

The excellent:

As far as I'm concerned, Colemak is the optimized keyboard layout with the best shortcuts.  In addition to preserving many of the QWERTY ones (ctrl+zxcvaqw, s on the same hand), you also get several moved closer:

QWERTY Position -> New QWERTY Position
r -> s
t -> f
f -> e

This makes the shortcut density practically 100% on the left-side.  After remapping Ctrl -> Caps Lock, I end up barely having to move at all!  I'd say the only improvement, apart from the minor p, would be having Caps as Ctrl by default:

pnzqwDf.png

green - unchanged shortcuts
dark purple - improved shortcuts
light purple - improved shortcuts that we probably won't actually use
orange - equally good shortcut (but requires relearning)
red - deproved shortcuts



The practically questionable:

Rolls are very dependent on the quality of your keyboard.  The rolls that I perform after I clean the keys are noticeably better than those after gunk has been allowed to gather.  I'm prone to many more errors when I've left it for even a few days, and this makes for a very inconsistent typing experience.

The weirdness:

I've felt, the entire time, that I've become dyslexic on the keyboard.  I would very often type letters in the wrong order, even to the point of switching letters between wdjacent aords.  Part of this may be due to "the other hand" reacting faster than the current one, but part of it I can only attribute to actual dyslexia.



All in all, I think I would've preferred something like Dvorak - alien to QWERTY and not dependent on rolls - if it had comparable keyboard shortcuts.  The shortcuts, I feel, are Colemak's hugest killer feature, but are not fully taken advantage of due to its default Backspace -> Caps Lock mapping.

Last edited by lalop (28-Jul-2013 11:42:17)
Offline
  • 0
  • Reputation: 4
  • Registered: 08-Dec-2010
  • Posts: 656

You're right. Usually one hand reacts faster than the other, so you have to type in rhythms  (typing each key with the same time) to correct that mistake.

Offline
  • 0
  • Reputation: 7
  • Registered: 21-Apr-2010
  • Posts: 818

Good point about the Caps lock as CTRL,  I actually find after moving to Dvorak that the shortcuts on the left hand are really quite awkward for me now.  CTRL + Q Dvorak maps to CTRL + X Qwerty.  Still preferable to Alt + F4!  CTRL + X Qwerty - feels too tight for me.  I can't say that I miss any other Qwerty shortcuts, apart from CTRL + X Dvorak which maps to CTRL + B Qwerty.  B being quite a distant letter.

I've actually taken to having them off of one hand - but then again, I'm not that much of a mouse user, and I'm also not a fan of one handed chords.  Though I once was.  Others don't seem to have any issues.  Caps lock for CTRL could make a one handed chord / shortcut more comfortable for me.

Last edited by pinkyache (24-Apr-2013 09:46:44)

--
Physicians deafen our ears with the Honorificabilitudinitatibus of their heavenly Panacaea, their sovereign Guiacum.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

With the Extend keys I can choose between Ctrl+X and Caps+X which gives me 3 possible Cut combos. I usually use Caps+X since that's closest to the home position. Same with Alt+F4 (Caps+A+4) which is a small movement from the home position and feels better than Ctrl+Q to me.

A flexible combination of one-handed and two-handed shortcut usage sounds like a good idea to me, depending on situation. But I usually go for the left-hand alone options.

Last edited by DreymaR (24-Apr-2013 10:09:53)

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

Offline
  • 0
  • Reputation: 1
  • From: Sofia, Bulgaria
  • Registered: 05-Mar-2011
  • Posts: 387

Yeah, DreymaR I love the idea of your extended layer but I haven't tried it yet because (and I will deny I've ever said this) I don't want to spend time learning/getting used to the new shortcut setup and to get it working and understand exactly how it works (the ahk code). I'm such a hypocrite, I know. I'm always saying to my friends: optimisation, optimisation...

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

I'm a little loathe to change the very useful capslock/ctrl key to something more ad hoc.  As it stands, I could not figure out how to customize altgr (which currently does little but flip the "e" ever since I switched the default language to colemak).  Would not mind putting altgr+home row buttons as the various parentheses. 

(I'll make some sense of how extend does it eventually, but there's too much stuff there.  The googled stuff is more than a little handwavy.  If anyone has basic instructions for xkb, I'd appreciate it.)

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

@Pafkata: No, I *totally* understand that sentiment! There's far too much to get into.

Should you nevertheless be just a tiny bit intrigued after all, know this:

• You don't have to learn the shortcut setup! That is, just use the arrow block and Backspace and then when you feel like it add any useful combination of the Enter, Home/End and PgUp/PgDn keys, and probably the Alt/Shift/Ctrl keys to use with them. I swear, that'll get you such a long way that it's enough to sell this. In fact, the arrow keys alone are!

After a while you'll probably get curious and add some other keys you like to your arsenal (I use Esc, Del, mouse wheel for scrolling, Back/Forward, the function keys – especially for Alt+F4 and F2 for renaming – and the multimedia keys are nice too) but even I don't use all the keys. My mousing keys are almost never in use; feel totally free to ignore them and anything else you don't want.

But hear me on this: Basic navigation/editing from the home position is gold, pure gold. I can whiff around in Windows Explorer, looking at and renaming/copy-pasting files around, without mousing for instance.
Great for multiple-file jobs that aren't big enough for a batch app but big enough to be annoying with mousing.

• Getting it working should be really easy without understanding the code! If you have special needs not covered by my package (one setup for Wide and one for non-Wide keyboard layouts), just let me know and I can make you a pkl.ini file that works for you. You can use that with a PKL layout of your choice or with a transparent "VirtualKey" setup that doesn't mess with your layout.

@Lalop: Is it the Extend key you're calling 'ad hoc'? I wouldn't say that! It's just a lot of power at your hands. In that respect, it's anything but an ad hoc solution and more of an ad omnes one if you ask me and others who use it or similar ones! Like having a little of the power of Vim with you at all times, but with a smoother learning curve.

The worst thing about the Extend layer is that I've gotten so used to it that I feel that vanilla keyboards are stunted. Luckily I have solutions both for Windows and Linux; before I got the Linux mappings up I felt let down. Only later did I learn that there actually were similar solutions in place for XKB already – just not as complete as mine. :)

There are no basics with XKB, I'm afraid. It's a beast. :)

That said, all you need do is find a layout you wish to wreck – such as the basic colemak layout in /usr/share/X11/xkb/symbols/us (depending on your distro your X11 folder may be elsewhere). Then find, say, the bit that goes

    key <AC07> { [            n,            N,          ntilde,           Ntilde ] };
    key <AC08> { [            e,            E,          eacute,           Eacute ] };

...and change it to, say, something like...

    key <AC07> { [             n,             N,   parenleft, bracketleft ] };
    key <AC08> { [             e,             E, parenright, bracketright ] };

(the others are 'braceleft'/'braceright' and 'less'/'greater')

Then you may want to clear out the cache files in /var/lib/xkb/ called 'server*.xkm' before rebooting.

Whatever tickles your fancy. This simple kind of editing is easy enough; adding your own layouts and suchlike is a whole lot worse!

If your AltGr key does something strange now, it's probably because you either use a layout that doesn't use AltGr or because you've activated a setting that messes with it. In Ubuntu for instance, there are a lot of settings in the keyboard settings GUI to play with, and some of them affect the AltGr.

Last edited by DreymaR (25-Apr-2013 09:25:24)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

Solid advice, thanks.  Apparently colemak does not like me setting the "Compose key position" in the settings (even to just right-alt); after unsetting that, the right-altgr works as expected.

I've preliminarily set my altgr layout as:

Altgr:             [        ]        (        )                    Bksp    ?        :        "
Altgr + Shift:                       {        }                    Left    Right    Up       Down
DreymaR said:

@Lalop: Is it the Extend key you're calling 'ad hoc'? I wouldn't say that! It's just a lot of power at your hands. In that respect, it's anything but an ad hoc solution and more of an ad omnes one if you ask me and others who use it or similar ones!

What I mean by "ad hoc" is that caps lock being ctrl is a straightforward pattern, whereas, if it acts as ctrl when you press [zxcv] but acts completely different when you press l, it's no longer so general.

I do see the utility in your approach, but what if, one day, I found a new program, where I want to use ctrl+n a lot.  There'd be a good chance I'd already mapped caps+n to something else (probably a parenthesis), and so I would either have to reach back to the old ctrl for that command alone, or else define a whole new caps+ shortcut and have it map to ctrl+n.  That's what I mean by ad hoc.  (On the other hand, until that day comes, caps+n is just a waste of keyboard space, so I do see where you're coming from.)

Last edited by lalop (25-Apr-2013 12:03:16)
Offline
  • 0
  • Reputation: 1
  • From: Sofia, Bulgaria
  • Registered: 05-Mar-2011
  • Posts: 387

Thanks DreymaR, but I can't really use it without understanding the code because I'm already using my own AHK file with shortcuts and other stuff that is about 1000 lines long – so I'd need to do some compatibility and possibly combine them in one if I want them to work together. And I know the comfort of navigating from (almost) home position, yeah. I've got my (sift+)LAlt + NEIU mapped to (shift+)Ctrl + ←↓→↑ which is golden for text editing/navigating. Maybe one of these days I'll feel less lazy about it and dive in and let you know if I need some help with the setup :)

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

Hang on – my Caps+X does not equal Ctrl+X. Rather, it equals Alt+Backspace, which calls the system Cut command (same as the multimedia Cut key). But even if it did use Ctrl+X Cut that wouldn't make the Extend layout ad hoc in my strong opinion. It just means that the Undo/Cut/Copy/Paste commands are very handy to have about when navigating and editing so to avoid modifier dancing it makes perfect sense to have them available on the navigation layer!

I think you're confusing the position of the Ctrl key with the utility of an Extend layer. If you're worried about the fact that you like the key left of A to be a Ctrl, then by all means use it as such! Then use some other key as your Extend modifier, such as <LSGT> if you have that and don't need it, or RCtrl (in which case I'd remap the Caps to send RCtrl so you don't lose it), or get creative.

@Pafkata: Yes, if you're already keyboard hooking then PKL is risky. You'll want to #include one in the other for it to work well, and that may take a little tweaking to get right so that both programs get the queued keystroke and no variable names are duplicates. Ah well.

Last edited by DreymaR (25-Apr-2013 12:11:31)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

Need an opinion: is it easier to hit rightalt+n (my current backspace) or rightalt+i, when in the middle of typing sentences?  Right now, I'm finding the transition to the former quite awkward compared to the latter (only the transition: the combos themselves seem equally easy to press), but I'm not sure if that's just because I'm used to hitting backspace with my ring finger.

DreymaR said:

It just means that the Undo/Cut/Copy/Paste commands are very handy to have about when navigating and editing so to avoid modifier dancing it makes perfect sense to have them available on the navigation layer!

I think you're confusing the position of the Ctrl key with the utility of an Extend layer. If you're worried about the fact that you like the key left of A to be a Ctrl, then by all means use it as such!

I think, the way you're seeing it, having a layer is not ad hoc; it meets a fairly straightforward convenience rationale.  I can buy that.  But if a layer just happens to duplicate functionality of a singular button in some places, then replaces that functionality in others, I would start to consider that an ad hoc solution.  Granted, you don't seem to duplicate much of the ctrl functionality with your capslock layer, but I, of course, would (since caps+those shortcuts are so wonderful).

Last edited by lalop (25-Apr-2013 13:25:46)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

No, that doesn't make it ad hoc. It makes it partially transparent. Big difference!

Ad hoc means that something is thrown together to meet a singular purpose, usually temporarily. ("Ad hoc" means "for that", i.e., for that particular purpose.) It'd be ad hoc if you were to define a shortcut one day then keep changing it to whatever suited you each time you needed a shortcut.

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

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

I've already explained the inflexibility scenario: the problem is that, while I may think I know which of the ctrl shortcuts are useful (believe me, it is very tempting to reassign one of those unused caps+home keys to a parenthesis), this could change eventually, and by then that shortcut spot would probably have been taken.


Edit: as to the second way in which I meant it, if you take a general rule, then decree such and such an exception to it (say, by practical considerations), such a procedure could be considered ad hoc.  In this case, the two meanings are very closely related, of course.

Last edited by lalop (25-Apr-2013 14:15:03)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

I see. Nevertheless though, if you were to remap, say, only the JLUY; HNEIO keys to a navigation block (which is how I started my Extend "career"!) I wouldn't say that was an exception but merely a partial layer! Same with a NumPad on, say, 789 LUY NEI.

You don't need to use 100 % of the keys on the keyboard for it to feel consistent. You only need to keep a level head.

As for your inflexibility worries, I still maintain that they seem to stem from a confusion about which modifier to use. The Ctrl key is nice and in one place, the Extend key is nice and in another. Your inflexibility scenario seems to really be a question of where to put these two?

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

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

I've moved the paren altgr shortcuts to the top, in favor of a backspace as Altgr+t.  It's a little awkward, but will see if I can get used to it.

DreymaR said:

As for your inflexibility worries, I still maintain that they seem to stem from a confusion about which modifier to use. The Ctrl key is nice and in one place, the Extend key is nice and in another. Your inflexibility scenario seems to really be a question of where to put these two?

I think our disagreement stems from my seeing a Caps layer (with many Ctrl-shortcuts) as an ad hoc Ctrl key, while you see a Caps layer (with fewer Ctrl-shortcuts) as a keyboard layer with some shortcuts that just happen to agree with Ctrl's.




Edit: I've just discovered this very second that some programs don't recognize the Altgr backspaces, though the other Altgr shortcuts work fine.  In particular java programs seem to treat it as a space, while python outputs some weird unicode.

Last edited by lalop (26-Apr-2013 03:11:06)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

I just checked my Extend mappings to be sure. There's not *one* Ctrl-shortcut in there! Not *one*! Just saying...

...unless you cound Ctrl+Ins used to invoke System Copy, which I really wouldn't...

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

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

I thought, from the charts, you had caps+zxcv, and I would not be willing to give up arstwf either (maybe the q).  Maybe the ^Z, etc don't mean what I thought they meant.


Does your altgr BackSpace work throughout all programs?  If so, I may have to try to figure out how you did it.

Last edited by lalop (27-Apr-2013 07:34:38)
Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

I thought I would have a thoroughly-written update posted by now, but essentially, I can't decide whether to keep altgr in the same spot:

ADIQxmv.png

or to move it:

Ik9DVyY.png

There are advantages and disadvantages to both.  In general, I think the unmoved layout is more efficient, but it feels very hard on the thumb, since it must curve inwards very often.  The moved layout has no such bendiness, but requires increased movement and puts a lot of pressure on the weak pinkie.  Not to mention it's forced some keys into awkward spots.

If anyone's used Altgr for extended periods of time, is it a big deal?

Last edited by lalop (28-Apr-2013 11:57:27)
Offline
  • 0
  • Reputation: 1
  • From: Sofia, Bulgaria
  • Registered: 05-Mar-2011
  • Posts: 387

It all depends on whether you use [{ more often than AltGr. If you use AltGr more, then use the second option is better.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

I use AltGr quite a lot. Especially on some older keyboards like the IBM Model M it's a pain to twist your thumb past a very long space bar for the AltGr key, on more modern designs it's just annoying. My solution is a Wide keyboard mod. When the right hand is moved one key to the right, the stretch to AltGr becomes quite comfortable on most keyboards at least.

Last edited by DreymaR (29-Apr-2013 09:18:19)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

pafkata: I guess that's good enough to keep me trying the alt alt layout a few more days.  I think it's slightly better already.

Dreymar: I think I may want one of those! My personal problem, though, is that my [laptop] spacebar seems to be crapping off at the sides (I probably shouldn't have tried cleaning it - though I'm not sure if it actually was my fault), so it could get annoying quickly.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

Spacebars can be mecanically finicky, that's true. As a result of the Wide mod I do indeed hit Space at the ends.

Maybe you should try carefully prying the bar off and setting it right? If you're careless you might make bad matters worse, but if there's a jig come loose but nothing actually broken down there you could fix it. Also, could be that your cleaning attempt removed needed lubrication where the jig meets the spacebar? In that case, some light silicone lubricant or even oil (just a tiny dab!) should help a lot. I've made spacebars a lot nicer that way several times.

A few space bars could be so poorly constructed that there's little to do about it. I haven't met any real trouble during my years with the Wide mod though.

I don't think I made a Wide mod for ANSI (US) keyboards now that I think about it. In my Linux files there's an Angle mod for pc104 and one for pc105, and then a couple of AngleWide mods for pc105 that use the Angle mod. Shouldn't be much bother to implement though, if I see a need for it. Haven't heard from anyone who needed it yet – possibly because the keyboard model mods are the most technically involved in my Big Bag?

Last edited by DreymaR (29-Apr-2013 09:16:26)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

Despite my earlier misgivings, I got the itch and am now trying a slight variation of your wide layout:

Y9N3cpm.png

I was just warming up to the moved altgr layout (and now consider it superior to my original unmoved one as pafkata suggested): it'll probably take the same few days to see if I can get used to this one.  What ended up convincing me was that having the return key as [qwerty "]+t is almost functionally identical to just having the return key next to o in the first place.

Not quite sure how this will work out in windows; maybe I can just use the default layout there instead.

DreymaR said:

Maybe you should try carefully prying the bar off and setting it right? If you're careless you might make bad matters worse, but if there's a jig come loose but nothing actually broken down there you could fix it. Also, could be that your cleaning attempt removed needed lubrication where the jig meets the spacebar? In that case, some light silicone lubricant or even oil (just a tiny dab!) should help a lot. I've made spacebars a lot nicer that way several times.

I'll keep that in mind the next time I'm feeling daring :)



Edit: Should I switch quote and return? Food for thought.

Last edited by lalop (01-May-2013 10:18:30)
Offline
  • 0
  • Reputation: 0
  • From: Malmö, Sweden
  • Registered: 10-Sep-2012
  • Posts: 122

Nah, don't move enter. If I were you I would put the quotes back on the homerow between d and h, the |\ between g and j and the curly braces together on the top right.

Edit: Actually scratch the quotes between d and h part. Just tried that stretch and it's horrible. Even thought I tried using the wide layout, I figured I would be deviating too much from the standard which was being incorporate in Mac and Linux (since you need to move a bunch of other stuff too), and because I can't just move the nubs/dents of the F(T) and J(N) keys everywhere I go. :)

Last edited by vaskozl (30-Apr-2013 23:18:14)

Posted without the aid of a rodent.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

I tried moving the quote key and quickly came off it. It really needs to be almost where it was.

You might move the Enter to the position above (the \| key where you have ]} ), but only if that works for you. I should think that Enter is actually less frequent than the apostrophe and quotes together, depending on what you're doing – nevertheless moving it could prove annoying.

I use the Caps+Space = Enter at least as much as the old Enter key (less stretch even with the Wide mod, since I have an ISO keyboard!). I'm very happy with that, and so I could envision moving the right-hand Enter around.

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

Offline
  • 0