Skip to main content

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

Project description

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.

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.
    • 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. Characters are typed in the order of their name.

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:

  • additional_files: locations of additional keyboard files.
  • default_file: 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opengine2-2.0.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opengine2-2.0.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file opengine2-2.0.0.tar.gz.

File metadata

  • Download URL: opengine2-2.0.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for opengine2-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e31ba4a875bd3a11e73662f6fb6e66cb401c79de65daa75ca2b33d63c5912177
MD5 b51310a485cbc43d2e4c9754fa46e39f
BLAKE2b-256 5b2b61feab15886a28ed69b52f4f9fae5f7ace4fec64f4a25769d76b968b9602

See more details on using hashes here.

File details

Details for the file opengine2-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: opengine2-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for opengine2-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b34f4357b3d8d0a7ef754d85f4dbfe64969463554f3704a08058a2f6a897885
MD5 976cfd9a1e6f3f5aa835eecec8f2fae4
BLAKE2b-256 26ffe279701df17d44a0fe59e63a72f8efa703d1705396f5a1c485f8031f6646

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page