3/3. Keyboard improvement: layers

This is the final part of a three part series that details how to go about improving a keyboard. In part1, we minimized the number of keys, and in part2 we modified the key arrangement to make it more ergonomic.

Here, I detail how to access the keys that we eliminated in part 1 using layers.

Layers as a term may be unfamiliar to most people, but the concept isn’t. Everyone knows the ‘Capitalization’ layer that is accessed by holding down the Shift key. So, Shift + a = A, Shift + b = B and so on… Similarly Layer keys give access to special functions when held down with other keys.

I will also explain how to remember these layers. Keeping a cheat sheet around is always an option, but I will try make remembering them easier by using these strategies:

  1. using configurations that are familiar – the muscle memory already exists with the user
  2. if 1 is not possible, minimising the number of new placements by keeping related keys together
  3. reusing muscle memories (old and new) across layers

We start with this:

99

 

This is just a schematic of the keyboard I arrived at in part 1. It does not represent actual key positions – I tackled that in part 2.

Let us notice a few things about the layout before getting into the layers:

  1. All the usual ‘typing’ keys are on the middle 3 rows
  2. All the layer access keys (Nav, Num, Func, Sym) are on the thumb row and can be easily held down while using the other fingers to access the middle 3 rows.
  3. Modifiers are distributed across the top and bottom row.

1: Rearrangement of the top and bottom rows

 00

  1. All modifiers are placed on the top row and are arranged symmetrically in both the halves. Consequently, Esc, BS and Caps need to be moved and will be moved to a layer. We do the same with Del and leave the key open to the User.
  2. It is very easy to hold down literally any combination of modifiers with one hand while accessing any of the middle 3 rows or the thumb keys with the other.
  3. The thumb clusters have been rearranged a bit – Nav, Num and Func layer access keys are on the left side. The only layer key on the right side is the Sym key. The reasons for this will become apparent as the layers are detailed.
  4. Modifiers except Win are also present on the thumb clusters. Single modifier combos (Ctrl+J) are easy to access using the thumb keys but multiple modifier combos (Ctrl+Shift+Alt+J) are easier to access using the top row. The exact arrangement of the modifiers on the thumb cluster may be changed by the user.

The top row is the same on every layer. So in what follows, I only represent the bottom 4 layers.

2. Nav Layer

01 nav

 

The Nav layer is the most common one and the nav key should be placed where the left thumb rests – mirroring Space on the right side. We look at each half independently.

The right side:

01 nav right

 

  1. [I, J, K, L] positions have the arrow keys. Their relative positions are exactly the same as that on a conventional keyboard and need no new muscle memory apart from holding down the Nav key.
  2. On the right side, imagine a vertical through the up+down arrow keys. PageUp/PageDown and Home/End are mirrored across this axis. So if you remember one key of each pair, you remember both.
  3. On the right side, imagine a horizontal one along the left+down+right arrow keys. Tab and STab are mirrored across this axis. STab stands for [Shift+Tab]. In most situations, it has the opposite effect of Tab. If you remember one key, you will remember both.
  4. Enter is placed in the same position as on the base row.
  5. BS is placed intuitively (I think) ‘behind’ the arrow cluster. Del and App are the new positions that need to be remembered. I will get to Redo in a bit.
  6. The entire right side forms a navigation cluster similar to the navigation cluster (arrow keys + 6 keys above them) on a full size keyboard.

The left side:

01 nav left

 

  1. Modifiers are at the home positions so will be very easy to hold down in any combination with the left hand while accessing the entire navigation cluster with the right hand. Also, they are in the same positions as the top row (which is not shown here), so muscle memory is being reused.
  2. Undo/Cut/Copy/Paste are in z/x/c/v positions – so if you imagine Nav to be a Ctrl key, the muscle memory for this already exists. Select all stands for [Ctrl+a] and is often used with Undo/Cut/Copy/Paste so (I think) it is placed intuitively.
  3. Esc is a new key position and needs to be remembered, but is very easy to hit.
  4. BS, Del, Tab, STab and Enter are redundant here since they are present on the right side; but they are placed here for use when the right hand is on the mouse. Pressing Alt+Tab or Alt+Shift+Tab to change windows (on the windows OS) is very easy.

3. Num Layer

