• 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

I don't think that far-away key is optimal, sadly, since I'd have to move quite a distance to hit enter.  It turns out that the button I'd assigned for '/" is pretty easy to reach, and so that would be the likely candidate.

And I've done it!  Unfortunately this will involve unlearning (then possibly relearning, should I go back) two fundamental keys.

PfMmFqF.png



vaskozl: I end up agreeing that quote should not go there, unfortunately.  Dents are an issue, but I got used to them after a day or so.  The bigger concern is how to use this layout on other computers, as it's now quite far from canonical colemak. 


Did we ever come up with a good keyboard with fully programmable layout that you could carry around and plug in?  (And that, ideally, doesn't cost an arm and a leg.)

Last edited by lalop (01-May-2013 13:39:54)
Offline
  • 0
  • Reputation: 172
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,181

I think the Enter can work well in that position once you get used to it. The trouble with remapping keys like that is that in some remap utilities that'll be hard to do. (Does MSKLC allow moving Enter without hacking the file? I doubt it.) You'll need to be a bit tech savvy to make it work throughout.

I can recommend swapping the }] key with the \| key in your layout. Then you're actually not moving the latter at all, which is handy if you ever want to physically remap a keyboard since that key is bigger. But more importantly, I think it looks nice and makes sense with the two bracket keys there in the middle; I sometimes use both hands if I'm to write an empty bracket pair. Your way, you'd have to stretch first in and then out which seems more annoying to me.

Last edited by DreymaR (01-May-2013 14:35:02)

*** 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
DreymaR said:

I can recommend swapping the }] key with the \| key in your layout.

Done; I also took the opportunity to change the parentheses around:

tzz4P8C.png

(Not sure how useful that'll be either, since the middle keys are fairly hard to reach.  We'll have to see in practice.)



Edit: one of the weird things it that, when I switch to qwerty, the return is still set as '/".  Effectively, there's no more Return in qwerty.


Edit 2: I've switched the return key back.  I'm going to regret this once I have to type something with lots of quotes.  My main concerns were compatibility (as at least the wide layout is normal colemak just shifted a little, whereas changing return around causes troubles even in linux) and that my pinkie started to hurt when trying programs (e.g. some games) were you have to type enter a lot.

HvtgzZQ.png

Last edited by lalop (02-May-2013 11:52:08)
Offline
  • 0
  • Reputation: 172
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,181

As I said, there might be trouble. I think it'd be fairly safe to pull off in PKL (Win) and XKB (Linux) though.

But yeah – it can be a steep incline trying to figure out how to do stuff like that everywhere. Suddenly you run into trouble with Flash or Java or what-have-you and become a sad customer...

The stretch from N to 7 is a long one. That's why I put the = key in there. It isn't too pretty, breaking up the number row like that, but then the stretches to the numbers will be the same for your Wide layout and a non-Wide layout.

Last edited by DreymaR (02-May-2013 11:54:35)

*** 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
DreymaR said:

The stretch from N to 7 is a long one. That's why I put the = key in there. It isn't too pretty, breaking up the number row like that, but then the stretches to the numbers will be the same for your Wide layout and a non-Wide layout.

Good point; I was messing up the number presses earlier.

oBaXEAP.png

I was xkbing the return, but it seems to apply the return-key symbols of the topmost layout to all the others (which, since that overrides the sole return for most layouts, effectively removes their returns).

Last edited by lalop (02-May-2013 13:34:15)
Offline
  • 0
  • Reputation: 172
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,181

Hmmm... well, it *could* be a bug like that, but my hunch would be that you might've edited the 'us' layout or something like that and others depend on it? Just a thought.

I do my Wide stuff with the keyboard models instead of by layout, you know. Works very well, but it gets involved.

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

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

I do think that your Wide pc104 layout looks very nice now! I should incorporate it into my Big Bag files, with and without the pc104 Angle mod. Pressing Z with the ring finger and so on solves the wrist angle problem but it does mean relearning the fingering for at least 5 keys which some will want to avoid.

Last edited by DreymaR (02-May-2013 13:50:23)

*** 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 do make these changes by editing the 'us' layout (as you earlier suggested, in fact).  Don't know any other way :]

