Speaking about LSDJ, the premiere music software for the Game Boy, George Buckenham writes:
But it also got me thinking about chorded input schemes. LSDJ is a workhorse of a program, able to do a lot of stuff. And it’s designed to let you do that stuff quickly – to let you iterate fast, put down a tune fast, adjust things while you’re standing on stage. But also… a Gameboy has 8 buttons – 4 directions, A, B, SELECT and START. So it has to make those buttons work hard. And that’s where chording comes in.
Chording is a means of inputting commands to software by holding down multiple buttons at once. Ctrl-C is an example of a chorded command. Hold down Ctrl, then press C while you’re doing it. Text copied. But you can also make chording work harder than that.
It requires a lot of planning and thinking to make a complex application controllable by only a few buttons, such as the mere 8 buttons on the original Game Boy. I wouldn’t want to be in the shoes of developers who have to make things work with limitations such as these.
As someone who’s poked around at defining easy-to-learn hotkey schemes, I can attest to how much work can go into this.
When you think about it, it’s very similar to designing Vim’s command set. You’re figuring out an effective way to allow a large number of commands to be composed using a small number of primitives and making those primitives as easy to learn and remember as possible. (Vim is definitely not perfect, as the rationale for the design of the Kakoune editor shows, but it’s definitely noteworthy.)
Counting 8 buttons on the original gameboy is so generous you should probably count the on/off switch as the 9th. The device had two buttons and a D-Pad, which I guess could be counted as 6 along with the start/select buttons, but UI wise, you really only had 3.
As for chorded input, you should really look back to the Xerox alto, with the chorded keyboard and the three-button mouse, for real PC chorded UI.
“Chorded” input? I guess from a musician’s point of view. Us programmers have called them “qualifiers” since forever. I’ve done this on most of the computers/consoles I’ve worked on – the Atari XL, the CBM Amiga, the Sega Genesis, the Nintendo 64, the Sega Dreamcast, the Sony PSP, etc. Using one of the controller buttons as a qualifier has always been fairly common, depending on how many functions the game needs versus the number of buttons the controller has. Computer games can (and often do) use the keyboard for extra inputs, but sometimes you want to keep as much control on the controller as possible so the user doesn’t have to let go with one hand, reach over, and hit a key, so you’ll do qualifiers on the controller to do the equivalent action as a keyboard key to make it easier on them. Some modern console games have so many qualified actions as to make the controller schemes a wee bit hard to learn for newbies. š
JLF65,
I concur, we don’t use the term “chorded input” the way the author does. It looks like he borrowed the term from a chorded keyboard even though he didn’t quite implement one.
https://en.wikipedia.org/wiki/Chorded_keyboard
However “qualifier”? I know what you mean, but surely you meant to say “modifier” š
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState
The exact term used varies quite a bit, so calling it just one thing is a little silly. I’ve used both terms. It can vary from OS to OS, from hardware to software, from programmer to programmer… but I’ve still never seen anyone else say “chorded” input. š
I think the “chord” term comes from Englebart’s demo, where the keyset looked like five piano keys. He didn’t use the term himself, but it’s easy to see why the term “chord” is used by some people.
Athlander,
Well, I’d argue that what the author developed is NOT a chorded interface such as the one used by Engelbart. Instead what he developed was technically a basic input modifier. Obviously they share the act of holding keys simultaneously, but beyond this they do not function the same way and I question whether the author understands how actual chorded input works.
On a chorded keyboard, there’s no special “modifier” key (like control, alt, shift, super, command, etc). The entire set of keys, or chord, represents an input, regardless of which key is pressed first. The coding and behavior is unlike the keystroke modifiers. As you mentioned, the englebart demo uses a genuine chorded keyboard as you can see at the very end of this video and it’s a completely different mode of input.
http://www.youtube.com/watch?v=M5PgQS3ZBWA
Some stenographers use a chorded keyboard, which is supposed to be very fast for those who are proficient at it.
https://en.wikipedia.org/wiki/Stenotype
I wouldn’t have any gripe with the author’s terminology if he had developed an actual chorded keyboard for his musical interface, haha. That could be interesting, something like the engelbart demo but with the input generating musical notes.