Skip to main content

🎮 plover_controller

This plugin was designed for use with Open Steno Project's Plover. With only a video game controller, you can harness the power of machine stenography, a shorthand writing system that's been proven effective since its inception in 1879. To this day, stenography is trusted for use in live captioning and court reporting, due to its high speed and accuracy.

[!WARNING] plover_controller may not work on macOS. Only Windows and Linux have been tested successfully.

Table of Contents

  1. Learning Resources
  2. Installation
  3. Usage
    1. Examples
  4. Setup
    1. Mapping Buttons
  5. The Default Map
    1. Left Joystick
    2. Right Joystick
    3. Buttons
  6. Default mapping image

Learning resources

To get started with controller steno, check out these fantastic learning resources on the Plover wiki! Need assistance or just want to chat about steno? Join the lively steno community on the Plover Discord

Installation

We recommend installation via Plover's built-in Plugins Manager. For manual installation, follow the step-by-step guide in the Plover documentation.

Usage

Stenography is a phonetic/mnemonic shorthand writing system. It is predominantly written based on sound in Plover theory.

Plover processes the keys in the following order, known as "steno order": STKPWHRAO*EUFRPBLGTSDZ.

In the default configuration:

  • The left joystick handles the beginning consonants STKPWHR-
  • The shoulder buttons and triggers handle the vowels AOEU
  • The right joystick and ABXY buttons handle * and the ending consonants -FRPBLGTSDZ.

To see which characters are being registered, open the Paper Tape window in Plover.

Examples

Let's say you wanted to write the word "cat". In Plover theory, cat is written like KAT. To write "cat" with your controller, do the following simultaneously:

  1. Move the left joystick down and to the left for the starting consonant K-
  2. Press the left trigger button for the vowel A
  3. Press the X button for the ending consonant -T

Finally, release the joystick, trigger, and X button, which should output "cat".

Here's a slightly more difficult one, "straps". Do the following, keeping at least one button pressed or joystick moved before releasing to end the stroke:

  1. Press the left joystick for S-
  2. Move the left joystick up and to the left for T-
  3. Move the left stick to the bottom right for R-
  4. Press the left trigger for A
  5. Move the right joystick to the top for -P
  6. Press the A button (Xbox layout A) for -S

Release to end the stroke, and you should get the output straps.

Setup

Once the plugin is installed and Plover has been restarted, Plover's Machine select box should now have a Controller option.

The settings for plover_controller can be found in the Plover Configuration under the Machine tab.

Mapping buttons

The default configuration was created for use with an Xbox Elite controller. If you are using any other controller, you will likely have to change the default key mapping in the Plover Machine settings.

Any problems will most likely be due to your button map. The best way to resolve these issues is to:

  • Open the Plover Machine Configuration menu.
  • Move the joystick or press the button causing problems
  • Observe the text output in the Last axis event and Last other event fields at the bottom of the Options section, and compare it to the text in the Mapping field. Make changes as needed.

Default mapping

Left joystick

         -----------------
      /   \             /   \
     /     \    P-     /     \
    /       \         /       \
   /   T-    \_______/    H-   \
  /          /       \          \
 /          /         \          \
 +---------|     S-    |---------+
 \          \         /          /
  \          \       /          /
   \   K-     \_____/     R-   /
    \        /       \        /
     \      /    W-   \      /
      \    /           \   /
         -----------------

Right joystick

         -----------------
      /   \             /   \
     /     \    -P     /     \
    /       \         /       \
   /   -F    \_______/    -L   \
  /          /       \          \
 /          /         \          \
 +---------|     *     |---------+
 \          \         /          /
  \          \       /          /
   \   -R     \_____/     -G   /
    \        /       \        /
     \      /   -B    \      /
      \    /           \    /
         -----------------

Buttons

Button (Xbox Labels) Maps To
Left Trigger / Paddle 4 A
Left Bumper / Paddle 3 O
Right Bumper / Paddle 1 E
Right Trigger / Paddle 2 U
Select *
Start #
X Button -T
A Button -S
Y Button -D
B Button -Z

Default mapping image

Default mapping

Metadata

Release files for plover-controller 0.0.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plover-controller 0.0.18
File Size Uploaded
plover-controller-0.0.18.tar.gz 22.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plover-controller 0.0.18
File Interpreter ABI Platform
plover_controller-0.0.18-py3-none-any.whl Python 3 none any Details

Total release size: 44.6 kB

Release files / plover-controller-0.0.18.tar.gz

Download URL plover-controller-0.0.18.tar.gz
Size 22.8 kB
Tags Source
SHA-256 checksum
How to use checksums
33aedaa9d551f7b79b60ad9caaff82fdaa5a9b8a476e75f613f1dd7ab20a2bf5
BLAKE2b-256 checksum
How to use checksums
3deccdf06f4eede9369a80a30f0e763b183f0c63647f31dc97e2b1cd78dda1c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9

Release files / plover_controller-0.0.18-py3-none-any.whl

Download URL plover_controller-0.0.18-py3-none-any.whl
Size 21.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02fcbccc161be0ecfd7533afa4c9dd3b90a1df0fd567940711259b79fda55351
BLAKE2b-256 checksum
How to use checksums
4275463dd648d2b25d70da85dc94189fcaf511573e54673880cd62f4b8d12bea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.0.18 This release

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page