48 comments

[ 1.6 ms ] story [ 97.5 ms ] thread
I think chorded input is good, and I dislike touch screens. I also thought of using Hollerith chording for entering text using a numeric keypad (although a separate key will be needed for a space), rather than what most things use for entering text using a numeric keypad, which is worse, I think.
A keyboard with only a few keys for entering text is not a substitute for a full keyboard, but may be useful for small devices that only have a few keys.
I've been searching relentlessly for a qwerty chording solution that works for me. I was hoping to find something useful here, but there's only a couple of Wikipedia links that I've already scoured through. QMK firmware seems like a good solution, but it's only available on DIY mechanical keyboards or expensive ergonomic keyboards. There are a few hacks out there for other keyboards, but I don't want to brick my daily driver.

If anybody has a solution for custom chords on a qwerty that doesn't cost hundreds of dollars I'd love to hear it!

You may be able to configure Plover to suit your needs.
For English, Plover is the obvious choice. For other European languages, I have a frozen work-in-progress called Qweyboard on GitHub.
DIY mechanicals are not all that expensive, though there are many components that you can upgrade and add to costs. You do need to know how to solder.. hot swap pcbs exist for sure (allowing you to just push keys into the pads) but they do cost a bit more.

That said, the type of soldering required is quite easy and if you have a friend with a decent iron and some time they can teach you the required skill quite quickly.

Plan 9's acme editor uses mouse chords: select text with the left mouse button, then while holding LMB click the middle mouse button to cut. Click and hold LMB to select an input point, then right-click to paste the text from the clipboard. To copy text, you simply select with LMB, click MMB to cut, then immediately click RMB to paste back into the same spot while also maintaining the clipboard copy.

I use it daily and it is pretty convenient. There are other chords too, but those are the big ones.

Inspired wholesale by the same feature in Oberon.

And one of the things that makes me miss proper three button mice.

Good call, I occasionally forget how much Acme was inspired by Oberon. As for mice, I am currently using a Logitech 3-button "MouseMan" mouse via a PS/2 to USB converter, but if you want something more modern I find the Kensington Expert Mouse trackball an acceptable alternative.
I also want a proper three button mouse; I don't use the wheel and would rather have three full buttons.
I'd prefer wheel and third button.

I don't understand why mouse buttons need to be so large. Indeed, keys are much smaller, and the thumb buttons in mice are still much smaller. That's not a problem. Every mouse I've had has a comfortable spot between the two main buttons and the wheel where you could fit the third button..

I use a Ploopy that's been modified to run QMK (just needs a ISP flash, nothing crazy) and has my onboard chording engine. It's a mess, but having 2^n inputs and a trackball is very fun and hacky :)

https://www.ploopy.co/

> But it's not just music software: pretty much all the joys I've listed can be used to explain people getting so into learning Vim or Emacs.

Eh, the reason why I'm into modal editing is precisely that it doesn't require much chording. That's also why I've configured my keyboard to write all the ascii printable symbols without chording, and shift is sticky so I don't need to chord it to write a capital I.

I could imagine having a handful of simple chords, but not much more. The problem I see with chording is that it imposes timing restrictions that allow room for misinterpretation when you're typing things too quickly. And generally I find it more difficult & tense to press more than one key simultaneously.

(comment deleted)
People are still building chorded input devices. This was shown at CES:

https://www.charachorder.com/

Mobile devices lack good input methods. There’s a possibility they might prove useful for those on the go.

This looks less like a chording keyboard (which tend to have fewer inputs), and more an evolution on the "Data Hand" keyboard (which allows access to every character by moving fingers in different directions).

ref. http://octopup.org/computer/datahand

It looks like both. You can move keys in multiple directions, but you also get chorded input:

“ Over 17 Billion (17.1529*10^12) possible chord combinations per profile."

You can do the same with a standard keyboard and drivers - such as plover, autohotkey, etc.

36! is a pretty large number as well. ;)

This isn't an attempt to denigrate the product, it does look nice. One of my favorite chorded input methods was the old steam controller text input that combined 8 positions on the left stick with the right 4 face buttons of a standard controller. But it's design is closer to a standard keyboard than chorded keyboard.

Yes, but I don’t want to carry a standard keyboard with me.

That’s why I mentioned usage with mobile devices.

I’d like to sit on a park bench on a nice spring day and write my blog with my phone.

Starbucks, library, picnic table, deli, ....

I would personally think that the use of joysticks would not work exceptionally well with a "park bench" scenario, but that's me. I'd probably look into the Twiddler, or one of the single-key-per-finger options myself.

Personal preference and all that. :)

