Skip to content

wooningeire/plover-touchscreen-stenotype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plover touchscreen stenotype

On-screen touch stenotype plugin for Plover.

demo.mp4

Setup

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.

Additional setup / troubleshooting

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, or ms-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.

Notes

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).

Entrypoints

Tools

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).

Commands

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.

Machines

The (None) machine allows all hardware machines to be disabled, allowing only the touchscreen stenotype to provide strokes.

Settings/customization

  • 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.

About

Touchscreen stenotype plugin for Plover that takes advantage of multi-touch.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages