5 votes

Engelbart's Violin

1 comment

  1. tesseractcat
    (edited )
    Link
    Because this article discusses chorded keyboards, I'm going to repost the text of comment I posted a few days ago about my exploration with just that: I purchased a ten key keyboard called the...

    Because this article discusses chorded keyboards, I'm going to repost the text of comment I posted a few days ago about my exploration with just that:

    I purchased a ten key keyboard called the Ginny like a few months ago, and it finally arrived a week ago. During those months I practiced asetniop, a ten key keyboard layout that works by using chords (pressing multiple keys at the same time) to bind more than just ten keys. For example, to press m you press n and p at the same time. There's also a bit of prediction wizardry involved, by pressing more complex chords. I've gotten pretty fast at this layout so I can type around eighty words per minute.

    The Ginny runs an open source keyboard firmware called QMK, which is really cool because it means I can totally modify it's inner workings to do what I want. By default the Ginny comes with a basic form asetniop loaded out of the box, however it doesn't include a lot of the predictive features that asetniop has. This is mainly because of hardware limitations of the atmega32u4 chip. For the predictive features to work, you need to have access to an English dictionary, which wouldn't fit, and would probably be too slow to search through anyway.

    However QMK has a super neat feature that helped me solve this problem: steno support. Essentially, you can bind keys to steno keys and it'll just output the chords pressed over serial. With this, I was able to create some pc side software to process the chords more accurately, and now I'm able to type at around eighty words per minute again, but with dedicated hardware.

    I think there are some benefits to typing with a ten key layout. First of all it's more comfortable, many people talk about maximizing ergonomics while typing and cite layouts like dvorak which have more commonly used keys on the home row, however with a ten key layout, every key is on the home row. Furthermore, with less keys, the keyboard can be cheaper, smaller, and potentially more embeddable. However it does also come with some obvious drawbacks, namely less keys - for shortcuts, and slower max speed. Also vim is much harder to use (although it's hard to say whether or not a vim-equivalent designed for a 10-key keyboard would be functionally equivalent).


    Now, some thoughts. I disagree with the premise of the article that chorded keyboards could be better for computer programmers. It's important to recognize that there's a limit to how fast human hands can output data. You can get around this limit with sufficient memorization, but there is a limit. Chorded keyboards will inherently be slower than non chorded keyboards because you have to make each chord distinct (of course, sufficient memorization could easily offset this), whereas with non chorded keyboards you can have some overlap between keypresses. I think that this is the primary reason I'm slower with an asetniop keyboard than with a qwerty keyboard.

    Anyway, with programming I don't find myself needing to actually type words all that often, instead I just use the keyboard as a big button array to manipulate text with tools like vim. I imagine the time I spend actually typing code isn't very large. I suppose the professional hardware that the author wants already exists, it's just complex software, not hardware itself. Which makes sense if you think about it, since computer programming is about manipulating information, not physical things.

    3 votes