Appendix: Cheat Sheet

Check out Mirabai's Plover cheat sheet as well.

Phonetic Strokes

These are the keys and chords for all standard sounds in Plover. For example, to type 'gone', use the stroke TKPWOPB.

Rules for short vowels using single vowel keys and the EU chord:

  1. If the vowel letter in the written word appears without another vowel letter next to it, then it doesn't matter which short vowel sound it makes. The Plover key labeled with that letter is always used to stroke the word.
  2. If the vowel sound in the written word is spelled with two or more consecutive vowel letters, then it doesn't matter what spelling is used. The Plover key whose short vowel sound matches the sound in the word is always used to stroke the word.

Fingering

With three exceptions, each finger is responsible for the two keys above and below, and each thumb is responsible for the two keys to the left and right:

Fingerspelling

To type a single letter, use the key or chord for that letter on the left side of the keyboard, along with the asterisk. For example, the 'b' sound is stroked PW, and the letter "b" is stroked PW*. To get an uppercase letter, add the P key on the right side of the keyboard. The uppercase "B" is stroked PW*P.

Here is how to fingerspell the remaining English letters:

  • "c": KR*
  • "C": KR*P
  • "q": KW*
  • "Q": KW*P
  • "x": KP*
  • "X": KP*P
  • "z": STKPW*
  • "Z": STKPW*P

Steno Order

If the sounds for a word can fit into steno order, then you can type that word with one stroke:

This is equivalent to the string STKPWHRAO*EUFRPBLGTSDZ which you should memorize.

Additional ways to try to fit a word into steno order:

  • drop unstressed vowel sounds. For example, 'tablet' is stroked TABLT
  • allow two neighboring sounds to invert steno order, but only once in a word. For example, 'portal' is stroked PORLT.

Briefs

Briefs are dictionary entry that violate Plover theory in order to use fewer strokes. These are some of the most commonly used briefs, most of which don't have any phonetic alternative in the dictionary file:

'the': -T
'of': F
'to': TO
'in': TPH
'a': AEU
'is': S-
'that': THA
'with': W
'be': B
'by': PWEU
'he': E
'I': EU
'this': TH
'are': R-
'which': WEU
'have': SR
'they': THE
'you': U
'you'd': UD
'you'll': UL
'you're': UR
'you've': UF
'were': WR
'can': K
'there': THR
'been': PWPB
'if': TP
'would': WO
'who': WHO
'other': OER
'what': WHA
'only': OEPBL
'do': TKO
'new': TPHU
'about': PW
'two': TWO
'any': TPHEU
'could': KO
'after': AF
'said': SAEUD
'very': SRE
'many': PHAEPB
'even': AOEPB
'where': W-R
'through': THRU
'being': -BG
'because': PWAUS
'before': PW-F
'upon': POPB
'without': WOUT
'another': TPHOER
'against': TKPWEPBS
'every': EFR
'within': W-PB
'example': KP-PL
'others': OERS
'therefore': THR-FR
'having': SR-G
'become': PW-BG
'whether': WHR
'somebody': S-B
'somehow': SPHOU
'someone': SPH-PB
'someplace': SPHRAEUS
'something': S-G
'sometimes': STAOEUPLS
'somewhere': SWR or SW-R
'question': KWE
'almost': HR-PL
'interest': T-R or TR
'ever': -FR
'became': PWAEUPL 
'probably': PROBL
'include': KHRU
'includes': KHRUS
'included': KHRUD
'including': KHRUG
'amount': APLT
'receive': SAOEF
'received': SAOEFD
'describe': SKREU
'describedSKREUD
'anything': TPHEUG
'continue': T-PB
'continued': T-PBD
'beginning': TKPWEUPBG
'understand': URPBD
'understanding': URPBGD
'today': TOED
'opinion': P-PB
'becomes': PW-BGS
'yes': KWRE
'idea': KWR-D
'ideas': KWR-DZ
'actually': TWAEUL
'move': PHOF
'ask': SK
'unless': TPH-LS
'easy': EZ
'otherwise': O*ERZ

In alphabetical order:

