Skip to main content

opengine2

A text box that allows easier input of many characters in a structured way.

Start typing in the text box. Alternatives for each character typed is accessed in series by repeatedly typing the same character, like in an __o__ld __p__hone (hence the name). As you type, gain feedback with which character you just typed in the display. Finish by pressing "Quit & Copy", which copies the text box's contents to the clipboard.

Demonstration video here.

Defining your own keyboards

By default an IPA keyboard is complete and a partial Cyrillic and Greek keyboard is also provided for proof of concept of keyboard switching.

To write your own keyboard, put them in your XDG data path. TOML and HOCON are supported. The filename should end in .opengine2.toml or .opengine2.hocon as needed.

Only three keys are needed in either case:

  • opengine2_version defines the file as an opengine2-readable file and sets the version. This is always 1 for now.
  • name gives the name as displayed in the GUI.
  • keys is a list of two- or three-element lists. Characters are typed in the order of their appearance in the keyboard file.
    • The first element is the key that the character is assigned to.
    • The second element is the key that the character can type
    • The third element, if present, is the name that will be displayed as a hint. If missing, then the hint is the Unicode name of the character.

TOML is useful for machine generation. If you handwrite your own keyboards, HOCON is better because you don't need to type so many quotes.

The location for storing the files is still in flux and may change as future versions require.

Configuration file

Not yet implemented, but the following keys are expected:

  • keyboards: locations of additional keyboard files.
  • default_kbd: name of default file.

It is placed in the usual location, i.e. ~/.config/opengine2 or wherever your XDG environment variables are set.

Possibly Asked Questions

Why not an IME?

Mostly because I can't quite figure out how to make it (ibus) work, but also because this is fairly unusual behaviour for an IME. Generally an IME would not demand repeated entry of a key to switch alternatives.

Why version 2?

Version 1 was an AutoHotkey script. It's well over 10 years old now but it is still usable. However, AHK is poorly supported on Linux so I had to make something else to replace it.

Metadata

Release files for opengine2 2.0.1

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

Source distribution (sdist)

Source distribution for opengine2 2.0.1
File Size Uploaded
opengine2-2.0.1.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opengine2 2.0.1
File Interpreter ABI Platform
opengine2-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.6 kB

Release files / opengine2-2.0.1.tar.gz

Download URL opengine2-2.0.1.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
438fc767d5f1ba3ed15bebc7c61e3d7e8d22f6e4318bfda5170dc312b7c8668e
BLAKE2b-256 checksum
How to use checksums
d206a1b847f895300c1e3da5ae9cc741fc4d24effbd95e1717833019caadb880
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.0

Release files / opengine2-2.0.1-py3-none-any.whl

Download URL opengine2-2.0.1-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
951b4266a9b21d59e05011b6e035eca229d8c12f6c283d58e2a3f660df1a5f4e
BLAKE2b-256 checksum
How to use checksums
a4fa9323bead1e25cf0e5efc600fb9494423d9466cb2102133eddb6c88221c13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.0

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

0.1.0

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