Plover
Hacking/typing/writing…
…at 200 words per minute
Speaker:
Ted Morin
Captioned by:
Mirabai Knight
GIF: Stanley Sakai
@morinted
Ted Morin
introduce(person="Ted",
to="Audience",
reason="Plover")
Machines, left to right top to bottom:
Treal TR, Elan Cybra, Infinity Ergonomic, LightSpeed
Find it on Steam
- What is Stenography?
- How fast do we need to type?
- Steno layout and basics
- History of Open Steno
- Written in Python
- Future of steno (and you)
Table of Contents
Stenography (steno for short)
Two variants: written shorthand…
…and machine stenography
Phonetic > Orthographic
nauseous, cautious, conscious
naw-shs, caw-shs, con-shs
particular, particularly
p-lar, p-lar-l
1 chorded stroke vs 12 keystrokes
Less movement == SPEED!
I don't know, Ted, I type pretty fast.
- A skeptic
How does it work?
Thinking with Portals
think-ing w portal-s
thi-g w porl-s
THEUG W PORLS
What is Steno Good For?
- Accessibility, #a11y
- 1 in 5 Americans report hearing loss. 1 in 3 above 65 years.
- People who don't speak can't easily communicate.
- Typing speed
- Double typing speed: many people type for work.
- RSI concerns.
- Personal note taking and chatting.
Coding in Steno
Learning Steno 10 Years Ago:
A walled garden of expensive proprietary choices.
$1000 to $4000
$1000s, renewed anually
1-7 years in college
Total:
Student loans galore
$
$
$
Learning Steno Today:
Libre software, free games, open community, free texts, cheap hardware.
Let's explore what changed.
Mirabai Knight
Joshua Lifton
PLOVER!!
Dolores
DLORS
Plover
PHROFR
Hesky Fisher
Zack Brown
My journey as
a typing enthusiast
ErgoDox
Tréal TR
Personal score chart from TypeRacer.com
How does Plover work?
- Pythonistas
from shorthand import stenography
stenography()
# DONE!
# ...I wish.
"""
We actually need:
- Input (Hardware)
- Plover (steno engine)
- Output (Emulated key strokes)
"""
Left to right, top to bottom: Quickfire NKRO keyboard, Charley's homemade breadboard machine, SOFT/HRUF, Infinity Ergonomic, Stenoboard
NKRO/anti-ghosting/full key rollover:
All keys on the keyboard can be registered at once. Most USB keyboards support 6KRO or less.
- $50-100 depending on the model.
Recommended switches:
light linear (Gateron Clears, Matias Reds, or Cherry Reds)
{ "PAOEU/TKPW*OT/A*PL": "PyGotham"
, "KHR-BG": "{#control(c)}"
, "SPHEUFBG": "{^awesomistically}"
, "HEU": "hi"
, "PHOPL": "mom"
, "KHREU": "{^ically}"
, "TED": "Ted"
, "PHRARL" : "particularly"
, "TK-F": "{>}def"
, "TKPWEUT/KR*R":
"{^}git push origin HEAD:refs/for/master{#Return}"
, "SP*LT": "{#command(space)}"
, "PHR-FPLT": "Mr.{-|}"
, "...": "Plover comes with over 140,000 entries"
}
Steno contains quite a bit of logic:
User dictionaries, othography rules, output state
# Linux
from Xlib import X, XK, display
from Xlib.ext import xinput, xtest
from Xlib.ext.ge import GenericEventCode
# Windows
import ctypes
SendInput = ctypes.windll.user32.SendInput
# macOS
from Quartz import (
CFMachPortCreateRunLoopSource,
CFRunLoopAddSource,
CFRunLoopGetCurrent,
CFRunLoopRun,
CFRunLoopStop,
CGEventCreateKeyboardEvent,
CGEventGetFlags,
CGEventGetIntegerValueField,
CGEventMaskBit,
CGEventPost,
CGEventSetFlags,
CGEventSourceCreate,
CGEventSourceGetSourceStateID,
CGEventTapCreate,
CGEventTapEnable,
kCFRunLoopCommonModes,
kCGEventFlagMaskAlternate,
kCGEventFlagMaskCommand,
kCGEventFlagMaskControl,
kCGEventFlagMaskNonCoalesced,
kCGEventFlagMaskShift,
kCGEventKeyDown,
kCGEventKeyUp,
kCGEventSourceStateID,
kCGEventTapOptionDefault,
kCGHeadInsertEventTap,
kCGKeyboardEventKeycode,
kCGSessionEventTap,
)
Output: simulated keypresses
Image source: http://emojione.com/
"Emojis: loved by everyone except sane developers"
What About the Future?
- Growing the community.
- Supporting other languages.
- Porting to Python 3.
- Supporting more hardware.
- Extending features to make steno more powerful than it has ever been.
OpenSteno.org
- The Plover Blog
- Aloft.nu: modern realtime caption site
- Stenodict: free "job" dictionaries
- PloverSteno Google Group
- Plover Discord Server
- openstenoproject/plover on GitHub
Ted Morin, @morinted, www.tedmor.in
Special thanks to:
devs (Josh, Hesky, Mike, gcr, Brent, Benoit Pierre)
stenographers (Stanley Sakai, Mirabai Knight)
community (Charley, Nat, Sooty, Tim, and many more)
Plover
By Ted Morin
Plover
Plover is free software written in Python that enables you to type on a computer at over 200 words per minute. Plover brings machine stenography, an art older than computers, into everyone's hands. Plover's current lead developer, Ted Morin, will talk about why Plover was created, how it works, and explain the role stenography might have in the modern world, as it moves beyond transcription and into the hands of hackers.
- 2,209