Groping towards emacs

Hi all,

I’ve used the IBM model 1 or is it M, whaterver the famous old one is, and that’s why I want clicky keys on my keyboardio, but I would like to hear the case made for the quiet keys.

I’ve never used an ergonomic keyboard, but I bought the keyboardio after playing with the keyboard when the founders came to Portland OR.

I don’t know what kind of keyboard layout I want, let alone what would work for emacs. I guess I don’t want a QWERTY layout, but I guess I’m suppose to get “blank” or “dot” keys. Should I get “blank” keys and possibly put stickers on the keys depending on wether I have a QWERTY, DVORAK, COLEMAN, et. al. layout? Or should I get “dot” keys so that I have more light coming through the keys when typing at night, and then put stickers on? Or should I not use stickers on any of the keys?

Or should I get QWERTY keys, and a separate set of DVORAK keys, and a separate set of COLEMAN keys, and swap them as necessarry. Is swapping easy? Will I ruin the keyboardio? I’m not mechanically inclined.

Or should I get “blank” or “dot” keys, and have a separate piece of paper telling me what key is what letter, until I have it memorized in my muscle memory.

Please don’t give me glib advice along the lines of “do whatever you prefer to do”. I don’t know what to do and am seeking guidiance and even prescriptive advice. I’ve already taken a $300 + leap of faith in purchasing the keyboardio, and now I’m seeking some concrete pointers on how to experiement with various keyboard layouts, and how to make it work with my newbie emacs status. Also, should I get quiet or clicky keys? Also, should I get “labeled QWERTY” keys, of “blank” keys, or “dot” keys?

Thank you for your consideration.

Victor Soich

1 Like

In my opinion, key labels should be for occasionally re-positioning yourself, since when touch-typing you never look at the keyboard anyway (I have my keyboard positioned such that I can’t see it while I work). I was planning on getting Dvorak labels, since that’s the layout I use, but I’m personally leaning towards either dot or “Runes”.

My thinking is that, since I’m probably going to be remapping keys enough that whatever the default labels are won’t apply, I’ll get something that doesn’t have the “wrong” label. I’m slightly leaning towards runes since I think it’ll be helpful when learning a new layout to have some easy way of telling which key is which without like, counting.

The question is what you like about the famous IBM keyboard - the feel of typing on it, or the noise it makes, or both? Keyboardio has said they’re using Matias switches. Both should have the same (or very nearly the same) feel. Matias has a sound click on their page here that will give you an idea of the comparison. If you’re in an shared space, your neighbors will thank you for getting the quiet version. If you have a private space and really like the sound of the old keyboards, go clicky.

On the subject of keycaps, I’ve been typing Dvorak, primarily on QWERTY keycaps, since 1999. If you want to try it out (on any keyboard), check out this Dvorak tutorial. I learned via a combination of typing tutor programs and an app probably won’t run on a modern OS that displayed an onscreen Dvorak layout, and highlighted each key as it was pressed.

When Dvorak keycaps were looking iffy, I planned to request “dot” keys and use clear stickers (or a sharpy) to label them to match the customized Dvorak layout I expect to end up with. With the current set of options, I’m thinking of getting both a Dvorak set and a Runic set with the intent of using the Runic keys for positions I customize. My current keyboard at work is the Truly Ergonomic Keyboard, with some customized key positions, and stickers to match my customizations. I found that when I was learning it, having an incorrect label was much worse than a blank key.

I’ve got two mechanical keyboards now, and swapping the keycaps is really easy, no need to be mechanically inclined. I’m expecting the Model 01 to be similar.

1 Like

Swapping the keycaps only works if they’re the same size and shape, which isn’t true of most pairs of keycaps on the Model 01 (are any two of them identical?).

I completely agree with you on getting something that doesn’t have the “wrong” label.

I find I use the key labels mostly when I’m not touch-typing. I suspect most folks here primarily touch-type, but I’d be surprised if I’m the only one that occasionally does a 1-handed hunt and peck (especially when eating at the keyboard!)


I understood the question differently than you did - I think he’s asking about swapping between 2 distinct sets of keycaps, not swapping (for example) C2R3 with C4R5.


There are a number of reasons I’m going for the quiet click: when working, I’m usually wearing headphones, and listening to music. Loud clacking would be distracting, both for me, and my colleagues. At home, loud clicks would infuriate my wife. And besides, what I want from a mechanical keyboard, is tactility, and that is entirely possible without the noise. I’m using Gateron Browns at the moment, and like them, though a more noticable tactile bump would be nice. They’re still infinitely better than any other linear switch I tried.