I can add to this praise. I have been using key-chord-mode in emacs for the last 7 years. Love it.
The older I get, the less I like key chording. This is particularly exacerbated by the lack of a common key chording scheme between Windows, Linux, and OSX. It becomes a mental stutter as I have to constantly override my muscle memory. It's probably why I like VIM editor schemes so much - there's significantly less chording required.

I've also noticed the preference come up when playing games. Ideally, I would simply assign additional abilities to modified keys, but for the life of me, it's just simpler to assign them, one to one, to keys on the keyboard. My hand needs to move around the keyboard a bit more, but it has to contort a lot less.

Also, it's somewhat telling that some the fastest typists in the world don't use shift - they use caps lock.

ref. http://www.seanwrona.com/typing.php the final paragraph

I don't doubt the report that Wrona is using caps lock instead of shift, but it baffles me. How did he manage to make that faster? I only use left shift, which is pretty similar except he has to hit twice as many keys to accomplish the same thing.
I've mucked around with it, so speaking only from that mucking it offers two things:

Your hand is not anchored to the shift button. You can use one finger for the first press of capslock, and another for the second, based on where the previous and next letters are (this is a reference to the typist using any finger to hit any letter).

Using shift is still three actions: for the shift button it's a press and hold followed by a timed release, plus a press of the target letter. Given this, the "press press press" rhythm matches the rest of the typing flow better than "hold press release".

Better compromise is sticky shift for when you just need to capitalize one letter. Then it's just press press.
I would agree, but that's not a feature available by default on most (any?) keyboards. You'd have to enable it via driver software.

Since we're looking at competitive typists (what a world, eh?), they're probably not allowed such things when being measured.

I don't buy this answer. If the shift button is three actions then the capslock is four.

Shift: Press -> hold -> release

Lock: Press -> release -> press -> release

Both cases require timing. I'm not convinced he's faster because of capslock, he seems to be faster in spite of it.

I also use a hybrid typing style. For example, the word "server". The first time I strike the "e" with my middle finger and the second "e" is with my ring finger, freeing my middle finger to type the final "r" because my index finger is still at the lower row after typing "v". Surely he uses this style of non-traditional touch typing for words like "Azure, Qatar, Zaire," but I think the flexibility of finger choice is the secret to success, not the capslock key.

So, I think the bigger difference is that there is no timing required on the release (short of "don't trigger auto-repeat"). Just as we (assumption alert) don't care about the timing of releasing the letter or number keys while typing, they don't worry about the release timing of the "shift/capslock" key when they're typing. To them, it's just like typing 'wow' or anything else with a repeating letter.

I also imagine it makes typing out acroynyms a lot simpler as well. For example, I hold down left shift when I type NASA (left shift since I hit the 'n' with my right hand), and contort my left hand while being sure not to release shift to finish the word.

In any case, it's mostly my own conjecture - day-to-day I can't type very accurately without relying on coming back to home; without using the same fingers for the same letters all the time.

I love key cording but use it on actions I am likely to repeat thousands of times if not more. Yes, they are all inconsistent between systems but how many times do you switch systems? And even if that happens on a daily basis, say use one program from one system and another one from a different system, it is still a net gain to learn the shortcuts for things that are likely to be used a lot.

I get tripped off a bit when switching keyboards, between desktop and laptop. Still, it is worth the effort IMO.

> how many times do you switch systems

Daily. Am I ever thankful that VIM is (mostly) the same across OSes. :/

Work: OSx

Play: Windows

Hobby: OSx terminal (effectively Linux)

The bigger problem for me is that muscle memory between OSes is broken by something as simple as "how to do I get to the head (or tail) of the current line I'm on?" On Windows, it's Home/End. OSx is Cmd+Left/Right. Terminal, it's Ctrl+A/E (or Home/End, sometimes).

> OSx is Cmd+Left/Right. Terminal, it's Ctrl+A/E

It’s also Ctrl+A/E most places in macOS - they’re Emacs keybindings, and lots of those work systemwide in macOS.

Is Home/End not universal? Besides one very broken shell session to some old embedded device over serial over telnet, I've never seen it not work. Isn't that the entire point of those keys existing?
Home, in a text entry box on OSX (including OSX native text editors), will take you (and your cursor) to the top of the document. End takes you to the bottom.

On Windows, it takes you to the first character of the line you're currently working on.

