Troubleshooting issues: Difference between revisions

From Plover Wiki
mNo edit summary
(Initial markdown ~> mediawiki conversion)
Line 1: Line 1:
<markdown>
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.
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](https://github.com/openstenoproject/plover/issues) for known reported issues.
Also, please make sure to check the [https://github.com/openstenoproject/plover/issues Plover bug tracker] for known reported issues.


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


<!-- TOC -->
<!-- TOC -->
 
* [[#running-in-debug-mode|Running in Debug Mode]]
- [Running in Debug Mode](#running-in-debug-mode)
* [[#issues|Issues]]
- [Issues](#issues)
** [[#general|General]]
  - [General](#general)
*** [[#plover-does-not-recognize-my-usb-keyboard-or-steno-machine|Plover does not recognize my USB keyboard or steno machine]]
    - [Plover does not recognize my USB keyboard or steno machine](#plover-does-not-recognize-my-usb-keyboard-or-steno-machine)
*** [[#strokes-no-longer-appear-when-using-keyboard|Strokes no longer appear when using keyboard]]
    - [Strokes no longer appear when using keyboard](#strokes-no-longer-appear-when-using-keyboard)
*** [[#when-using-tx-bolt-any-chord-with-sw--in-it-doesnt-come-out-right|When using TX Bolt, any chord with <code>SW-</code> in it doesn’t come out right]]
    - [When using TX Bolt, any chord with `SW-` in it doesn't come out right](#when-using-tx-bolt-any-chord-with-sw--in-it-doesnt-come-out-right)
** [[#plugins-manager|Plugins Manager]]
  - [Plugins Manager](#plugins-manager)
** [[#dictionary-issues|Dictionary issues]]
  - [Dictionary issues](#dictionary-issues)
*** [[#dictionary-priority|Dictionary priority]]
    - [Dictionary priority](#dictionary-priority)
*** [[#if-you-have-your-own-dictionary-already|If you have your own dictionary already]]
    - [If you have your own dictionary already](#if-you-have-your-own-dictionary-already)
** [[#about-the-default-dictionaries|About the default dictionaries]]
  - [About the default dictionaries](#about-the-default-dictionaries)
*** [[#mainjson|main.json]]
    - [main.json](#mainjson)
*** [[#commandsjson|commands.json]]
    - [commands.json](#commandsjson)
*** [[#userjson|user.json]]
    - [user.json](#userjson)
** [[#windows-1|Windows]]
  - [Windows](#windows-1)
*** [[#unrecognized-keystrokes-and-other-strange-behavior|Unrecognized keystrokes and other strange behavior]]
    - [Unrecognized keystrokes and other strange behavior](#unrecognized-keystrokes-and-other-strange-behavior)
*** [[#no-output|No output]]
    - [No output](#no-output)
** [[#macos|macOS]]
  - [macOS](#macos)
*** [[#plover-does-not-run-macos|Plover does not run (macOS)]]
    - [Plover does not run (macOS)](#plover-does-not-run-macos)
*** [[#unrecognized-keystrokes|Unrecognized keystrokes]]
    - [Unrecognized keystrokes](#unrecognized-keystrokes)
** [[#linux|Linux]]
  - [Linux](#linux)
*** [[#unrecognized-keystrokes-1|Unrecognized keystrokes]]
    - [Unrecognized keystrokes](#unrecognized-keystrokes-1)
*** [[#linux-dynamic-keyboard-layout-switching-is-not-working|Linux dynamic keyboard layout switching is not working]]
    - [Linux dynamic keyboard layout switching is not working](#linux-dynamic-keyboard-layout-switching-is-not-working)
*** [[#delayedslow-output-when-using-gnome-shell-and-the-keyboard-machine|Delayed/slow output when using gnome-shell and the keyboard machine]]
    - [Delayed/slow output when using gnome-shell and the keyboard machine](#delayedslow-output-when-using-gnome-shell-and-the-keyboard-machine)


<!-- /TOC -->
<!-- /TOC -->
<span id="running-in-debug-mode"></span>
= Running in Debug Mode =


# Running in Debug Mode
Follow instructions in [https://github.com/openstenoproject/plover/wiki/Invoke-Plover-from-the-command-line Invoke Plover from the command line]. You need to invoke the command
 
Follow instructions in [Invoke Plover from the command line](https://github.com/openstenoproject/plover/wiki/Invoke-Plover-from-the-command-line). You need to invoke the command
 
```
plover --log-level debug
```


<pre>plover --log-level debug</pre>
In particular, the exact commands are
In particular, the exact commands are


* `plover_console.exe --log-level debug` for Windows
* <code>plover_console.exe --log-level debug</code> for Windows
* `/Applications/Plover.app/Contents/MacOS/Plover --log-level debug` for macOS
* <code>/Applications/Plover.app/Contents/MacOS/Plover --log-level debug</code> for macOS
* `./plover.AppImage --log-level debug` for Linux (AppImage)
* <code>./plover.AppImage --log-level debug</code> for Linux (AppImage)


# Issues
<span id="issues"></span>
= Issues =


## General
<span id="general"></span>
== General ==


### Plover does not recognize my USB keyboard or steno machine
<span id="plover-does-not-recognize-my-usb-keyboard-or-steno-machine"></span>
=== Plover does not recognize my USB keyboard or steno machine ===


> **Note**: 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](https://github.com/openstenoproject/plover/wiki/Supported-Hardware) for configuration instructions specific to your machine.
<blockquote>'''Note''': 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 [https://github.com/openstenoproject/plover/wiki/Supported-Hardware Supported Hardware page] for configuration instructions specific to your machine.
</blockquote>
If you know your machine has been configured correctly, and Plover doesn’t recognize your keyboard or steno machine:


If you know your machine has been configured correctly, and Plover doesn't recognize your keyboard or steno machine:
# Confirm your keyboard or steno machine is plugged into your computer.
# 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).
# If Plover still doesn’t recognize your machine, try closing and relaunching Plover.


1. Confirm your keyboard or steno machine is plugged into your computer.
<span id="strokes-no-longer-appear-when-using-keyboard"></span>
1. On the Plover control panel, check if it states the machine is connected or disconnected.
=== Strokes no longer appear when using keyboard ===
    * If it states the machine is disconnected, press the Reconnect button (this is to the right of "connected" or "disconnected" message).
1. 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 [https://github.com/openstenoproject/plover/wiki/Glossary#arpeggiate arpeggiating] and strokes were previously registered, check that arpeggiating has not begun. Press <code>&lt;space&gt;</code> (by default) to toggle arpeggiate.
If Plover is enabled with [arpeggiating](https://github.com/openstenoproject/plover/wiki/Glossary#arpeggiate) 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
<span id="when-using-tx-bolt-any-chord-with-sw--in-it-doesnt-come-out-right"></span>
=== When using TX Bolt, any chord with <code>SW-</code> 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.
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
<span id="plugins-manager"></span>
== 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](https://github.com/openstenoproject/plover/wiki/Installing-Plugins#manually-installing-plugins)
If you’re running Plover 4.x and are missing the plugins manager or it’s not working as expected, you can try [https://github.com/openstenoproject/plover/wiki/Installing-Plugins#manually-installing-plugins manually installing plugins]


## Dictionary issues
<span id="dictionary-issues"></span>
== 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.
By default, Plover ships with three dictionaries: <code>main.json</code>, <code>commands.json</code> and <code>user.json</code>. This can be a source of confusion to new users.


### Dictionary priority
<span id="dictionary-priority"></span>
=== Dictionary priority ===


If two dictionaries contain the same steno strokes, Plover will use the one in the dictionary that has the highest priority.
If two dictionaries contain the same steno strokes, Plover will use the one in the dictionary that has the highest priority.
Line 87: Line 92:
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 ⭐.
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.
By default, the <code>user.json</code> 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
<span id="if-you-have-your-own-dictionary-already"></span>
=== 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).
If you have your own dictionary already, you’ll probably want to remove <code>main.json</code> and <code>custom.json</code> 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.
We do not recommend you remove the <code>commands.json</code> 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 <code>commands.json</code>, and remap strokes that you want to use in your own theory.


## About the default dictionaries
<span id="about-the-default-dictionaries"></span>
== About the default dictionaries ==


### main.json
=== 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.
<code>main.json</code> 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 ===


`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.
<code>commands.json</code> contains some keyboard shortcuts and Plover-specific utilities. For example, the stroke to add a new translation: <code>TKUPT</code>. 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.
Have a look inside to see some sample keyboard commands that Plover can do.


### user.json
=== 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.
<code>user.json</code> is a blank dictionary. By default, the <code>user.json</code> 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
<span id="windows"></span>
== Windows ==


### Unrecognized keystrokes and other strange behavior
<span id="unrecognized-keystrokes-and-other-strange-behavior"></span>
=== Unrecognized keystrokes and other strange behavior ===


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


### No Output
<span id="no-output"></span>
=== No Output ===


Double check the following:
Double check the following:


- Your machine is connected
* Your machine is connected
- Plover's output is set to "Enabled"
* Plover’s output is set to “Enabled”
- You can see strokes in the paper tape
* 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.
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:
You can try:


- Running Plover as an Administrator
* Running Plover as an Administrator
- If you are a Citrix user, reinstall Citrix and make sure to opt-out of [app protection](https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/app-protection.html)
* If you are a Citrix user, reinstall Citrix and make sure to opt-out of [https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/app-protection.html app protection]
 
## macOS
 
### Plover does not run
 
* If you use a keyboard instead of a steno machine, Plover needs [Assistive Device Permissions](https://support.apple.com/en-ca/guide/mac-help/mh43185/mac).
 
    * If Plover does not have the permission, you'll see this 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](https://github.com/openstenoproject/plover/issues/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](https://github.com/openstenoproject/plover/wiki/Invoke-Plover-from-the-command-line) with the command


            ```
<span id="macos"></span>
            /Applications/Plover.app/Contents/MacOS/Plover
== macOS ==
            ```


            then grant Terminal assistive permission. (remember to revoke the permission after the possible is fixed to avoid potential security issues!)
<span id="plover-does-not-run"></span>
           
=== Plover does not run ===
    * Plover will not work if you are using [Karabiner Elements](https://github.com/tekezo/Karabiner-Elements), or generally speaking any program that allow customizing the keyboard might interfere with Plover.


### Unrecognized keystrokes
<ul>
<li><p>If you use a keyboard instead of a steno machine, Plover needs [https://support.apple.com/en-ca/guide/mac-help/mh43185/mac Assistive Device Permissions].</p>
<ul>
<li><p>If Plover does not have the permission, you’ll see this error message</p>
<blockquote><p>Exception: Enable access for assistive devices.</p></blockquote></li>
<li><p>From the Catalina version of macOS, you may need to enable both the <code>Plover</code> app and the <code>env</code> app under Security &amp; Privacy &gt; Privacy &gt; Accessibility.</p>
<p>Alternatively, upgrade Plover to a newer version. See [https://github.com/openstenoproject/plover/issues/1134 issue 1134] for more details.</p></li>
<li><p>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.</p>
<p>(some situations such as operating system upgrade/Plover version upgrade might trigger this issue.)</p>
<p>There are several ways you can try to fix them, from least destructive to most destructive:</p>
<ol style="list-style-type: decimal;">
<li><p>Removing Plover from the list of Accessibility permissions using the little <code>-</code> 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.</p></li>
<li><p>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 &gt; Utilities &gt; Terminal.app), copy/paste the following command and press Enter:</p>
<pre>sudo tccutil reset Accessibility</pre>
<p>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.</p></li>
<li><p>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.</p>
<pre>sudo tccutil reset All</pre></li>
<li><p>Alternatively, as a debugging step, [https://github.com/openstenoproject/plover/wiki/Invoke-Plover-from-the-command-line invoke Plover in the terminal] with the command</p>
<pre>/Applications/Plover.app/Contents/MacOS/Plover</pre>
<p>then grant Terminal assistive permission. (remember to revoke the permission after the possible is fixed to avoid potential security issues!)</p></li></ol>
</li>
<li><p>Plover will not work if you are using [https://github.com/tekezo/Karabiner-Elements Karabiner Elements], or generally speaking any program that allow customizing the keyboard might interfere with Plover.</p></li></ul>
</li></ul>


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"](https://www.tekrevue.com/tip/how-to-disable-the-character-accent-menu-in-os-x-mountain-lion/).
<span id="unrecognized-keystrokes"></span>
=== Unrecognized keystrokes ===


## Linux
macOS has a feature where holding down a key brings up an accent menu. This can sometimes drop keys when typing quickly, such as <code>TO/FPLT</code> producing <code>t.</code> instead of <code>to.</code> To disable this, follow the instructions in this article: [https://www.tekrevue.com/tip/how-to-disable-the-character-accent-menu-in-os-x-mountain-lion/ “How to Disable the Character Accent Menu in OS X Mountain Lion”].


### Missing or jumbled output
<span id="linux"></span>
== Linux ==


* 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`).
<span id="missing-or-jumbled-output"></span>
=== Missing or jumbled output ===


### Linux dynamic keyboard layout switching is not working
* IBus does not handle the very fast simulated key presses of Plover. This can result in dropped or transposed letters (<code>HAT</code> becomes <code>AHT</code> or <code>AT</code>).


* Plover does not handle dynamic keyboard layout switching: see [bug #298](https://github.com/openstenoproject/plover/issues/298).
<span id="linux-dynamic-keyboard-layout-switching-is-not-working"></span>
=== Linux dynamic keyboard layout switching is not working ===


### Delayed/slow output when using gnome-shell and the keyboard machine
* Plover does not handle dynamic keyboard layout switching: see [https://github.com/openstenoproject/plover/issues/298 bug #298].


* It's a gnome-shell [bug](https://github.com/openstenoproject/plover/issues/1030), unfortunately there's no known workaround.
<span id="delayedslow-output-when-using-gnome-shell-and-the-keyboard-machine"></span>
=== Delayed/slow output when using gnome-shell and the keyboard machine ===


</markdown>
* It’s a gnome-shell [https://github.com/openstenoproject/plover/issues/1030 bug], unfortunately there’s no known workaround.
[[Category:Plover]]

Revision as of 22:16, 5 February 2024

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

Note: 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 this 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.