Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate

Chording Script

  • Please log in to reply
18 replies to this topic
  • Guests
  • Last active:
  • Joined: --
I've had a longstanding interest in various methods of rapid writing and typing. Chording offers some amazing opportunities, if it could be made to work reliably. I think the ultimate would be to use AHK for some form of stenotyping, which, in theory, could allow typing speeds of 300 wpm. One proudly geek stenotypist, Mirabai Knight, has developed a system called Plover which does just that, but right now it only works on Linux.


For those who don't know how stenotyping works, it's what's used on those court reporter machines. The device has an array of 22 pianolike keys, which can be pressed in any combination. Words are typed a syllable or two with each stroke, with the left hand selecting a chord that represents one of a few dozen starting consonants, the right hand creating the closing consonant, and the thumb selecting the vowel in between. Old systems produced a reel of tape which only a stenotypist could read, but the modern machines convert the symbols into readable text. This is used for live closed captioning on TV.

There's no reason that stenotyping couldn't be done on other designs of keyboard, or on a QWERTY keyboard. A similar system, using a different keyboard, is the Velotype. All of these require a keyboard that can handle chords.

Modern keyboards are pretty good at allowing multiple keypresses, although most have some "ghosting" combinations, so that pressing three or more keys may cause one of them to be ignored. This is a limitation caused by the wiring of the keyboard itself. This site from Microsoft explains it well:

http://www.microsoft... ... ained.aspx

There are some keyboards, typically designed for gaming, which overcome this problem, and would be ideal for chorded input. One (and among the cheapest) are Microsoft's Sidewinder series. On one of these, you can press more than 20 keys simultaneously, and the keyboard will correctly output all of them. (I just bought the Sidewinder X4, and it seems like a decent keyboard.)

I think what would be required at the AHK end is the ability to type an arbitrary chord of keys, then output them in a standard order when the keys are released. The chorded key combinations could either be converted to regular words in AHK, or using some third-party text replacement program, eg, the text replacement in Microsoft Word. (This type of work requires a large dictionary of words - in my experiments with AHK, the speed dropped dramatically once the number of substitutions exceeded a few hundred.) A simple possibility would be to use AHK to output all chorded combinations in a standard format, so they are not confused with regular words. So, the combination "as" might be output as #AS# to distinguish it from the regular two-letter word "as". This would make it easy to automatically replace chorded combinations, without worrying about replacing regular words.

The beauty of these kinds of systems (and this is something that isn't exploited by traditional stenography) is that they could be used very smoothly in conjunction with regular QWERTY typing, because QWERTY never uses simultaneous keypresses of letters. So, you could type common words using chords, and rare words by using the keyboard, producing a system that is fast to learn, but where you can fall back on regular typing whenever you don't know a combination.

Duncan McKenzie

  • Members
  • 60 posts
  • Last active: Feb 26 2013 03:59 AM
  • Joined: 30 Jul 2009
Does anyone know how to make this script work with other scripts that uses the $ sign for a hotkey?

  • Guests
  • Last active:
  • Joined: --
I think this would be fantastic for text adventures, Because it is even faster than hotstrings.

  • Guests
  • Last active:
  • Joined: --
I tried to use this via an #Include line, and it wouldn't work. It only worked if I copied the entire script into the main file.

Any ideas as to why?