Penti Logo

Penti Chorded Keyboard


   Chord                        PUNCT      DIGIT      ALTGR      FUNCT
   --------------------------------------------------------------------
   01   - ---#         N          )        RIGHT        ñ         NUM
   02   - --#-         I          !          3          í          F3
   03   - --##         G          =          9          ĝ          F9
   04   - -#--         E          [          2          é          F2
   05   - -#-#       RESET      RESET      RESET      RESET      RESET
   06   - -##-         O          |          8          ö          F8
   07   - -###         M          >          -          —         F12
   08   - #---         S          *          1          ß          F1
   09   - #--#         J          ;          :          ĵ
   0A   - #-#-         C          ]          ,          ĉ         COPY
   0B   - #-##         V          (        DOWN         ŭ
   0C   - ##--         L          _          7                     F7
   0D   - ##-#       RESET      RESET      RESET      RESET      RESET
   0E   - ###-         U          &          0          ü         F10
   0F   - ####         K          @         DEL
   10   # ----       SPACE      SPACE      SPACE      SPACE       NEW
   11   # ---#         D          /          .
   12   # --#-         A          `          6          ä          F6
   13   # --##         Y          ^         UP          ÿ
   14   # -#--         R          $          5          €          F5
   15   # -#-#       RESET      RESET      RESET      RESET      RESET
   16   # -##-         B          {        LEFT
   17   # -###         T          %          ~
   18   # #---         F          ?          4          ¿          F4
   19   # #--#         H          #        HOME         ĥ         HELP
   1A   # #-#-         Q          '        PGUP                   QUIT
   1B   # #-##         X          \        PGDOWN
   1C   # ##--         Z          "         END         ŝ         F11
   1D   # ##-#       RESET      RESET      RESET      RESET      RESET
   1E   # ###-         P          }          +                   PASTE
   1F   # ####         W          <         INS

   Arpeggio
   ---------------------------------------------------------------------
   18   # #---   SHIFT      09   - #--#   ALTGR        1C   # ##--   ^Z
   14   # -#--   PUNCT      0A   - #-#-   RET/ESC      16   # -##-   ^B
   12   # --#-   DIGIT      0C   - ##--   TAB/BS       13   # --##   ^Y
   11   # ---#   CNTRL      06   - -##-   FUNCT        0E   - ###-   ^U

   Mnemo
   ---------------------------------------------------------------------
   - #---  S      # -#--  R      # #---  F      # ##--  Z      # ###-  P
   - -#--  E      # --#-  A      - ##--  L      - ###-  U      - ####  K
   - --#-  I      # ---#  D      - -##-  O      - -###  M      # ####  W
   - ---#  N                     - --##  G

   # -##-  B      - #-#-  C      # #-#-  Q
   # --##  Y      - #--#  J      # #--#  H
   # -###  T      - #-##  V      # #-##  X

   - #---  1      # #---  4      - ##--  7      - ###-  0
   - -#--  2      # -#--  5      - -##-  8
   - --#-  3      # --#-  6      - --##  9


   Usage
   -----

   The "Chord" column can be read this way:

      - ---#   Only the little finger is pressed
      - #--#   Index and little finger are pressed simultaneously
      # ----   Only the thumb is pressed
      # ####   All five fingers are pressed simultaneously

   With 5 bits we could have 31 combinations. However, combinations where the
   ring finger is up while its neighbors are down is physiologically
   problematic. Therefore, 4 combinations (those with "RESET" in the table) are
   not used for normal keys, leaving 27 combinations: 26 letters plus space.

   2-finger combinations exist in two forms: As "chord" and as "arpeggio". If
   these two keys are not pressed simultaneously, but slightly (>= 60 ms) one
   after the other, they are taken as an "arpeggio". In that case it depends on
   which finger was pressed first (the "direction"), giving two different
   results.

   For example, if you generate an arpeggio of thumb and index finger (# #---)
   with the thumb pressed first, the next character will be SHIFTed. The
   opposite direction (first index, then thumb) will be a SHIFT-Lock, generating
   upper-case characters until this combination is pressed again (or RET, ESC,
   or one of the RESET combinations (see below)).

   The same goes for PUNCTuation, DIGITs and CNTRL (control) characters.

   The keys RETurn, ESCape, TABulator and BS (backspace) are needed relatively
   often, so they have their own combination. Pressing middle and then index
   finger quickly gives a backspace, while index and then middle gives a TAB.

   And perhaps most often used is the "key repeat" function, by moving the
   middle finger down to the 6th key. This special key is necessary, because
   otherwise no auto-repeat is available. In previous versions I had
   experimented with auto-repeating chords, but abandoned it. It was too easy to
   trigger unwanted repeats. Instead, in the current chord logic a key
   combination is considered ready when all keys of the chord are *released*.

   Function keys are generated with the FUNCT prefix plus a number from the
   DIGIT column. F10 is FUNCT-0, F11 is FUNCT-Z and F12 is FUNCT-M.

   FUNCT-C generates COPY, FUNCT-P generates PASTE, FUNCT-H shows a cheat sheet
   (HELP), FUNCT-N allows decimal Unicode input, FUNCT-Q hides the virtual
   keyboard, and FUNCT-SPACE restarts it.

   Candidate (e.g. Japanese) input can be toggled on/off with CNTRL-SPACE.

   As a side effect, the arpeggios RET and ESC reset all Lock prefixes. This has
   the same effect as the RESET chords.

   Initially the letters "P E N T I" are displayed. This is an indication that
   it expects you to touch the screen with all 5 fingers in a convenient
   position. You can use both your right or your left hand. After that, the five
   virtual keys are marked as circles on the screen. The current input page is
   not resized and stays fully visible.


         Origin
         ------

   The idea goes back to a hardware keyboard available in the 1980s called
   "Octima". As the name implies, it used eight keys.

   I reduced the number of keys to five, using the same basic letter assignment.
   Instead of Octima's additional prefix keys, I introduced the concept of
   arpeggios for prefixes.

   Unfortunately, I don't have any original documentation about Octima, and also
   can't find anything really useful in the net. So I'm not even sure about the
   legal situation. I hope I don't do anything wrong here by publishing my work.
   Please use it only for non-commercial purposes!

   Octima existed for several languages. At least I have heard about English,
   French and German. My implementation is the German version.


         Mnemonics
         ---------

   To make learning the key combinations easier, Octima came with a mnemonic
   system. I don't remember well, but the english sentence was

      then lord saw big cup

   i.e. just the index finger was 't', the middle finger 'h', the ring finger 'e',
   and so on. Pressing index, middle and ring one after the other gives "the".


   I can talk only about the German systematics here. The mnemo sentence is

      sein rad flog zum pkw

   The index finger gives 's'. Pressing the index, middle, ring and little finger
   one after the other gives "sein", just middle, ring and little gives "ein". See
   the "Mnemo" table at the bottom of the "Penti" file. If you play a little with
   the key combinations, you'll see what the idea is.

   Some punctuation characters are also related to German mnemos. For example,
   PUNCT-= (gleich), PUNCT-> (mehr), PUNCT-& (und) PUNCT-@ (Klammeraffe) and
   PUNCT-? (Fragezeichen), while others like DIGIT-> (minus), PUNCT-/ (division)
   or DIGIT-+ (plus) apply to English as well. Still others are simply iconic,
   like PUNCT-! (i), or DIGIT-: vs. PUNCT-; (j). Perhaps it is best if you try
   to remember them by your own ad-hoc rules ;)

   --------------------------------------------------------------------------------

      Alexander Burger
      Software Lab. / 7fach GmbH
      Bahnhofstr. 24a, D-86462 Langweid
      https://twitter.com/Regenaxer
      abu@software-lab.de
      +49 8230 5060

Here you can download the [APK], [APK/Japanese], the [Source Code],
or watch a short demo video