Emacs users will agree. Indeed I am 100% convinced that being an Emacs user enabled me to pick up the piano and be better at it than I was the last time I played 20 years ago.
This is fascinating and something I've wondered about. It'd make for an interesting study, and actually, I wonder if you know about any research that has been done on this subject. I'd be curious to know if the data backs up the intuition!
I don't know of any research; I base this statement purely on the intuition that piano shouldn't feel this natural to me. Typing itself could account for it, but I think Emacs has more piano-like dexterity requirements than typing in general. Another variable is that while I had't played the piano in a long time, I have done other musical things, and so just being a better, more experienced musician could also have an influence.
I used a BAT (http://xahlee.info/kbd/bat_keyboard.html) long ago for enough time that I was able to type _prose_ at about 50wpm. For that use, it was quite decent - especially if you were using some system that required a lot of mousing and didn't have good keyboard control options. There, having one hand always on the mouse while the other could provide input was faster and less frustrating than current keyboard+mouse. What was not at all good was programming. Symbols often require modifier keys; but on a chorded keyboard like the BAT, that meant two chords for each symbol: the chord to set the modifier, and the chord to choose the actual key that goes with the modifier.

Still, I think there's a lot of room for improvement of human interfaces (at least until we hopefully someday get neural interfaces which bypass hands and even eyes).

> Chorded input is rare these days - the movement of software to touchscreen devices argues against it.

Multitouch gestures are a form of chorded input, no? And one we’ve greatly under-explored, IMHO.

Probably mostly because people tend to be using either touchscreens that are mobile, or touch pads that are rather small, and so you can only fit one hand’s worth of fingers on the digitizer, and one hand’s fingers can’t (without training) do too many different things at the same time. So mostly we come up with gestures that move some or all the fingers of the hand in concert.

But if you had a digitizer surface that had room for two hands, you could do a lot with that. Moving a finger of one hand in a circle while the other swipes toward/away from it; “unfolding” something by interlacing eight fingers in a line and sliding them to opposite ends of the digitizer; etc.

(I think Apple could easily introduce these for people who own both an iPad and a Mac. It seems their Sidecar support is already moving toward this, as it sends native touchpad input to apps—acting, in est, as a large Bluetooth multitouch digitizer—rather than just doing HLE emulation + transmission of the particular gestures possible in macOS currently.)

And sure, that all sounds a bit mystery-meat at first—no clear affordances. But it’s not any more mystery-meat than voice navigation is. Voice navigation is a “grammar” on top of regular spoken-language words; you expect the user to learn language at some point. Similarly, a “vocabulary” of multitouch gestures could all be taught to the user at some point—even practiced in an OS-shipped program resembling a typing tutor. (Back when mice first became prominent, OSes shipped with mouse-requiring games specifically to serve as mousing tutors!) Then you just have to teach the users visual/symbolic mnemonics for these gestures; and then you can use those symbols as accelerator indicators in your regular menus and label text.

(Oh, and don’t get me started on what’s possible with a depth-of-field sensing camera, ala Windows Hello. I’m constantly surprised that competition isn’t already heating up to be the first OS to natively support American Sign Language watched-gesture input.)

Yup, exactly this. The fact that most iPad "creativity" apps (looking at Procreate, Notability, Photoshop, etc) are using essentially the same set of interactions as we have on the Mac at the moment (limited to a single input method at a time) means that despite having "10x" the available "interaction bandwidth", we are using only 1/10th of it. Gestures are problematic because of their lack of discoverability, but there are definitely other (even simpler) ways to achieve this (can't really say too much since I'm working on a product in this space).
There have been a few 'keyboards' over the years that are nothing more than very large touchpads with some raised areas for finding key edges. They have all failed spectacularly. (all the ones i've seen have supported multitouch gestures and tap for type)
Many keyboards support NKRO today, so it should be possible to have chords defined. for little used keys (some people don't use numpad much for example) it could be very interesting.
Of course lots of musical instruments require chorded inputs. Pianos, guitars, trumpets, most woodwinds, even trombones.
I picked up this half keyboard for $30 at an embedded conference in Boston probably 15 years ago. It's amazing how quickly your brain 'gets' it and your typing speed ramps up: https://matias.ca/halfkeyboard/

I'm guessing at some point they got approved as an assistance device, because now they sell for $500. Presumably it's insurance companies that are paying at this rate.

We need foot pedals for Dvorak/QWERTY switching _in charwise situ_ … virtuosos of the finger arts, please stand up. And modes, obvi prose v code.

asking important question, can wha-wha be incorporated? Markdown, are you there?

I wonder if the advent of VR/AR will eventually result in some form of chorded keyboard input gaining widespread popularity. AR/VR devices are often used in situations where you don't have access to a physical keyboard, and some standalone VR headsets already feature early forms of hand tracking which could trivially allow for simple chorded input once they are a bit more refined.

Its possible people will just get used to typing on simulated virtual keyboards, like they did for on-screen keyboards on mobile. However, simulated QWERTY input in VR is significantly worse than it is on mobile, since unlike on mobile there's no tactile feedback at all; not even the rudimentary feedback of your fingers touching a flat surface. Whether that added inconvenience is enough to overcome the friction of users needing to learn a whole new input method to type with though is uncertain. In the short term I don't think it is, but long term? Hard to say.