Getting closer to final design (PKB part 8)

Continues from part 7

Just a roundup to bring things up to date. At some point between my last post and now, I started helping Ian Prest with his Keyboard Layout Editor website. So this has resulted in a more rounded version of my design.

I won’t bore you with every little changes but the bigger steps were adding Tomatoro buttons for start/stop and end. The idea is that there is a built-in timer for the Pomodoro technique as an aid to productivity (or to limit goofing off, if you like).

PKB 1.86

KLE was now showing the author and title of the design so I removed it from the space bars. I then helped IJP implement backgrounds, so we could get something more realistic like this:PKB 1.90

This also has ‘clarity’ icons on the shift keys… showing that you need to press shift-shift to get CapsLock, and shift-shift to revert. Also swapped the Insert/Overwrite and DeleteRight buttons around, to make the DeleteRight button more thumb-friendly, following a suggestion on Deskthority website. Added multimedia control glyphs as the numpad, and marked the A key for ctrl-A == “select all” … best icon I could find. There doens’t seem to be a standard glyph for Select All.

Following discussions with IJP, we decided to try out “invisible keys” which would allow us to place graphics effectively anywhere. This next version uses this technique to place a logo and LEDs. IJP then did some major restructuring of his code, and I had trouble patching in what I had done into it, so he wrote his own version for invisible keys, which still work in the same way.

PKB 1.93

It also has the international ‘Exit’ symbol on the Escape key.

There were assorted minor tweaks, like moving the SysReg and Break glyphs to the “ctrl” spot on the keys, indicating you needed to press Control+key to access them. Dropped the navigation on the numpad, since everyone uses a mouse or trackball now and that legacy support is not really needed anymore. Which means I could drop the numlock LED, and replace it with a Tomatoro timer LED instead. Split the Play/Pause multimedia keys into two, although probably one would work just as well. Flipped the Tab key directions on the right hand side tab key to be the same as the Backspace/DeleteRight key above it. Made the Control key logo blue, as well as everything connected to it. This was only possible after IJP added unique colours per legend support in KLE. Also made the QWERTY legends red. The QWERTY layout is there for in case I find myself in a situation where the OS does not understand the key mapping, or whatever reason I need to toggle the keyboard back to QWERTY. Still need to figure all that software out. 🙂

PKB 1.99

So that’s where I am now … have made some enquiries regarding CNC routing the case. Have bought the wood for the case … got red Mahogany as in the picture. I envisage the front to be gently sloped down (as per original Microsoft Ergo keyboard), with the numpad area a plateau, and the sides sloping down gently away from it.

Continues in Part 9