So, my case for quiet is that I wouldn’t hear the clicks anyway, and even if I would, I’d find it distracting. Tactility is good, and desirable, noise… less so.

Anything can be made to work with Emacs. I used Emacs with QWERTY, and am using it with Dvorak on an ErgoDox EZ. Both work. You may have to remap a few things, either on the keyboard, or in Emacs, or both, to make it comfortable to reach certain combos (or use VIM-like modal editing with Emacs). Thankfully, all of these are possible, and not really too hard, either.

I wouldn’t use stickers. If you touch-type, you won’t usually be looking at the keyboard anyway. If you don’t, I’d recommend learning to, not because of the speed, but because of the comfort. While learning a new layout, be that a new physical layout only, or an entirely new thing like Dvorak after QWERTY, I found that printing the layout, and placing it so its easily visible from the corner of your eye help a lot more than labels on the keycaps.

If you hang the printed layout at the level of the monitor, to the side of it, all you have to do is look a bit to the side, to see the keys. No need to look down, and then back up, and find where you were: look to the side! I found that to be more comfortable, and faster too. It also meant that I was forced to learn touch typing, and labels on the keys did not matter.

As for which set to choose: that depends on how happy you are with the labels. I’m going with either runes, dots, blanks or translucent - haven’t decided yet, and obviously depends on the availability of these. I have no use for the others, because I’ll remap the keys anyway, and won’t be looking at the keyboard for legends, either. I’ll look at it (or rather, see it from the corner of my eye) for the lights.

If you think you’ll be okay with the default layout of symbols, then by all means, use the QWERTY, Dvorak, Coleman, etc labelled sets. But if you are going to change the layout considerably, I think that something neutral may be better. On the other hand, lots of people use QWERTY labels with entirely different layouts, so that their family, who may not be touch typists, can use the keyboard too, when its layout is switched back to QWERTY.

Swapping should be reasonably easy. I have not done any swapping on boards with Matias switches, but MX ones are easy to swap. You have to be careful, and not yank the keycaps too hard, but with a little care, changing keycaps is a safe, and easy process. If you do it gently, you won’t damage the keyboard, nor the keycaps.

Nevertheless, it’s also a time consuming process, as you have to replace 64 caps one by one. I don’t think it is feasible to do it all that often. So, I’d suggest sticking with one set. If you are currently typing QWERTY on your keyboard now, using QWERTY labels with a blank/dotted/runed alternative would be a safe choice, in my opinion. That allows you to have QWERTY labels on the alphas, and replace the others with blanks - so you’d have a mix of both. The QWERTY labels would still give you visual guidance, but using blanks for keys that you changed compared to the default layout would also mean that you won’t have different labels than the key behaviour.

As I wrote above, I’d suggest you do this anyway, even if you end up with labelled keys. Makes for a more comfortable typing experience. :slight_smile:

If you like the sound of the IBM Model M, by all means, get a clicky one! It won’t be the same sound, mind you, the Model M is loud, but if you find the sound desirable, there is no real benefit of going with the quiet one.

As for labels, for someone new to experimenting with layouts and ergonomic keyboards, I’d suggest QWERTY + one of the runes, dotted or blank sets. Which one of the three, I can’t tell, I don’t know what I’ll want myself, either. I’m waiting for pictures/videos to see how the light shines through each.

1 Like

I definitely do use just one hand when using the mouse, a pen, or drawing tablet stylus, but often I am using known key combinations and so can sort of touch type. And I am not the sort of person (perhaps you are) who can eat near my computer without producing a crumb-y, sticky keyboard, so that is right out.

necrobump for an emacs thread! Getting on ok with the default keyboardio layout, but certain things are not 100% emacs-friendly out of the box… So I’ll be doing some hacking/remapping! Here’s a short list of things that seem to not play very nice with my emacs (I’ll update as I find things):

  1. alt > doesn’t work. I think the alt modifier doesn’t combine properly with shift
  2. there is only one alt key. I like to two-hand chord the alt key like a control key.

Any other emacs users in here care to chime in?

I use evil-mode with emacs, but one thing that really really helps with chording is using the OneShots plugin; it lets you just tap a modifier key then tap the other key, which makes things much more comfortable.