Should you want them, this is currently as it stands.  (Note that caps lock/esc/ctrl are unchanged; I changed those via keycodes (/usr/share/X11/xkb/keycodes/evdev) and don't actually know how to do so here.)

The diagram colors are really just a description of how I press them.  My technique is probably bad.  Should you want to modify them, here's the keyboard layout analyzer config.


Edit: first major hurdle in the wide layout.  Some program stubbornly refused to accept the new keys or any redefinition of them, so I've had to use a default colemak layout for that program alone.  Thankfully, I only have to manually switch once since ubuntu seems to go with the topmost layout by default in all programs, unless changed.

Edit 2: Experimentally getting rid of the notion that the stuff in the middle are still parens:

VRXOwgV.png

Can xkb be configured so that a key triggers multiple symbols, e.g. an actual word? It seems like that would be the next step to this insanity.

Last edited by lalop (03-May-2013 14:20:09)
Offline
  • 0
  • Reputation: 0
  • From: Malmö, Sweden
  • Registered: 10-Sep-2012
  • Posts: 122

You should be able to change the modifiers in the "usr\share\X11\xkb\symbols\us" by adding this:

key <CAPS> {  [   Control_L,      Control_L,         Control_L,          Control_L  ] }; 
key <LCTL> {  [   Multi_key,      Multi_key,         Multi_key,          Multi_key  ] };

That is, assuming I'm reading the image correctly and you want a compose key in place of Left Control.
You would also need to comment out the old <CAPS> function.

Posted without the aid of a rodent.

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

Okay, to be specific: You use the 'us' 'default' layout? Because others might #include that one because it's a common one and that would create the kind of behavior you're experiencing.

Last edited by DreymaR (03-May-2013 17:51:25)

*** 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

vaskozl: That weird symbol at ctrl is [apparently] ESC; sorry I forgot to mention that earlier.  So my mapping goes Caps -> Esc -> Ctrl -> Caps

dreymar: I'm pretty sure I'm modifying the colemak one.  It begins with

// Colemak symbols for xkb on X.Org Server 7.x
// 2006-01-01 Shai Coleman, https://colemak.com/ . Public domain.

partial alphanumeric_keys
xkb_symbols "colemak" {
    include "us"
    name[Group1]= "USA - Colemak";

I think the deal is just that ubuntu does some weird stuff with the topmost layout, like setting the shortcuts based on it, and apparently setting the [physical] Return key as well.

I was able to override this setting by adding a Return to the other layout (in this case us(default)).  So the problem can be avoided as long as all your used layouts set Return.


Also, a question about PKL configs.  When trying AHK, I noticed it would occasionally miss keys, especially when I was typing quickly.  Is this still an issue with compiled AHK scripts?

Last edited by lalop (04-May-2013 05:03:34)
Offline
  • 0
  • Reputation: 3
  • Registered: 08-Dec-2010
  • Posts: 656
lalop said:

Also, a question about PKL configs.  When trying AHK, I noticed it would occasionally miss keys, especially when I was typing quickly.  Is this still an issue with compiled AHK scripts?

AHK scripts is only usable at speed lower than 60wpm. More than that and you will occasionally see Qwerty keys.

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

@lalop, that's a bug in Ubuntu.  If you search the forum you'll see a simililar bug in Debian, which has no doubt percolated through.  Make sure you report it.

Update: I wonder if I'm thinking of the same issue.  What I'm flagging is the order in which your layouts are in Gnome, and the shortcut issue that was outlined - that when using ctrl shortcuts, it's working from a different layout.  I remember being fresh to Dvorak, and thinking that having Qwerty shortcuts was the norm because of the same bug.  If it is this bug, then I guess it relates to Gnome?

Last edited by pinkyache (04-May-2013 15:05:33)

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

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

This isn't a bug in Ubuntu nor Debian per se but in X.Org I should think. Obviously, XKB doesn't expect layouts to be messing with keys like Return so it gets confounded when it happens.

Lalop: You mentioned that some program(?) didn't understand your mappings. Could you tell me which program it is, please? Maybe I could try out my own mappings to see if they are okay.

And Tony, your claim is unfounded. I can type 80 WPM on a good day with PKL, never miss a stride. It's totally wrong to just claim that AHK or PKL creates your problem for everyone, could be something about your setup. We've been through this before. Furthermore, Farkas Máté showed me some times data for PKL which were rather impressive once; it really is fast.

Last edited by DreymaR (04-May-2013 14:16:02)

*** 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
pinkyache said:

What I'm flagging is the order in which your layouts are in Gnome, and the shortcut issue that was outlined - that when using ctrl shortcuts, it's working from a different layout.

This is it, and the same thing happens for the Return symbols: it uses the ones from the topmost layout.  The shortcuts seem to be a "feature" rather than a bug, sadly. 

Possible related bug (though it seems to affect all KDE apps, rather than just the default shortcuts)



dreymar: It's probably a program issue, but geeqie.  Although you are able to remap in the main window, it just fails (in just about every way) in any additional windows you may pop up.

As for AHK, I was getting qwerty leakage very often, but it could be because I was playing starcraft at the time.


Edit: in a separate issue you may have knowledge of, sublime text doesn't seem to recognize any of my "control" altgr keys.  That is, symbolic stuff like -=+_ works, but arrow, backspace, return don't.

Last edited by lalop (04-May-2013 19:22:50)
Offline
  • 0
  • Reputation: 172
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,181

I don't know whether PKL could be working better than those AHK scripts you're running? Also, it would depend on whether you were running other scripts simultaneously. Also, I use the 'i' (SendInput events) non-ASCII mode. You can specify in nonASCII.ini which programs use what if necessary.

But I've no idea why this gives some people trouble and others none.

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

Offline
  • 0
  • Reputation: 7
  • Registered: 21-Apr-2010
  • Posts: 809
lalop said:

This is it, and the same thing happens for the Return symbols: it uses the ones from the topmost layout.  The shortcuts seem to be a "feature" rather than a bug, sadly.

So that's a KDE thing?  Rather ridiculous unintuitive behaviour that.  That should be an addon/tweak, rather than a default!  How perversely stupid.

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

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

Gnome as well (I don't use KDE, those were just the best bug reports I found).  I suspect dreymar is right and they are xorg issues.


In other news, I've been trying vim (with colemak.vim) and emacs (with colemak-evil.el) and I think I see where dreymar's extend was inspired from.  Unfortunately stuff needs to be flipped for ergonomic reasons if you use altgr as the modifier.  (Coincidentally, though, the "unei" movement shortcuts agree with the ones I use for this other game, so no big deal I guess.)


2TajNSl.png

=+_ shifted around for use patterns, + used more often in sequences.  ESC is apparently used often in vimlike editors, so added it to q and replacing the unused return at y.

Last edited by lalop (05-May-2013 13:12:09)
Offline
  • 0
  • Reputation: 172
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,181

The inspiration, yes... Well, colemak.vim was part of it for sure. Specifically, the JH LY UNEI (PgUp/PgDn Home/End Arrows) navigation block was very nice. So I made an AHK script that provided such a block everywhere (adding the ;O Back/Del editing keys) and quickly became very happy with it – especially when I found out how well it worked together with modifiers. The F keys on the number row were a natural addition, an accessible Esc key was a great boon as you've noted and so on.

Then PKL came with a full Extend layer that took it to completion and I just tweaked that to my liking. There have been several people involved in this and in my opinion it's just gotten better and better. ;)

Last edited by DreymaR (06-May-2013 08:58:13)

*** 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

9P75irN.png

Experimental change: with such an easily reachable Return key, I've found I've rarely been using the altgr+t return, whereas that space is sorely needed for the Esc key in vim-like editors.

I originally placed ), the more subsequently used paren, at altgr+v based on the workman difficulty chart:

Sjq7h9vl.png

After some practice, I'm no longer sure that chart is correct; d seems easier to spam than v, at least for me.  Meanwhile, Alt+(, a paredit shortcut, is easier to reach if ( is at p, rather than d or v.  Workman is still right about v being fairly easy to reach (just possibly not hit multiple times), so I've put the commonly used " there.

In addition to the altgr return, the victim of this new version is DEL, moved to the less accessible (and probably less intuitive) altgr+q.

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

Workman's chart is Workman's feelings about this. Trust your own feelings more; they're probably as good and more relevant to you. As long as you're open to the possible effects of techniques and training that seems like the best strategy to me.

For me for instance, the WF and UY keys would only be 1.5 effort and I have a bad feeling about some of the others... ;) And let's not forget that we use different fingering for the ZXCVB keys, alleviating the penalties for most of these!

Out of curiosity: How does the apostophe key feel up there? And the slash/question in the middle? Acceptable solutions, or annoying? They're probably the best answers to making a Wide mod we'll come up with but learning them can still be tricky.

Last edited by DreymaR (07-May-2013 12:22:03)

*** 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: 08-Dec-2010
  • Posts: 656

Ideally for every person with different finger lengths and different hand muscle strengths there should be several unique optimized keyboard layouts for that individual. The possibility is endless.

I hope that there will be a software that can handle the key position significance factors that Workman author have shown (each person enters his/her own numbers) and it can quickly calculate the optimized layouts for that person.

For now, Colemak can be 98.0143453% efficient for most of us.

Last edited by Tony_VN (08-May-2013 11:51:49)
Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

What I would find really intriguing is a layout where the home rows are the curves awft nuyo, a sort of workman/Jason style taken to the extreme, if you will.  Assuming that those buttons really are more natural than my current method of sort of hovering between the two rows, I could see that being an awesome experiment, among other things.


DreymaR said:

Out of curiosity: How does the apostrophe key feel up there? And the slash/question in the middle? Acceptable solutions, or annoying?

Apostrophe is barely noticeable anymore (though I suspect it may still have a speed penalty).  The slash/question mark are quite nice to press, possibly even better than the original position!  Sadly, the same can not be said for !,\, but those are rare and I almost never hit those keys.  So all-in-all, acceptable.



The other update is that I've started using amphetype to "read" (though I'll probably skip chapters where it gets too tedious, this at least ensures that my practice accomplishes something).  Unfortunately, I immediately came upon the python altgr bug: none of the "command"-like altgrs (backspace, enter, and the like) work.  I managed to hack in the altgr backspace (as without that I would probably have given up), by adding the following line to Quizzer.py's keyPressEvent function:

