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



  • André
    May 22, 2013 - 11:12 am | Permalink

    ASETNIOP is great! But the foreign language support requiring to select a specific language and using shotcut combos ignores the fact that very often one may need to write in a mix of languages.
    The old standard keyboards had a way to circumvent this problem by using a US-International definition which basically turned the keyboard into an old-fashioned typewriter with so called ‘dead keys’ for accents like ‘, `, ^, “, and a few more (less straightforward ones).
    A ‘dead key’ way of entering accents (i.e. accent before character, e.g ‘e -> é ) allows an easy way to enter accented characters while typing.
    ASETNIOP would become very versatile – no need to remember codes for accents or accented characters – if ‘dead keys’ would be supported as one of the language modes.

    Thanks in advance for reading this, and (I hope) for considering implementing this!

    • johnzdennis
      May 22, 2013 - 11:22 pm | Permalink

      Hi Andre,
      I didn’t realize that the accent was typically entered *before* the key – as things are currently coded, if you enter the letter (say, “e”) followed by the accent code (say, 278 for acute) you’ll get the accented character. Ultimately the plan is for accents to be entered by handwriting recognition instead; you can test this out with the keyboard version ( by entering a letter followed by drawing the relevant accent mark with your mouse anywhere in the left-hand third of the keyboard – here’s a little video showing the concept: It’s not particularly practical for a keyboard/mouse setup, but it’s going to be gangbusters for a gesture recognition application. I’ll try to get things updated to reverse the order (i.e. accent is entered first) though it may take me a little while. Don’t be shy about bugging me though.

  • Leave a Reply to André Cancel reply

    Your email address will not be published. Required fields are marked *