• You are not logged in.

Mod-DH for Colemak

  • Started by stevep99
  • 261 Replies:
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

It's a couple of weeks since I started experimenting with my mod to change some of the keys on the index fingers, notably the D and G, as mentioned in this thread.

I am extremely happy with my change and find having D in the new position feels especially good. It finally feels like most of the little irritations I had, have now been swiftly fixed! To celebrate this moment of Colemak fulfilment, I decided to create a home page on github for this mod, which is called Mod-DH after the two main keys moved. I figured it deserved having it's own page with a clearer presentation than is possible in the forum...

https://colemakmods.github.io/mod-dh/

It might not be everyone's cup of tea, but maybe someone out there may find it of interest. Feedback welcomed of course.

It's kind of ironic really, I choose Colemak partly out of wanting to use a standardish layout that is well-known and well-supported... but have ended up with my own custom layout anyway, albeit a relatively minor adaptation.  Funny how things turn out!

Using Colemak-DH with Seniply.

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

Nice presentation! It's a good read I think.

*** 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: 02-May-2013
  • Posts: 28

This looks pretty nice. Some of my most used vim keys are in better locations with this layout, so I may give this a go.

I tried out Keyboard Analyser on it with a few different inputs and the scores are pretty much the same:

#2
Colemak
65.83

#4
Colemak Mod GH
65.74

At least in my case I think this probably a decent win, because I use d and h far more than g and m in vim.

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

steve - surely you've got d and p the wrong way round!

you think its easier to drop down than stretch up! (plus we all know zxcv is sacrosanct)

i definitely think they are both preferable to the lateral move right - it does look to me that colemak d and h are mistakes, but whether yours is the fix, i think you may have it upside down so to speak

and therein lies the problem, it is a case of parkinsons bike shed no doubt! https://en.wikipedia.org/wiki/Parkinson … triviality

lets forget it and go and watch some fireworks instead before getting back to the serious work of building our nuclear reactor

Last edited by bph (06-Nov-2014 12:10:17)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,360

Haha, the bike shed story is great!

I think it's very easy to stretch down to the Colemak V/M positions (given the use of the Angle mod), and up to the WF/UY positions. These should be considered almost as good as home position keys in my opinion, and better than the D/H positions. P/L and even the Q/; and even most of the little finger keys feel slightly better than D/H, but XC/,. and B/K are worse and G/J the worst.

Maybe this depends on your fingers' lengths and dexterity.