elif e.key() == Qt.Key_Backspace and int(e.modifiers()) == 1073741824: #Altgr backspace
            e = QKeyEvent(QEvent.KeyPress, e.key(), Qt.KeyboardModifiers(0),e.text(),e.isAutoRepeat(),e.count())

Essentially, the altgr backspace is already triggered (Qt.Key_Backspace with modifier 1073741824); it's just that qt decided not to do anything with that modifier for some reason.  So I created a new QKeyEvent that strips it of the modifier, making it just like normal backspace.  You would probably have to do something similar with the other "command" keypresses.

The bad news, though, is that ctrl+[altgr backspace] doesn't work; it doesn't even seem to trigger a keyPressEvent at all.  So that's pretty rubbish.

Last edited by lalop (03-Jul-2013 23:41:40)
Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

Not much has changed, but I figured an update was long overdue:

BOPkhel.png

Still haven't figured out a good use for that top-row middle key.  It's pretty much just annoying to reach.

Last edited by lalop (26-Jun-2013 04:32:34)
Offline
  • 0
  • Reputation: 0
  • Registered: 04-Apr-2013
  • Posts: 538

First major update/experiment in some time: since Esc is so common with vimlike environments, trying out moving Esc to Tab.  This frees space for a better parens layout:

vpbRbyc.png

Advantages:

  1. The parentheses positions are better and cleaner

  2. Esc gets a one-finger key

Disadvantages:

  1. Tabs, though not very common, are used in unexpected places, leading to weird behaviors

  2. Tab might not actually be a better position for Esc than AltGr+t, which is rather more immediate.

I am having doubts that this was a worthy change.  The old parentheses' positions were not that bad.



Update: reverted.  The experiment can still be found in these branches:

https://github.com/lalopmak/keyboard-ma … e/EscAtTab
https://github.com/lalopmak/wide-layout … e/EscAtTab

Last edited by lalop (14-Jul-2013 05:12:31)
Offline
  • 0