02 num

 

  1. The right side mimics the number-pad found on full size keyboards.
  2. On the right, Enter is in the same position as the base layer and BS is in the same position as the Nav layer.
  3. On the left, the modifiers are in now very familiar positions. Holding down any number of modifiers with number keys is very easy (Ctrl+Alt+1 for example). This opens up a plethora of easy keyboard shortcuts that normally require a lot of finger yoga.
  4. The other keys on the left side are commonly used along with numbers, and can be configured depending on the user. Tab, STab and Del are in familiar positions.
  5. Notice that the thumb cluster on the right side changes when the Nav layer is activated. This is done to mimic the numpad, and, if the user prefers, keys on the right can be used instead. This is the only layer in which the thumb cluster changes.

4. Func Layer

03 func

  1. F1 to F9 keys on the right side are located in the same positions as the 1 to 9 keys on the Num layer.
  2. On the left, the modifiers are in familiar positions. Holding down any number of modifiers with function keys is very easy (Ctrl+Alt+F1 for example). This opens up another plethora of easy keyboard shortcuts.
  3. The other keys on the left side are used for other common functions or for left hand access to keys that are on the right side

5. Sym(bol) Layer

04 sym

 

  1. Bracket and bracket like symbols are on the top 2 rows of the right side and are arranged in up/down pairs.
  2. The top 2 rows on the left side (except & and |) are pairs that are located on the same key on a conventional keyboard. For example pressing ‘Shift’ + ‘=’ gives ‘+’. Notice the ‘+’ / ‘-‘ symmetry that makes it easier to remember one key if you remember the other.
  3. Amongst the other keys I have put the more common keys on the left so that they form an easier 2 hand combination but some users might prefer the opposite.
  4. This is the only layer where modifiers are not present on the A-S-D-F positions, so hitting multiple modifier and symbol combos are more difficult. But note that some of these symbols are present on the Num layer and some of such combos can be accessed from the Num layer instead. For the others, all modifiers are present on the top row.

6. One more thing…

05 final

The top row is nearly redundant. It is needed for:

  1. ‘Win’ + Alphabet or Symbol combos like <Win+R>. From what I know not many of these combinations are used often. The few that are used may be assigned to the redundant keys in the function layer.
  2. ‘Tab’ + Alphabet or Symbol combos like <Tab+R>. Many people may have not heard of these, but they are becoming common amongst web apps. These combos may also be assigned to the redundant keys in the function layer.
  3. Combinations of multiple modifiers and alphabet or symbol keys like <Ctrl+Shift+Alt+A>. These can be hit using the thumb cluster, but require contortion. A few of them may be assigned to redundant keys elsewhere.

But there will always be combinations that will be impossible, or at least cumbersome, if the top row is eliminated.

There does exist a method to access these combos too – Microsoft Windows calls them Sticky keys. The idea is simple – tapping a key holds it down until another key is pressed. So instead of holding down Shift and tapping ‘k’ to get ‘K’ one may just tap Shift and ‘k’ in quick succession.

At present only one key can be sticky at a time. So tapping Ctrl, then Shift, then ‘k’ gives ‘K’ instead of <Ctrl+Shift+k>. But if this is extended to more sticky keys at a time, any key combination becomes not only possible, but easy. So one can get < Ctrl+Shift+] > by:

  1. Tap Ctrl on the thumb cluster (holds Ctrl down)
  2. Tap Shift on the thumb cluster (holds Shift down)
  3. Tap Sym (go into Sym layer in sticky mode)
  4. Tap J ( the ‘[‘ key. encounters non-sticky type key, so sends Ctrl + Shift + ‘[‘ )

It adds a step to the combo, but that is more than made up by not having to move the fingers much. I actually prefer going into the nav layer to hit the mods (rather than use the thumb cluster) because there it takes no finger movement to do that. It does add another step to the combo though.

If this is done, we can eliminate the top row entirely, giving us just this:

06 minimal

Such keyboards exist and may be found here and they look like this:

07 minidox.jpg

Series conclusion

Over the last three posts I have tried to explain why ‘weirdly shaped’ keyboards may actually make more sense than the ‘normal’ ones. We have also seen how to change the hardware step by step to make tying a better experience.

In my next post, I will describe how we can get some of the benefits of the suggestions I have made when hardware modifications are not practical (on a laptop, for example).

Advertisements

4 comments

  1. I must say I really like your approach to layers here. I just purchased an Iris as well and have an Ergodox at work. I have some similar layers on it, but haven’t felt like in getting all the yield I could be. I think I might have to go back and incorporate you ideas here. Cool stuff and thx for the ideas.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s