'a': AEU
'about': PW
'actually': TWAEUL
'after': AF
'against': TKPWEPBS
'almost': HR-PL
'amount': APLT
'another': TPHOER
'any': TPHEU
'anything': TPHEUG
'are': R-
'ask': SK
'be': B
'became': PWAEUPL 
'because': PWAUS
'become': PW-BG
'becomes': PW-BGS
'been': PWPB
'before': PW-F
'beginning': TKPWEUPBG
'being': -BG
'by': PWEU
'can': K
'continue': T-PB
'continued': T-PBD
'could': KO
'describe': SKREU
'describedSKREUD
'do': TKO
'easy': EZ
'even': AOEPB
'ever': -FR
'every': EFR
'example': KP-PL
'have': SR
'having': SR-G
'he': E
'idea': KWR-D
'ideas': KWR-DZ
'if': TP
'in': TPH
'include': KHRU
'included': KHRUD
'including': KHRUG
'includes': KHRUS
'interest': T-R or TR
'I': EU
'is': S-
'many': PHAEPB
'move': PHOF
'new': TPHU
'of': F
'only': OEPBL
'opinion': P-PB
'other': OER
'others': OERS
'otherwise': O*ERZ
'probably': PROBL
'question': KWE
'receive': SAOEF
'received': SAOEFD
'said': SAEUD
'somebody': S-B
'somehow': SPHOU
'someone': SPH-PB
'someplace': SPHRAEUS
'something': S-G
'sometimes': STAOEUPLS
'somewhere': SWR or SW-R
'that': THA
'there': THR
'therefore': THR-FR
'the': -T
'they': THE
'this': TH
'through': THRU
'to': TO
'today': TOED
'two': TWO
'understand': URPBD
'understanding': URPBGD
'understands': URPBDZ
'unless': TPH-LS
'very': SRE
'were': WR
'what': WHA
'where': W-R
'whether': WHR
'which': WEU
'who': WHO
'with': W
'within': W-PB
'without': WOUT
'would': WO
'yes': KWRE
'you': U
'you'd': UD
'you'll': UL
'you're': UR
'you've': UF

Designing Briefs:

  • They should resemble the word somewhat
  • Check the dictionary file to see if a brief already exists - no sense reinventing the wheel
  • Ask for advice from other steno people. Take your time and get it right
  • Briefs should be easy to type and easy to remember
  • Avoid strokes that are already used for other words, or for one of the strokes of a multi-stroke word. Reusing the same stroke could lead to word boundary errors
  • Sometimes the essence of the word makes a good brief. For example, 'extraordinary' is stroked KPRAORD.
  • Sometimes a word has an unusual syllable that can be used as the stroke for the whole word. For example, 'English' is stroked TKPWHREURB, which sounds like 'glish'.
  • Sometimes the whole middle of a word can be skipped, and you can just make a stroke for the first and last parts. For example, 'mechanism' can use the brief PHEUFPL, which sounds like 'mism'.
  • Sometimes to stroke a common phrase, you can use the distinctive parts of each word. For example, 'in other words' can be stroked TPHOERDZ, which sounds like 'nords'.
  • Sometimes you can make a brief that uses more than a single inversion. For example, 'designer' can be stroked STKAOEURPB.
  • Sometimes you can make a brief that drops stressed vowels as well as (or instead of) unstressed vowels. For example, the word 'collar' can be stroked KHRAR.
  • Sometimes you can make a brief by dropping additional sounds aside from vowels. For example, 'extraneous' can be stroked KPRAEUPBS if you drop the 't' in addition to the unstressed vowels.
  • Sometimes if you find a great brief for a word, but it's already used in a dictionary entry, you could add the asterisk and get a brief that's not in use. For example, the word 'herb' is stroked HERB, but the capitalized proper name 'Herb' can be stroked H*ERB.
  • Sometimes there are single keys that can stand in for a prefix or suffix. A good example is chording the 'com-' prefix as the K key. For example, you can stroke 'compound' as KPOUPBD, 'compress' as KPRES, and 'combat' as KPWAT. Another good example is chording the 'ex-' prefix as the X key. For example, you can stroke 'exam' as KPAPL, and 'excited' as KPAOEUTD. Another good example is chording the '-ly' suffix as L (although that could be thought of as simply dropping the unstressed 'y' sound). For example, 'highly' can be stroked HAOEUL, and 'slowly' can be stroked SHROEL. The same technique could be used for other keys and prefixes.
  • Sometimes you can use the same keys to mean multiple things in a stroke. For example, the word 'dimple' needs both the 'mp' sound and the 'l' sound at the end of the word. But the 'mp' sound needs the *PL keys, which means the L key isn't available for the 'l' sound. So, just use the L key anyway, and stroke TK*EUPL. As another example, 'shmear' needs both the 'sh' sound and the 'm' sound at the start of the word. But the 'sh' sound needs the SH keys, while the 'm' sound needs the PH keys. Both sounds need the H key, which would violate Plover theory. So, just use it anyway, and stroke SPHAO*ER. (also note that the * key is used to disambiguate 'shmear' from 'smear', which is stroked SPHAOER).
  • Sometimes you can use the W key for 'v' sounds. The 'v' sound on the left side of the keyboard uses the SR keys, which are very popular letters. Sometimes you can squeeze a 'v' word into a single stroke by using the W key instead. For example, 'diverse' is stroked TKWERS, 'divorce' is stroked TKWORS, and 'diversion' is stroked TKWERGS.
  • Sometimes you can substitute OEU for the vowel sound. Since 'oi' is the least common English diphthong, you can sometimes use its Plover chord OEU in a brief, without conflicting with other words. So taking one or a couple significant parts of a word, and joining them with OEU, might make a good brief. For example, 'carbon dioxide' could be thought of as being exemplified by its 'k' and 'x' sounds. Then by joining these with OEU, you get the brief for 'carbon dioxide', which is KOEUBGS.