7 thoughts on “Getting closer to final design (PKB part 8)

  1. Was rather surprised you went with Workman rather than Colemak, since if you switched between this keyboard and a “regular” one you will have to fall back to poor old Qwerty. From my research there is a minor modification to Colemak that gives it the advantages of Workman without some of the tradeoffs, but to each his own.

    Your design is reminiscent of the Maltron pretty strongly with a completely rearranged layout. I do think their well shape could help with the ergonomics, or something like this gentleman has achieved.

  2. Hi
    Thanks for the feedback. What teak to Colemak? I admit I did try using Colemak once (remapping my MS Natural Original), but gave up before I got used to it. I have not printed the keys yet so am always open to good ideas. I actually have moved the space bars because I came to realise that they are too ‘under the hand’ and not where the thumb is naturally.

    As regards the Maltron well, I have considered it but not yet attempted it … I still need to make the first prototype, and need to figure out how to do 3D CAD for that… 🙂

    That Ergodox keyboard is nicely done… I’ll probably need a few attempts to get something like that :-). I have bought some red mahogany in the mean time 🙂

  3. hi Ian Doug, been a while since last we chatted.

    i read your entire series on keyboard making yesterday.

    here’s some random comment.

    Some of your labels/icon are non-standard. One can’t understand what they are until reading about it.

    In the final version of your programmer’s keyboard 1.99, i notice:

    • you have the delete ⌫ and forward delete ⌦ printed on each key. I think just printing one of them is better, because it’s more understandable. So, upper left would be just ⌦ and uppre right just ⌫. People will know about shift reverse implicitly.

    Actually, more importantly, i think if these two keys are adjacent, it’d be more efficient. Because they are often used together.

    • similarly is the tab key. i think i prefer a key with a single lable ⇤ or ⇥. This icon used by Apple. Just arrow without the bar is non-standard. Typically on PC keyboard it’s ↹. (you have keys labled ⇤ ⇥ green on the bottom left. i think you have explained what they are in your article, but without rechecking, am not sure what they are, since you already have home/end.)

    • the star war rebel aliance bird symbol for Win/Cmd key. Maybe it’s a good marketing. I’d prefer going with the more standard/universally understood ⌘ (i don’t think Apple has legal rights of using that on keyboard, but i don’t know.). or ❖ or ◆ (both are also common for one-off keyboards).

    • Your esc key icon is also non-standard. Perhaps this ⎋ will work. This is standard, and used by Apple’s international version keyboards.

    • your menu/app key ▤, is shared with the cmd key. I probably missed something in your article. Was it shifted version? To me, that key is the MOST important key, thus should be a key by itself. Because, that key, is a unique lead key, can be used in emacs, vim, for all their commands. Was used in Windows before too. So, instead of holding some modifier, one just type a sequence of keys instead, starting with the menu key. (or, some other key in similar easy position.)

    • i noticed many keys are duplicated. Including: backspace, return, space, and also the number 0 in 3 places. Some of these, such as return, are not used frequently to the degree to merit 2 positions, i think.

    • the undo and redo, i think better to have them adjacent.

    • the delete and forward delete, i think better to have them adjacent, same with the forward/backward tabs. So, maybe, on left hand side it’s just tabs, right hand side deletes. For the left tab key, i think statically it’s rarely used. So am not sure it warrant a physical spot. Having both forward/backward tab seems serve just esthetical purpose.

    here’s something i think that’s more critical.

    • your bracket keys. They are the most frequently used symbols for programers. I think on your keyboard it’s pain to reach. I use TEK for about 3 years now, and i find that the middle keys, are a pain, when it is used frequently. Specifically, the backspace key on TEK. On TEK, it’s even less reach than your bracket keys. So, i imagine, using your keyboard, the hands would be constantly flying all over.

    • statiscally, the parenthesis () is far more used than [] {}. So, looking at your positioning, it seems better to swap at least () with {}, so that the more frequently used () is closer.

    • also, i think the brackets should be adjacent. Though, esthetically less pleasing, but i think more practical. Because often people want to press them in sequence. Sure, using left right hand sequence is good, but i think adjacent by single hand is more convenient and efficient.

    • the other thing is that, your keyboard, is radical, but doesn’t have thumb keys! I think, just a few thumb keys for each hand will be more efficient than the whole elaborate design. (compare keyboardio, ergodox, maltron/kinesis, esrille, and history of japanese TRON series of keyboards.) I think multiple thumb keys is winning design with respect to efficiency.

    For example, you have shift and control in traditional positions. My thinking is that, on one hand your keyboard is rather radical, that only very dedicated keyboard nerds will give it a try (for example, your keyboard is physically very different, but also, using a rare layout the Walkman). On the other hand, being so radical, yet it doesn’t provide radical improvements such as thumbs for shift and control. What am saying is that, lots thumb keys is the tried and true design, and i think that we can say it’s been verified experimentally.

    of all the above items, i think the multi-thumb key is most important by far.

    PS i wrote this rather quickly. Not having taken time to re-check/verify what you said in your series of articles, and didn’t edit to make it sound more social. Please just take it as grain of salt. It’s just my gut feelings spilled out. (also, i tried to put each idea in a item by itself, if that may be of use.)

    • Hi Xah
      Let me address at least some of your comments…:-)
      Regarding the non-standard icons … in my latest version (not yet published) I have reverted to more standard (as per Unicode) icons. I was loathe to use the “place of interest” sign since it seems to connected to Apple. The Rebel Alliance sign I stumbled across on the web, liked the design, and only then found out where it came from. But although I think it is “pretty” and OS-neutral, I think it will mean nothing to most people, and possibly too much to others. Also runs the risk of lawsuits etc… so I have decided to go with “Place of Interest” sign as per Apple.

      I never used the Unicode Escape because I could not find a font that had a decent version of it in. However as the facilities of KLE improved, and we added the character picker and the assortment of keyboard symbols, it became possible to use the Escape glyph.

      I have also replaced the “Magic” key with the tilted diamond (aka Hyper/Super/whatever) from the old design keyboards. My original intention was to use it as a modifier for the keys labelled in purple. I have since learned that one is supposed to access them via alt-gr+shift, but I will see if I can persuade XKB to treat the hyper/super key as equivalent (just so that you don’t need to do finger gymnastics to access those things… ). My current version has added a lot that needs to be accessed like that (more punctuation, Greek letters, Maths symbols)

      My tab keys now have arrows with bars.
      As I alluded to in a comment on your site, part of the problem with current keyboards is that the keys are badly labelled. Pressing the key marked N gives you n. So I tried to label them consistently.
      Bottom left: press the key
      Top left: press shift + key
      Bottom right: alt-gr + key
      Top right: hyper/super or shift+alt-gr + key
      Middle: shows what cntrl + key will typically do.
      The same logic applies to the other non-alphanum keys, so tab, del/backspace etc are all marked with the same reasoning.

      Regarding placement of certain keys, I tried to make it ambidextrous, so that left and right handed mouse users would have equal facilities. This also applies to the Enter key.

      Regarding the Menu key, your opinion took me by surprise. In truth, the Menu key is something I never use. KDE typically wants to map it (or the Right Win key) as the Compose key. When I was drawing up the design, laptops started appearing WITHOUT the menu key, and AFAIK Microsoft has also deprecated it. So instead of just dropping it myself, I kept it, but put it on another little-used (for me) key.

      Regarding brackets etc, I think this is going to vary by use case. AFAIK you use VIM and EMACS a lot, I hate both (blame Edlin from MS). Nor do I code in C or cousins, but in HTML, PHP and JavaScript. I’m also not a touch typist in the true sense of the word … I frequently hit wrong keys. And lastly, depending on what I’m doing, I’m frequently using the mouse as well. Point I’m trying to make is that my hands move around a lot anyway (expect when writing lots of prose like this, which I don’t do very often), so it didn’t seem like such a big deal to move towards the centre to hit the brackets keys. Possibly when I get to having a working prototype to play on, I will see that it is a problem.

      Yes there are three zeroes. I tried to keep the traditional numline, just for consistency. However I have often wished there was a 0 at the left where it belongs (I guess this is the Typewriter ghost coming back again) and now I have the opportunity to put it there …

      The bottom left arrow keys are supposed to replace Home and End, but without needing ctrl.
      Up == start of document == ctrl+home
      Down == end of document == ctrl+end
      Left == start of line == home
      Right == end of line == end
      Reading your blog today it seems Apple does things a bit differently. Above is as I use the keys in KDE (and I think OS/2 and DOS/Windows work the same).
      Also if you are left handed you could swap those functions with the normal arrow keys on the right, if you liked (not sure if this will be via XKB or something in the controller … have not got there yet).

    • Hi Xah

      Regarding Workman…. I read quite a bit on alternatives, including the various sites that attempted find an optimal layout. At the end of the day, it seemed like Workman-P would be most suitable.

      However I have not typed much on it yet. I did try mapping this keyboard to it, but IIRC all the alt-key functions we use to access the menus (eg alt-f, alt-p, alt-o etc) were broken because the apps were intercepting the scan codes rather than the letters assigned to those codes. It may also not have worked outside of KDE, this is probably my ignorance of how Linux handles keyboards. So yes I had some problems.

      Anyway, over and above that, in recent times I’ve discovered that there are possible improvements to Workman, eg
      . I also stumbled across another site which attempted to optimise layouts, and which at least considered non-traditional-slab layouts.
      in particular, this post:

      which kinda made my eyes pop … as far as radical goes. It’s also something I could experiment with. In truth I have been much more focused on the non-alpha design elements than the alphas, so I need to sort that side out…

      So what I think I need to do is get some sort of ‘layout evaluation’ software running and see what it thinks of my layout. I realise that results are going to vary greatly depending on the settings of the program, what algorithms it uses, and the corpus that we feed it to analyse. I’ll need to find some whacks of code typical of what I do to analyse.

      Speaking of brackets, I actually want to switch from PHP to Ada, which does not use curly braces at all… (due to there being a global shortage of curly braces… 🙂 )

  4. Hi Xah
    Thanks for your long and detailed comment. I actually looked at it right after you posted it, and realised that composing a proper reply would take some time, and then it kept slipping my mind (along with not finding the time).
    Will see if I can reply properly soon.
    Thanks, Ian

Leave a Reply

Your e-mail address will not be published. Required fields are marked *