Last edited by DreymaR (06-Nov-2014 13:15: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: 02-May-2013
  • Posts: 28

I agree on swapping d and p around. zxcv is not sacrosanct to everyone though.

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

hey ghaz - i was joking

Offline
  • 0
  • Reputation: 0
  • Registered: 02-May-2013
  • Posts: 28

Haha. Nice one. With your suggested arrangement you can easily type the word zxcp, so there's that advantage!

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

About D -> P or V - I agree either location for D is an improvement, and I had also considered the D>P>G switch. But after further consideration I came to the conclusion that the D down position is the much better option:

I say it *is* easier going down than up for the index finger. Assuming a standard keyboard, the stagger actually works with you for once and makes that key almost totally effortless. The index finger is a bit shorter than the middle finger after all.  While in general the top row is to be preferred over the bottom row, those two keys in particular (V / M) are an exception and often seem underestimated.

It is better to have a common key like D in that position - Certainly I don't think V cuts it. I also like that in my version that P doesn't need to change.

I do recognise that having to adjust ZXCV is a bit of a down side, but at least they don't change by much :) 
But IMO that is outweighed by the new easy D position!

Now that that's sorted, I'd better work out where to put my bike shed...

Last edited by stevep99 (07-Nov-2014 11:55:44)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

i think i am coming round to your way of thinking..

i wonder what once-bitten, twice-shai thinks about it all?

the other thing that things like this make me think is that defining your layout in software is just not the way - its too annoying, much better to have a programmable keyboard and carry it round with you, i.e. the reason i prob won't implement your mod is because the thought of making the changes on a selection of linux and win machines is too painful to contemplate

a single programmable keyboard means you only ever have to make one mod, irrespective of machine, OS, whatever - and if the keyboard you carry around is any good, then it means you're always typing on a good keyboard which is a big plus

if you've got separate keyboards at each machine, no doubt they are crappy rubber domes, because it would be too expensive to justify otherwise (e.g. having several mechanicals)..

the other thing i could go for is the dongle in the loop approach - that could also work. i would pay good money for one of those.. if i had any talent i would definitely try to make one

Last edited by bph (07-Nov-2014 17:01:59)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,360

DVBG seems too much for me! Is DPG too little?
• Moving more keys for little benefit (instead of fewer keys than Colemak!)
• Breaking the ZXCVB pattern for little benefit
• Therefore, seems like a bike shed to me

Last edited by DreymaR (08-Nov-2014 16:33:58)

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

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978
DreymaR said:

DVBG seems too much for me! Is DPG too little?
• Moving more keys for little benefit (instead of fewer keys than Colemak!)
• Breaking the ZXCVB pattern for little benefit
• Therefore, seems like a bike shed to me

DPG is still a good mod in its own right.  But I take the view that if you are willing to deviate from the standard, you might as well make the best available change.

If we are talking about just the left-hand version of my mod, I strongly believe that the gain is significant, even compared to Colemak+DPG. It means 17 keys changed from Qwerty, same as Colemak. I take your point that DPG would reduce it to 16. From a starting point of standard Colemak, in practise, both changes are similar in size, depending on how you measure it. Arguably my version of the mod moves may even be easier as it moves letters which are less frequent.

Perhaps it feels like a bigger change psychologically because B moves a bigger distance, and it looks strange at the top row at first glance. I don't think B is sacrosanct though, it's really only the important shortcuts of ZXCV that are significant.

Oh well, I get the feeling we aren't going to completely agree on this - and I totally understand your aversion as a software maintainer to support the countless possible mods that everyone and his dog could come up with. As bph says, it woud be nice to have a convenient, portable hardware solution so that personalized mods would be easy to handle!

Suffice to say at this stage I am extremely satisfied with my mod, so there is no going back to either standard Colemak or Colemak-DPG for me!

Last edited by stevep99 (09-Nov-2014 16:08:20)

Using Colemak-DH with Seniply.

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

I agree that B is no problem; I should've said 'the ZXCV pattern' but I guess I'm so used to typing ZXCVB when describing the Angle mod! :) No, the concern with moving B is only the total number of keys moved from QWERTY positions.

As it stands, anyone wanting to use PKL for anything slightly off the main road have to edit a little for themselves. This goes for ergo mods vs keyboard models, locale changes etc etc. So making your mod work for PKL is neither more nor less work than many other users have to live with anyway.

In the future I may be able to get some of the changes to PKL that I want, in which case there will be a scan code remapping layer. Modularity is gold. Then your mod(s) will be really simple to implement.

I felt an urge to illustrate what we're talking about here, so here's an image showing "home", "nearly-home", "decent" and "fair" positions for the Angle-modded ISO board, in my opinion:

    Cmk-ISO_90d-Pos.png

I'm not sure about all the "decent" vs "fair" keys. I feel that QZXC and their right-hand counterparts are about as good as P/L. Not sure about B/K or the outwards pinky stretches, really. Right now, D/H/G feel quite clearly not as good as the others, and J is the worst but it's luckily a very rare letter.

Last edited by DreymaR (11-May-2015 19:54:33)

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

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

For some reason, this reminds me of the fingering mod (by Cevgar?) that puts your hands over RSTB/KNEI instead of ARST/NEIO! Doing that, I suppose some reordering is in order. It's actually a very comfy way of holding the hands! How well it can fare is uncertain to me. Maybe it fits a double-wide mod best – although then the index finger stretches will be long for sure. This may be compensated by the middle fingers getting more responsibilities.