Another thing that might help, which I’m eager to try is the DualUse plugin. When I get the hardware, I’m going to try putting all eight modifiers right on the home row, so chording any combination of them should be easy, except maybe all but the ring finger (I’ll probably make that control).

Putting DualUse keys on the home row might lead to too many race conditions, so I expect to move them down one row, but I’m interested in giving it a try.

I use emacs with evil-mode and have gone from using qwerty to colemak to my current favorite which is
workman. As far as which key layout to show on the actual keys I personally got both the blank white
keys and the rune keys. You never look at the keyboard when writing but for all those times when you or
others do look at it, there will be something cool there to look at. Whichever looks nicest to you is the way to go.

In emacs I use evil-mode but pretty much removed all the usual keybinding in favor or my own custom
layout where the usual HJKL movement keys would be JIKL in qwerty but since I currently use workman as my layout, its NUOI.

The idea behind my changing of the entire layout is that “mnemonics” is pointless because while it
might help you out a little bit remembering that the “p” in vanilla emacs “C-p” keybinding stands for
previous and that “b” in vi stands for back when you are first learning, after a while they will be in your muscle memory the same as any other letter you use when writing a word. So its better to choose where they make logical sense to you and learn that.

Try learning a new layout and you will see that catching up to your previous typing speed in the new
layout is the easy part. The muscle memory for all your movement and editing commands is a lot harder
to deal with, it takes longer to rewrite and its very frustating trying to. Some might recommend to just learn the new positioning instead of changing the defaults keybinding but that to me is the worst advice you could give someone. You would not tell someone who is using dvorak to stick with WASD when playing games, how can sticking with the default ever be a good idea?.

If you base your layout on position then whenever you decide you want to check some new layout that you heard about or one you made up, as soon as you do your key translation you are good to go. You won’t be able to write a single word but you’ll be able to move through and edit all your mistakes as easily as you could before.

1 Like

Tried the exact same thing with my ErgoDox when I first got it. Sounded like good idea but was completely unusable for me when actually typing fast. You simply cannot avoid accidentally chording character keys which then trigger all sorts of silly shortcuts. You can play with timeouts, but at least I never managed to eliminate the problems. Sad but true. But maybe things are different with Kaleidoscope.

1 Like

I’m fairly sure the same issues will persist in Kaleidoscope too, as we are using timers as well.

1 Like
  1. You might be surprised at how slow my fastest typing speed is. I’ve never measured, because speed doesn’t matter to me, but it probably peaks at ~40 wpm.

  2. I think @algernon made it possible to toggle DualUse on and off at runtime. I might do that when typing fast (prose).

  3. As I said before, I expect to switch it to the bottom row after testing out the home row. Those keys will be used much less frequently.

It used to be toggleable, but that ended up buggier than anticipated, and the feature has been removed since. It was less buggy than OneShot’s toggleability, so I’m not completely opposed to bringing the feature back. Mind you, you’re likely better off with an additional layer that overrides your DualUse keys and turns them into “normal” keys. That’s going to end up needing less PROGMEM space.

That’s surprising. I’d have thought it would just be a matter of a single static variable and an if statement or two. And compared to OneShot, there’s a much better reason to switch DualUse on and off.

It’s a bit more complicated, because we need to extract the keycode to pass through. (I might have exaggerated a bit, mind you, and a toggle is perhaps less code than a full new layer).

If the extra layer is not an option for you, for whatever reason, can you file an issue on GitHub? It is easier for me to remember, prioritize and otherwise work with GitHub issues than it is to try and remember stuff from the forums :slight_smile:


1 Like

I won’t know that until January, when I have hardware. I definitely don’t like the idea of having a separate layer for this, but I certainly won’t rule it out, as it’s an obvious option. It may turn out that your implementation of DualUse is just so far from what I want that I’ll want to write my own. When I have something concrete to request, I do submit GitHub issues.


the alt-shift bug is an xorg/emacs carcrash, nothing to do with keyboardio! Forgot I already fixed this garbage years ago but forgot about it in the meanwhile. add the following lines to an .Xmodmap & load every time you plug in keyboardio if anyone else experiences this:

! by default alt-shift sends ISO_Next_Group so to turn this off…
keycode 50 = Shift_L Shift_L Shift_L
keycode 62 = Shift_R Shift_R Shift_R

bonus points for figuring out the udev rule song & dance I guess.

So the only really un-ergonomic thing left with my beloved default emacs bindings are the ctrl-meta combos. These are only marginally worse than on a square keyboard so I’m nitpicking now really…