Troubleshooting Issues

From Plover Wiki

Some common problems and solutions are recorded here. If you’re having a problem with Plover, see if it is described here along with a solution.

Also, please make sure to check the Plover bug tracker for known reported issues.

Running in Debug Mode

Follow instructions in Invoke Plover from the command line. You need to invoke the command

plover --log-level debug

In particular, the exact commands are

  • plover_console.exe --log-level debug for Windows
  • /Applications/Plover.app/Contents/MacOS/Plover --log-level debug for macOS
  • ./plover.AppImage --log-level debug for Linux (AppImage)

Issues

General

Plover does not recognize my USB keyboard or steno machine

format=frameless
format=frameless

Initially, Plover is set up to use your computer keyboard as a steno machine. If you have a steno machine, you’ll need to configure Plover to look for your machine. See the Supported Hardware page for configuration instructions specific to your machine.

If you know your machine has been configured correctly, and Plover doesn’t recognize your keyboard or steno machine:

  1. Confirm your keyboard or steno machine is plugged into your computer.
  2. On the Plover control panel, check if it states the machine is connected or disconnected.
    • If it states the machine is disconnected, press the Reconnect button (this is to the right of “connected” or “disconnected” message).
  3. If Plover still doesn’t recognize your machine, try closing and relaunching Plover.

Strokes no longer appear when using keyboard

If Plover is enabled with arpeggiating and strokes were previously registered, check that arpeggiating has not begun. Press <space> (by default) to toggle arpeggiate.

When using TX Bolt, any chord with SW- in it doesn’t come out right

Solution: in the serial settings, uncheck “Xon/Xoff” under “Flow control”. This will solve the issue where using S and W in a chord causes Plover to ignore those keys.

Plugins Manager

If you’re running Plover 4.x and are missing the plugins manager or it’s not working as expected, you can try manually installing plugins

Dictionary issues

By default, Plover ships with three dictionaries: main.json, commands.json and user.json. This can be a source of confusion to new users.

Dictionary priority

If two dictionaries contain the same steno strokes, Plover will use the one in the dictionary that has the highest priority.

In Plover 3.x and below, the dictionaries in the dictionary list were prioritized from the bottom up.

In Plover 4 and above, the dictionaries order is configurable, but the default is to have the highest priority dictionary at the top, and it is labeled with a star ⭐.

By default, the user.json dictionary is placed at the highest priority. If you want new strokes to go to a different dictionary by default (for example, you have your own dictionary already), make sure that the target dictionary is the highest priority.

If you have your own dictionary already

If you have your own dictionary already, you’ll probably want to remove main.json and custom.json and add your own dictionary. This includes existing stenographers and users of another theory (Magnum, Phoenix).

We do not recommend you remove the commands.json dictionary from the dictionary list. This is because Plover has some concepts that users of other steno software will not be familiar with initially. Feel free to go through commands.json, and remap strokes that you want to use in your own theory.

About the default dictionaries

main.json

main.json is the core default dictionary. It is based on Mirabai Knight’s own personal dictionary, which follows a StenEd-style thoery. It contains over 140,000 entries and is adequate for anyone learning stenography. Mirabai uses this dictionary professionally for her realtime work.

commands.json

commands.json contains some keyboard shortcuts and Plover-specific utilities. For example, the stroke to add a new translation: TKUPT. It also contains arrow key movements, copy and paste, and more.

Have a look inside to see some sample keyboard commands that Plover can do.

user.json

user.json is a blank dictionary. By default, the user.json dictionary is the highest priority - it is the first dictionary Plover will use. When you define new strokes, they will get added to this dictionary. This means you can see which strokes you’ve defined yourself, instead of trying to locate them inside the default dictionaries.

Windows

Unrecognized keystrokes and other strange behavior

  • Disable AutoKey if you’re getting strange behavior with Plover.

No Output

Double check the following:

  • Your machine is connected
  • Plover’s output is set to “Enabled”
  • You can see strokes in the paper tape

If nothing is “typed” when you’re focused in a program like “Notepad”, something may be interfering with Plover’s ability to send keystrokes.

You can try:

  • Running Plover as an Administrator
  • If you are a Citrix user, reinstall Citrix and make sure to opt-out of app protection

macOS

Plover does not run

  • If you use a keyboard instead of a steno machine, Plover needs Assistive Device Permissions.

    • If Plover does not have the permission, you’ll see the error message Exception: Enable access for assistive devices.
    • From the Catalina version of macOS, you may need to enable both the Plover app and the env app under Security & Privacy > Privacy > Accessibility.

      Alternatively, upgrade Plover to a newer version. See issue 1134 for more details.

    • If Plover is shown to have Accessibility permissions but it still won’t output anything/shows the error message above, there may be something wrong with the permissions.

      (some situations such as operating system upgrade/Plover version upgrade might trigger this issue.)

      There are several ways you can try to fix them, from least destructive to most destructive:

      1. Removing Plover from the list of Accessibility permissions using the little - button below the list. After removing Plover from the list, restart Plover, enable output and start writing, it should ask again for permission and reappear in the list for you to enable.

      2. Resetting the Accessibility permissions should clear the list and you will have to re-enable Accessibility permissions for every app that was enabled before. To reset the permissions, open a terminal (Applications > Utilities > Terminal.app), copy/paste the following command and press Enter:

        sudo tccutil reset Accessibility

        Enter your password and press Enter again. Restart Plover, enable output, and it should ask again for permission when it tries to output text as you write.

      3. Same as solution #2 but resetting all of the permissions, not just the Accessibility ones. The instructions are the same, but copy/pasting this command instead.

        sudo tccutil reset All
      4. Alternatively, as a debugging step, invoke Plover in the terminal with the command

        /Applications/Plover.app/Contents/MacOS/Plover

        then grant Terminal assistive permission. (remember to revoke the permission after the possible is fixed to avoid potential security issues!)

    • Plover will not work if you are using Karabiner Elements, or generally speaking any program that allow customizing the keyboard might interfere with Plover.

Unrecognized keystrokes

macOS has a feature where holding down a key brings up an accent menu. This can sometimes drop keys when typing quickly, such as TO/FPLT producing t. instead of to. To disable this, follow the instructions in this article: “How to Disable the Character Accent Menu in OS X Mountain Lion”.

Linux

Missing or jumbled output

  • IBus does not handle the very fast simulated key presses of Plover. This can result in dropped or transposed letters (HAT becomes AHT or AT).

Linux dynamic keyboard layout switching is not working

  • Plover does not handle dynamic keyboard layout switching: see bug #298.

Delayed/slow output when using gnome-shell and the keyboard machine

  • It’s a gnome-shell bug, unfortunately there’s no known workaround.