Completed Predictive Dictionaries

Apologies to anyone who has been following for the lack of updates; I’ll try to be better about things and expect I’ll have more time to work on things moving forward.

I’ve finished up my predictive texting system; in case anyone is interested the completed material is here:

It’s not particularly well-documented, most of it is pretty meaningless until it’s been integrated into ASETNIOP, at which point it will be in the background anyway. I’ve got dictionaries for German, English, Spanish, French, Italian, Dutch, Portuguese, Swedish, and Turkish (which, as it happens, does not do well in predictive context). The text corpuses (corpi?) I used were built using .epub novels downloaded via torrent. I did the best I could with what’s available; if you have access to a fairly large collection of novels in any of the unrepresented languages that use a Latin alphabet (i.e. Norwegian, etc.) and can make them available to me I’m happy to add as many languages I can find.

Another pretty major update – I’m planning to make an change to the standard ASETNIOP layout. I’m going to basically rotate the K, Z, and ! keys. The middle-pinky combination on the same hand is pretty uncomfortable and K is too common of a letter (even in English) to rely on that, so I’m putting the exclamation point there, since it’s so much less common. Z will be moving to !’s old spot and K gets Z’s old chord. Final chords are:

Z: left pinky, right middle

K: left ring, right middle

!: right middle, right pinky

I’ve started practicing it myself (though I haven’t coded anything yet) and it’s not a big deal – it takes some getting used to, but will be worth it.


Under construction: JSON arrays for all language layouts

I finished figuring out what I’ll need for components, and I’ve written the JSON generator software, so I’ll soon start posting JSON arrays of the various ASENTIOP layouts for each language.  This won’t make much of a difference on a basic level – all of the basic keys and chords will work the same, but it will mean that stenography maps will be available that are specific to each language (as opposed to English and the hodgepodge of other stenography codes that I’ve assembled).  It will also produce a slight improvement in the autocorrect process, and of course it means more languages will be available.  I’ll be putting together a separate section of the website that will document all of the steno codes for each language, which will be online sometime in the next few weeks, I hope.

Don’t forget that there’s a Chrome Extension of ASETNIOP available.  It’s nice and unobtrusive, so feel free to give it a try and push it out of the way when you don’t need/want to use it.

Keyboards News

ASETNIOP Chrome Extension

In response to the recently announced Haptix Project’s intention to use the ASETNIOP keyboard as part of their operating system controls, I put together an extension for Google Chrome that allows users to practice ASETNIOP on a more casual level – you can use it when filling out various text boxes and such, and it’s easy to activate and deactivate.

Here’s the link:

Instructions are included and should launch automatically when you download and install it.


One-Dimensional Keyboard Hack

The concept for a one-dimensional keyboard called Minuum completely blew up the internet last week.  It works based on the principle of disambiguation, which is something I explored quite a bit during the early stages of developing ASETNIOP.  The video for it was very slick, but I thought it was kind of sketchy that the designers built up so much buzz (and collected a bunch of money) yet weren’t actually willing to let anyone try it out.  So I made my own version.




Some caveats:

  • The word suggestions are based off a dictionary of 5,000 words, gathered from subtitles and graciously donated to the web by Hermit Dave.  The words are ranked according to frequency of use.  A smart dictionary – one whose suggestions are based on context and grammar – would provide better options, but would be orders of magnitude bigger, so the number of choices might be overwhelming.
  • My program prioritizes complete words over partial suggestions, so if you’ve completed a word it will be immediately accessible.
  • There are only six choices available (the autocomplete suggestion and the five boxes below) – there’s a small bit of text that shows how many additional options have been determined (but they’re not accessible).
  • The space bar will complete the word as shown and add a space.
  • There is no shift or backspace or any punctuation keys.
  • The zoom keys don’t work on mobile devices (creating a “hover” activity takes a lot of finesse) but they do work with a mouse.
  • The code is not particularly elegant – a lot of it was written using spreadsheet formulas and cut-paste-find&replace, but it should work.
  • The mobile version doesn’t work on Opera.  Otherwise I’ve tested it in other browsers on a desktop, iPhone, Droid, and iPad and it seems to work fine.

This isn’t a product release or anything (though, incidentally, I am looking to make contact with some Android developers, so if you’ve got skills please let me know), it’s just a mockup that lets you see how a system like this will look and feel in practice.  Enjoy!


Gloves News

Typing Gloves