Prefix And Suffix Strokes

Prefix and suffix strokes prevent Plover from getting confused about where to break words. Learn the ones you need, and gradually build your prefix/suffix knowledge in order to increase your typing speed.

Prefixes:

  • 'un-': UPB
  • 're-': RE
  • 'in-': EUPB
  • 'im-': EUPL
  • 'ir-': EUR
  • 'dis-': TKEUS
  • 'en-': EPB
  • 'em-': EPL
  • 'non-': TPHAUPB
  • 'over-': AUFR
  • 'mis-': PHEUZ
  • 'sub-': SAUB
  • 'pre-': PRE
  • 'inter-': EUPBT
  • 'fore-': TPOER
  • 'de-': TKE
  • 'trans-': TRAPBS
  • 'super-': SAOUP
  • 'semi-': SPHEU
  • 'anti-': A*EUPBT
  • 'mid-': PHEUD
  • 'under-': UPBD

Some examples:

  • 'underwear': UPBD/WAER
  • 'misdeed'PHEUZ/TKAOED
  • 'embalm': EPL/PWAUPL
  • 'disease': TKEUZ/AOEZ
  • 'retreat': RE/TRAOET

Suffixes:

  • '-s': -S
  • '-ed': D
  • '-ing': G
  • '-ly': HREU
  • '-er': *ER
  • '-or': O*R
  • '-tion': SH*UPB
  • '-ation': AEUGS
  • '-ion': KWROPB
  • '-able': BL
  • '-al': A*L
  • '-ial': KWRAL
  • '-ness': -PBS

