On-screen touch stenotype plugin for Plover.
demo.mp4
This plugin is currently not available from Plover's Plugins Manager. Instructions are available on the Plover wiki on how to install this plugin from PyPI or this Git repository.
Operating systems may have built-in touchscreen gestures that sometimes prevent the window from receiving touches.
On Windows 11: This works best after disabling 3- and 4-finger touch gestures in Settings (Bluetooth & devices
> Touch
, or navigate to ms-settings:devices-touch
from the browser).
On Windows 11 22H2: The default touch keyboard can be stopped from automatically appearing by setting “Show the touch keyboard” to “Never” in the “Touch keyboard” settings (under Time & language
> Typing
on Windows 11, or ms-settings:typing
from the browser).
- On Windows 10 or older Windows 11: The default keyboard can be stopped from automatically appearing, to varying degrees of success, by disabling “Show the touch keyboard when … there’s no keyboard attached” in the “Touch keyboard” settings (under
Time & language
>Typing
on Windows 11,Devices
>Typing
on Windows 10, orms-settings:typing
from the browser).
On Linux+GNOME: There are GNOME extensions that can disable touch gestures, but there is additionally a delay before windows receive touch inputs. Unless dealt with (check xinput
and libinput
?), this will require users to hold down a stroke for a brief period of time (~200 ms?) before releasing; releasing early will cause each touch to be registered as a stroke individually.
The key layout is currently based on the default English Stenotype system. This works best on touchscreens that support at least 10 simultaneous touch points. On Windows 10/11, the maximum number of touch points can be found alongside the device specifications in Settings (System
> About
, or navigate to ms-settings:about
from the browser).
The Touchscreen stenotype
tool is exposed. After the plugin is installed, Plover may need to be restarted for the plugin GUI button to appear in the toolbar.
The keyboard shortcut Ctrl + S opens the settings window (if the stenotype window is focused, which can be achieved by clicking the window's top bar).
Command | Description |
---|---|
{plover:touchscreen_stenotype.close} |
Closes the stenotype window. |
{plover:touchscreen_stenotype.minimize} |
Minimizes the stenotype window. |
{plover:touchscreen_stenotype.open_settings} |
Opens the settings dialog. |
Some of these commands may be useful when the "Frameless" setting is enabled, since in frameless mode, various UI elements are hidden/inaccessible from the window and the window is not as easily focusable.
The (None)
machine allows all hardware machines to be disabled, allowing only the touchscreen stenotype to provide strokes.
- Key and layout geometry: Controls the spacing and sizing of keys.
- Stroke preview: Controls whether to show what translation will result from the currently held stroke.
- Window: Controls the display of the window.
- Frameless: Removes the window border and background to avoid blocking as much of the screen. For changes to take effect, the plugin window has to be relaunched.
For custom layouts or systems, (for now) the plugin source code will need to be edited. Keyboard layout descriptors are in the directory /plover_touchscreen_stenotype/lib/keyboard_layout/descriptors
(the default English stenotype and custom English stenotype extended layout descriptors are provided and can be used as templates), and the plugin determines which layout to use by importing a descriptor from that directory into ./plover_touchscreen_stenotype/widgets/build_keyboard.py
.