One of the earliest proposed platforms for ASETNIOP was a set of typing gloves with sensor-equipped fingertips, allowing for any flat surface to be used as a keyboard.  In particular, with the prospect of Google Glasses truly revolutionizing the world of wearable computing, the idea of keyboard-equipped gloves is more intriguing than ever.  About two years ago I played around with the concept a bit and took apart a USB keyboard and used the circuit board with some wire and a pair of gloves to build a set of my own.  They didn’t work very well, but the ASETNIOP software has come a long, long way since then so I pulled them out of storage and gave them a try this week – they actually work quite well and they’re surprisingly fun to use.  It’s a bit of a silly project, but if you’ve got an old USB keyboard (or you’ve got an Arduino microcontroller and some electronics know-how) you can build a set at home.  I’ve included a video of the final project, and rudimentary instructions on how to put them together.

Video of the finished gloves in action:


What you’ll need:
1 pair gloves – I used a simple set of cotton stretch gloves that I got at a fabric store for about a dollar.
10 snap fasteners – Also available at a fabric store, there’s a pretty extensive variety of options available. I used something that had a simple crimping connection that you can close with a hammer.
1 USB keyboard – You’ll be cannibalizing this.
1 metal baseplate –  Anything that is big enough to accomodate both your hands (about 6″x12″ or 15 x 30 cm) will do.  I used stainless steel, but anything that can carry a current (aluminum or even copper) should be fine.
1 piece of plywood – Something big enough to hold the metal and other components.
Assorted screws and wires

First, connect the snap connectors to the fingertips of the gloves. You’ll want to put the gloves on and mark where your fingers actually make contact when pressed down, for me point of contact on my thumbs is actually on the sides.  You can attach the wires during or after, depending on what kind of snaps and crimping system you’re using.  I used some extra fabric to make a set of bands to wrap around each finger to add afterwards, these help keep the wires from floating around and getting in the way.



Next, take the keyboard apart and find the chip that controls which signals get sent to the computer. Don’t disconnect the USB cord!  One of the terminals is going to be connected to the baseplate, if you close a circuit between this and any of the other terminals it will send a code to the computer. You can plug in the USB connection to your computer and test the code outputs at  For mine, I connected the fingers to the terminals for (from left to right):

Left Hand Right Hand
Finger Key Code Finger Key Code
Pinky K 75 Thumb A 65
Ring L 76 Index S 83
Middle SEMICOLON 186/59 Middle D 68
Index BACKSLASH 220 Ring F 70
Thumb ENTER 13 Pinky J 74


Mount the chip and the metal baseplate on the plywood backing and use wire to connect the primary terminal with the baseplate (and the ground wire, if there is one). Then connect the individual wires for each of your output terminals to the fingertips of each glove; you’ll want to set things up so they stay out of your way as much as possible.


And that’s pretty much it!  Plug the USB connection into your computer, and if you used the same set of keycodes that are described above, you can go to and start using them right away!  If not, just drop us a line and we’ll get a custom array based on your own keycodes set up for you!

Keyboards News

ASETNIOP Plays All Your Favorite Classical Hits

One of the reasons why ASETNIOP has so much potential as a keyboard replacement is that it can be used on any device that has at least ten buttons (keyboards, sensor-equipped gloves, etc.) or any device that can be configured to have ten buttons (touchscreens, gesture-recognition devices, etc.).  The most recent addition to the family of available platforms is the piano.  If you’ve got your computer set up to receive MIDI input from a piano/synthesizer, you can use ASETNIOP to jot down song lyrics or messages or anything else without having to dedicate desk space to a QWERTY keyboard and make the cumbersome switch back and forth between the two.

In order to run ASETNIOP through your browser, you’ll need the jazz plugin, which can be found here and should work with any major browser.

To give it a try, you can make your way through the tutorial, or if you’re already familiar with how ASETNIOP works, you can jump right in with the basic text editor.

To show what’s possible, here’s a video of the method in action:

Keyboards News

ASETNIOP keyboard text editor

The prototype keyboard version has been updated to include some basic text editing capabilities including the following:

1.  You can use the mouse to move the cursor – just point and click where you’d like to go.

2.  You can select and edit text (cut, copy, paste, overwrite) with the Ctrl-X, Ctrl-C, and Ctrl-V commands.  You can use Ctrl-C to copy text OUT of the ASETNIOP text editor (to paste into other applications) but you cannot paste text INTO the editor…yet.

3.  A few symbols that are useful for coding have been added to the base English layout, including { and } and = and + and & and | – just press the semicolon (right ring and pinky finger) and hold to see the options – use the shift to get + and |.

