Skip to main content

MathKeyboardEngine provides the logic for a highly customizable virtual math keyboard. It is intended for use together with any LaTeX typesetting library.

Project description

MathKeyboardEngine for Python

MathKeyboardEngine for Python provides the logic for a highly customizable virtual math keyboard. It is intended for use together with any LaTeX typesetting library (for example ...).

Also available:

An execution timeline

todo

Let me test it now!

Live examples can be tested at MathKeyboardEngine.GitHub.io.

Pros and cons?

Unique about MathKeyboardEngine:

  • it supports (almost?) all math mode LaTeX, including matrices. (Please share if you know anything that is not supported.)

  • its syntax tree consists of very few different parts: the StandardLeafNode, StandardBranchingNode, AscendingBranchingNode and DescendingBranchingNode can be used for almost all LaTeX, including fractions, powers, combinations, subscript, etc. with ready-to-use up/down/left/right navigation.

  • it can be used with any LaTeX math typesetting library you like.

A con:

  • this library will never be able to handle setting the cursor with the touch of a finger on a typeset formula. (But it DOES support up/down/left/right navigation and has a selection mode via arrow keys.)

More pros:

  • you have full control over what you display on the virtual keyboard keys and what a virtual key press actually does.

  • customize the editor output at runtime: dot or comma as decimal separator, cross or dot for multiplication, cursor style, colors, etc.

  • this library also supports handling input from a physical keyboard, where - for example - the forward slash "/" key can be programmed to result in encapsulating a previously typed number as the numerator of a fraction. (See the examples.)

  • almost forgotten: it's open source, free to use, free to modify (please fork this repo)!

How to use this library

PyPi link: https://pypi.org/project/mathkeyboardengine

Documentation

todo

How to use this repo

Follow these steps to set up (and verify) a development environment for this repository:

  1. Install the latest version of Python via https://www.python.org/downloads. The download includes pip.

  2. Open the Terminal in VS Code and run py -m pip install -U pytest.

  3. Run all tests via py -m pytest.

  4. See code coverage: py -m pip install pytest-cov + py -m pytest --cov=src --cov-report term-missing.

Ask or contribute

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

mathkeyboardengine-0.1.0a9.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

mathkeyboardengine-0.1.0a9-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

Details for the file mathkeyboardengine-0.1.0a9.tar.gz.

File metadata

  • Download URL: mathkeyboardengine-0.1.0a9.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for mathkeyboardengine-0.1.0a9.tar.gz
Algorithm Hash digest
SHA256 bcc965569a9f84cac8e2d1b87e1de1d6c039f10739039f10ce6a610cbe42f8c7
MD5 1a10862e15f9d7d8dca9417e309be73f
BLAKE2b-256 d8790d026e1a296ae8b6bbdf9581b6f85c9f7adc5b3e4b03442f041aaadb5ffe

See more details on using hashes here.

File details

Details for the file mathkeyboardengine-0.1.0a9-py3-none-any.whl.

File metadata

File hashes

Hashes for mathkeyboardengine-0.1.0a9-py3-none-any.whl
Algorithm Hash digest
SHA256 7d49197ae527bec1e9c7869621a30f8818746ffcc1066fdc4693cb6a62a0af5a
MD5 943278b90a096f1cb2ab9feb00d99647
BLAKE2b-256 049494f206a3ae943ec0a00c7b71b5cb8f295e012f02931917cf3a775856831f

See more details on using hashes here.

Supported by

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