Some examples:

  • 'happily': HAP/HREU
  • 'cider': SAOEUD/*ER
  • 'relation': REL/AEUGS

Prefix/Suffix alternatives are slow and don't address all cases. Don't rely on them. Learn the appropriate prefix or suffix stroke when you can. But here they are anyway:

  • S-P: insert a space after the current word. This prevents it from being included in a multi-stroke word
  • TK-LS: prevent a space after the current word. This forces Plover to output compound words

Non-Letters

If any of these are missing from your dictionary file, add an entry for them:

  • '`': KH-FG (Example: 'files = `/bin/ls`' is stroked TPAOEULS KWA*LS KH-FG OEU PWEUPB OEU HR* S* KH-FG)
  • '^': KR-RT (Example: 'x^5 is equal to x^2 times x^3.' is stroked KP* KR-RT #A S KWAL TO KP* KR-RT #T- TAOEUPLS KP* KR-RT #P-)
  • '~': T*LD. The tilde with, a space after it. (Example: 'Yaaayy~ baby!' is stroked KWR* A* A* A* KWR* KWR* T*LD PWAEUB/KWREU SKHRAPL)
  • '<': AEPBGT (Example: 'x<10' is stroked KP* AEPBGT #SO)
  • '=': KWA*LS (Example: 'x=10' is stroked KP*  KWA*LS #SO)
  • '>': A*EPBGT (Example: 'x>10' is stroked KP* A*EPBGT #SO)
  • '|': PAO*EUP. The vertical bar, with no space after it. (Example: 'ls -R | less' is stroked HR* S* S-P H-PB R*P S-P PAO*EUP S-P HRES)
  • '_': R*UPBD. An underscore character, with no space after it. (Example: 'camelCase vs. under_scores` is stroked KAPL/EL KPA* KAEUS SR* S* P-P S-P TPH-P R*UPBD SKORS)
  • '-': H-PB. A single hyphen, with no space after it. (Example: 'It was a bit-coin moment' is stroked EUT WAS AEU PWEUT H-PB KOEUPB PHOEPLT)
  • '--': TK-RB. An em-dash (i.e. two hypens), with a space after it. (Example: 'Wait -- I'm going too' is stroked WAEUT TK-RB AOEUPL TKPWOG TAO)
  • ',': KW-BG. A comma, with a space after it. (Example: 'Be good, and be kind' is stroked -B TKPWAOD KW-BG APBD -B KAOEUPBD)
  • ';': SKWR*RBGS. A semicolon, with a space after it, and the next word uncapitalized. (Example: 'Be good; be kind' is stroked -B TKPWAOD SKWR*RBGS KAOEUPBD)
  • ':': STPH-FPLT. A colon, with a space after it, and the next word is capitalized. (Example: 'Plover: The winnah' is stroked PHRO*FR STPH-FPLT W* EU* TPH* TPH* A* H*)
  • ':': KHR-PB. A colon, with no space after it, and the next word is uncapitalized. Primarily used for specifying clock time. (Example: '24:00' may be stroked #TH KHR-PB #0D)
  • '!': SKHRAPL. An exclamation point, with a space after it, and the next word is capitalized. (Example: 'Why? Because!' is stroked KWR H-F BWAUS SKHRAPL)
  • '?': H-F. A question mark, with a space after it, and the next word is capitalized. (Example: 'Why? Why not?' is stroked KWR H-F KWR PHOT H-F)
  • '/': OEU (Example: 'x/y=10' is stroked KP* OEU KWR* KWA*LS #SO)
  • '.': TP-PL. A regular period, with a space after it, and the next word is capitalized. (Example: 'There it is. Better' is stroked THR EUT S TP-PL PWET/ER
  • '.': P-P. A period used as a decimal point, with no space after it, and the next word uncapitalized. (Example: 'It's.here.for.you' is stroked T-S P-P HAOER P-P TPOR P-P U P-P)
  • '...SKWR-RBGS. Ellipses, with a space after it, and the next word is capitalized. (Example: 'No... Just no...' is stroked TPHO SKWR-RBGS SKWRUFT TPHO SKWR-RBGS)
  • ''': A*E. Open single quote, with no space after it.
  • ''': AE. Close single quote, with a space after it. (Example: 'Just say 'hi' and see what happens!' is stroked SKWRUFT SAEU A*E HEU AE APBD SAOE WHA HAPS SKHRAPL)
  • '"': KW-GS. Open double quote, with no space after it.
  • '"': KR-GS. Close double quote, with a space after it. (Example: 'I think "love" can be hard to say.' is stroked EU THEU KW-GS HROF KR-GS K -B HARD TO SAEU TP-PL)
  • '(': PREPB
  • ')': PR*EPB (Example: 'I (love you) want some milk.' is stroked EU PREPB HROF U PR*EPB WAPBT SOPL PH*EULG TP-PL)
  • '[': PWR-BGT
  • ']': PWR*BGT (Example: 'I luv [sic] you.' is stroked EU HR* *U SR* PWR-BGT S*EUBG PWR*BGT U TP-PL)
  • '{': TPR-BGT
  • '}': TPR*BGT (Example: 'if(x) { print "hello, world" }' is stroked TP PREPB KP* PR*EPB TPR-BGT PREUPBT KW-GS HEL/HRO KW-BG WORLD KR-GS TPR*BGT)
  • '@': KWRAT (Example: 'zacharyb@gmail.com` is stroked STKPW* A* KR* H* A* R* KWR* PW* KWRAT TKPW* PH* A* EU* HR* P-P KR* O* PH*)
  • '$TK-PL (Example: 'I got the $$$. You got the stuff?' is stroked EU TKPWOT -T TK-PL TK-PL TK-PL TP-PL U TKPWOT -T STUF H-F)
  • '*': STA*R (Example: 'Love you babe :-* :-*' is stroked HRUF U PWAEUB KHR-PB H-PB STA*R S-P KHR-PB H-PB STA*R)
  • '\': SPWHRAERB (Example: 'C:\' is stroked KR*P KHR-PB SPWHRAERB)
  • '&': SP-PBD (Example 'U R my <3 & soul' is stroked U*P S-P R*P PHAOEU AEPBGT #PS-P SP-PBD SOUL)
  • '#': HAERB (Example: 'You're my #1 guy!' is stroked UR PHAOEU HAERB #S TKPWAOEU SKHRAPL)
  • '%': PERS (Example: 'What % is that? 5%?' is stroked WHA PERS S THA H-F #A PERS H-F)
  • '+': PHR*US (Example: 'y=x+10` is stroked KWR*  KWA*LS KP*  PHR*US #SO)

Useful strokes:

  • Carriage Return: R-R
  • New paragraph. Insert two carriage returns and capitalize the next word: SKWRAURBGS
  • Undo stroke: *
  • Letter-by-letter backspace: PW-FP
  • Insert a space: S-P
  • Insert a space and capitalize the next word: KPA
  • Do not insert a space before the next word, and don't capitalize the next word: TK-LS
  • Do not insert a space before the next word, and capitalize the next word: KPA*

Numbers

Keyboard fingering is different when typing numbers:

These are the strokes to type each of the ten digits:

  • '1': #S
  • '2': #T-
  • '3': #P-
  • '4': #H
  • '5': #A
  • '0': #O
  • '6': #F
  • '7': #-P
  • '8': #L
  • '9': #-T

Notice that the '0' is right in the middle, in order to match up with the O key. With that exception, also notice that the list of numbers is in steno order: STKPWHRAO*EUFRPBLGTSDZ.

To type a two digit number, stroke two single digit numbers together:

  • '25': #TA
  • '07': #OP
  • '49': #HT
  • etc.

In their unmodified form, two digit numbers always match the steno order of the keys used to stroke them. To invert that order, add the EU chord:

  • '52': #TAEU
  • '70': #OEUP
  • '94': #HEUT
  • etc.

To have the second digit be the same as the first, use the single digit that you want, but add the D key to the stroke:

  • '11': #SD
  • '22': #T-D
  • '33': #P-D
  • '44': #HD
  • '55': #AD
  • '00': #OD
  • '66': #FD
  • '77': #-PD
  • '88': #LD
  • '99': #-TD

When you stroke one number after another, Plover does not add a space between them. It's possible to type a long number by stroking all the parts of that number in turn:

  • '1068': #SO/#FL
  • '700039': #OEUP/#OD/#PT
  • '81254583': #LS/#TA/#HA/#PEUL
  • etc.

Sequences of digits that are all in steno order may be typed all at once. For example, '25689' may be stroked as #TAFLT. However, when stroking more than two digits this way, the DEU, and other modifiers don't work.

There are typically many different ways to stroke a long number. For example, '1068' may also be stroked as #S/#O/#F/#L, or #SOFL. It's up to you.

If you want to add a double zero to a single digit number, you could use the #OD stroke after the number, for example stroking '100' as #S/#OD, or you could include the Z key in your stroke.

  • '100': #SZ
  • '200': #T-Z
  • '300': #P-Z
  • '400': #HZ
  • '500': #AZ
  • '600': #FZ
  • '700': #-PZ
  • '800': #LZ
  • '900': #-TZ

To prefix a single digit number with the '$' character and add a double zero after it, add the DZ chord to the number stroke:

  • '$100': #SDZ
  • '$200': #T-DZ
  • '$300': #P-DZ
  • '$400': #HDZ
  • '$500': #ADZ
  • '$600': #FDZ
  • '$700': #-PDZ
  • '$800': #LDZ
  • '$900': #-TDZ

To express a one or two digit number as clock time, add either K or BG to the stroke:

  • '1:00': #SK or #SBG
  • '2:00': #TK or #TBG
  • '3:00': #KP or #PBG
  • '4:00': #KH or #HBG
  • '5:00': #KA or #ABG
  • '6:00': #KF or #FBG
  • '7:00': #K-P or #-PBG
  • '8:00': #KL or #BLG
  • '9:00': #KT or #BGT
  • '10:00': #SKO or #SOBG
  • '11:00': #SKD or #SBGD
  • '12:00': #STK or #STBG
  • '13:00': #SKP- or #SP-BG
  • '14:00': #SKH or #SHBG
  • '15:00': #SKA or #SABG
  • '16:00': #SKF or #SFBG
  • '17:00': #SK-P or #S-PBG
  • '18:00': #SKL or #SBLG
  • '19:00': #SKT or #SBGT
  • '20:00': #TKO or #TOBG
  • '21:00': #STKEU or #STEUBG
  • '22:00': #TKD or #TBGD
  • '23:00': #TKP- or #T-PBG
  • '24:00': #TKH or #THBG