A number of changes are forthcoming, including a new layout for the keyboard graphic that’s not based off the ipad design (see below) and there will be a separate “options” menu to open where you can select the language, your keyboard configuration (QWERTY, AZERTY, etc.), layout, color scheme, and a few new items having to do with the autofill and autocorrect configurations.  Please report bugs or requests!


Keyboards News Tablets

Foreign Language Stenography, Autocorrect, and Autofill Updates

AccentedASETNIOPForeign language support is here!

I’ve updated the ipad and prototype keyboard versions to include support for a number of foreign languages, including Spanish, Dutch, Italian, French, German, Swedish, Portuguese, and Norwegian.  This includes autocorrect and autofill features that are optimized for each of these languages – simply select the preferred language from the drop-down menu that’s just to the left of the shift key.

Here are some of the accent codes you’ll need (where 1 = left pinky, 5 = right index, 7 = right ring, etc.).  Accents can be added to letters by tying the letter, followed by the code for the desired accent mark.  In some cases, the accented letter can be obtained with a single code (for example, 1278 for an “a” with an acute accent: á)

378 – dot
478 – ring
136 – tilde
137 – circumflex
138 – cedilla
178 – caron/breve
278 – acute
468 – grave
248 – diaeresis/umlaut
158 – ñ
1478 – å
1678 – ø
2678 – ß
678 – ı (dotless i)

I’ve also added a few stenographic combinations for some common words in Spanish, Dutch, Italian, French, German, Swedish, and Norwegian.  They’re all grouped together in the Non-English ASETNIOP layout, but in the future there will be a separate layouts for each individual language (where the basic alphabet will remain the same, but stenographic combinations or three or more keys will correspond to language-specific words).  For now, this just a taste of what’s to come.  Each code as listed is entered by pressing all of the listed keys as a combination, with the numbers corresponding to fingers (i.e. 1 = left pinky, 5 = right index, 7 = right ring, etc.).  Thus the French word “je” can be entered with a single action of pressing the 2, 3, and 5 keys (the S, E, and N keys, or more easily remembered, the J chord and the E key together).  Words that are separated by a slash (/) consist of left-hand and right-hand versions; if the first key pressed is a left-hand key, you’ll get the first word, if the first key pressed is a right-hand key, you’ll get the second word.

je: 235
dat: 1234
wat: 124 + space
van: 1456
zijn/hij: 256 + space

ich: 2456
das: 123
ist: 246
du/und: 2357
zu: 2367

je: 235
suis: 23567
el/le: 367
al/la: 167
est: 234
pas: 128
vous/och: 24567
tu: 457
que: 1357

que: 1357
al/la: 167
el/le: 367
qué: 13578
por: 3478
les: 2367
sl/los: 267

che: 23456
di/id: 236
al/la: 167
qu/una: 157
sono/us: 257

jeg: 23457
du/und: 2357
ikke: 368
har: 13456
til: 467

jag: 12457
du/und: 2357
vous/och: 24567
vad: 12346


Keyboards News Tablets

Updates to Javascript Versions

I’ve made a few updates to the javascript versions of ASETNIOP; the most important being that text now scrolls upwards if you fill the top area (similar to a typewriter rolling upwards on a line feed).  You can type as much as you want and then just scroll upwards and copy and paste into other applications (or just send emails directly from the javascript version).

Ipad version, as always, is here.

The prototype keyboard version is here.

Keyboards News

ASETNIOP for Windows with AutoHotKey

A number of folks have asked for ASETNIOP to be available on a system-wide basis, and I have to apologize for not having something available yet.  For now, I’ve adapted a script (originally designed by user Laszlo) that works with the free software AutoHotKey so you can practice some of the chord combinations in other applications than just the javascript demo.  To install and run it:

1.  Go to, download the program (the orange button) and install it.

2. Download the file ASETNIOP.ahk and save it somewhere easily accessible.

3. Double-click the .ahk file, and AutoHotKey will launch – you should see a little HotkeyLogo logo in the lower right-hand corner of your taskbar.

4.  Voila!  You can enter text with the ASETNIOP layout using either the ASDF-JKL; home keys, or the QWER-UIOP top row.  All of the bottom row keys are active as SHIFT keys.

5.  To turn off the script and return to regular typing, just right-click on the HotkeyLogo and select “Exit.”

It’s far from perfect – you will most likely notice a few issues with the processing, and the autocorrect and autofill options aren’t available, so you may prefer using the prototype javascript version – but the advantage of the AutoHotKeys script is that you’re not limited to using it within a browser.