What an idea. :) And it goes against the grain of the DH-mod in putting even more keys on inwards index finger stretches whereas the DH-mod aims to reduce them.

Last edited by DreymaR (10-Nov-2014 20:03:17)

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

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

The alternative hand postition might work quite well, but you'd probaby want a layout designed with that finger placement in mind. It might be a bit unsatisfactory for typing A and O especially. If I was considering it, I would modify my DH mod in some way so that D and H moved to the B and K positions instead. I think I'd still prefer the standard finger technique though.

Your diagram of preferred key positions reminds me quite a lot of Workman's scoring chart. I mostly agree with it, but I think that W/Y are not particularly nice positions, and I prefer P/L to those. Possibly I'm in a minority there though.

Using Colemak-DH with Seniply.

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

I thought about W/Y and ended up feeling they're nice positions. Also, holding my ring and middle fingers between the home and upper rows makes for a comfy home position almost like the one I mentioned. However, the ring fingers are weak and dependent fingers! Both the position in itself and the total finger load need to be taken into account. Given this, the W/Y positions certainly shouldn't be used for the most frequent letters. But they're not substantially worse positions than R/I per se I think.

Yes, that hand position thing would require a total layout reworking. Not going to go near that!

Last edited by DreymaR (10-Nov-2014 20:10:12)

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

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

plus cevgars brain wave  would destroy your left pinky reaching for ctrl

us pianists have better ring fingers than most though - i also am quite fond of w and y

its definitely d and h that wrangle with me..

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978

I have lately been working on my own version of a key-effort scoring system, together with a tool for analyzing layouts.

https://colemakmods.github.io/mod-dh/compare.html

Naturally my own mod wins when using my own scoring system :-)

I realize these things can be somewhat subjective, but I was quite surprised at how relatively poorly Dvorak came out, as well as Asset coming out quite well. Workman and Colemak come out best of the well-known layouts, as you might expect.

For extra fun, if you have Java applets enabled you can also change the layout and/or the scoring system dynamically to get new results, from within the web page.

Using Colemak-DH with Seniply.

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

Looks nice, I'll have to play around with the weights somewhat!

Do you only penalize row jumps? The little and index fingers have some lateral same-finger bigrams too.

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

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

hey steve - do you have any plans to put out an xkb version for linux?

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978
DreymaR said:

Looks nice, I'll have to play around with the weights somewhat!

Do you only penalize row jumps? The little and index fingers have some lateral same-finger bigrams too.

The three bigram penalty values are for same-row, row-differ-by-one, and row-differ-by-two respectively. Good point, I ought to explain that.

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 978
bph said:

hey steve - do you have any plans to put out an xkb version for linux?

I'm not familiar with the xkb format. Although I have a linux box, it is mostly used by my wife, who has so far refused to allow me to adjust her keyboard layout!!

Using Colemak-DH with Seniply.

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

If asked nicely, I might add an option or two in my Colemak[eD] xkb files. :) That is, if there's interest for a version with my lv3-4 mappings.

Last edited by DreymaR (13-Nov-2014 09:31:01)

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

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 560

hey dreymar - i feel bad, you've done enough - that said it would be very cool to try out

i need to look at those mappings as well, the last change i took on was the wide angle mods many months ago so looking for something new to try out

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,360
stevep99 said:
DreymaR said:

[...] Do you only penalize row jumps? The little and index fingers have some lateral same-finger bigrams too.

The three bigram penalty values are for same-row, row-differ-by-one, and row-differ-by-two respectively. Good point, I ought to explain that.

Suggestion: Instead of "Same row, top <> middle, middle <> bottom" you might simply state "all other" (or "other same-finger bigrams")? It still looks a bit confusing I think, but maybe I'm easily confused! :D

Also, I'd use the '↔' symbol instead of '<>'.

Last edited by DreymaR (17-Nov-2014 20:44:42)

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

Offline
  • 0