math_keyboard 0.4.0 copy "math_keyboard: ^0.4.0" to clipboard
math_keyboard: ^0.4.0 copied to clipboard

Math expression editing using an on-screen software keyboard or physical keyboard input in a typeset input field in Flutter.

0.4.0 #

  • Redesign the on-screen keyboard with a configurable theme (MathKeyboardStyle / MathKeyboardTheme); the default appearance changes.
  • Add first-class accessibility:
    • Localizable screen-reader strings via MathKeyboardSemantics (carried on MathKeyboardTheme and per-field).
    • WAI-ARIA composite keyboard navigation: tab moves between the keys as ordinary buttons and leaves the keyboard at the ends without trapping focus, the arrow keys additionally move across the grid, and escape dismisses it.
    • Responsive landscape layout showing the functions and numbers side by side with a dedicated submit key.
    • Section landmark regions (variables, formula, numbers, submit) so screen readers can jump between them.
    • The math field opens the keyboard from an accessibility activation.
    • Numbers are announced as numbers: the digits and the decimal separator of one number are exposed as a single token ("1,5", "23") instead of space-separated leaves, which screen readers spelled out digit by digit while dropping the separator ("1 5").
    • The cursor announcements name the decimal separator as a word ("before point", from the tokenMappings of MathKeyboardSemantics), because a bare . embedded in a sentence is dropped as punctuation.
  • Add large_content_viewer dependency for long-press magnification of keys at large text sizes.
  • Make the decimal separator configurable via the new DecimalSeparator enum, on MathKeyboardTheme or as an argument to MathField, MathFormField, and MathKeyboard, instead of always deriving it from the locale. Defaults to null, which keeps the previous locale-based behavior. The separator only affects what is displayed and announced; the TeX reported by onChanged and onSubmitted keeps using .. DecimalSeparator.applyTo localizes such a value for rendering.
  • Breaking: decimalSeparator(BuildContext) is now DecimalSeparator.of, returning the enum. It no longer throws an ArgumentError for locales intl does not know, and locales that use neither of the two markers SI and ISO recognize (ar_EG, fa, ps, which use the Arabic decimal separator) now fall back to . instead of displaying a separator TeXParser cannot read.
  • Requires Flutter 3.35.1 / Dart 3.9.

0.3.3 #

  • Update intl

0.3.2 #

  • Workaround for dart2wasm bug.

0.3.1 #

  • Updated README

0.3.0 #

  • Updated all dependencies
  • Require flutter: '>=3.22.2'

0.2.1 #

  • Added Android support to the demo project.
  • Closes keyboard on Android hardware back button press.

0.2.0 #

  • Bumped flutter_math_fork and intl.

0.1.9 #

  • Exposes MathKeyboards and adds padding and hover effects to it.

0.1.8 #

  • Return empty string instead of \Box when field is empty

0.1.7 #

  • Updated Petitparser dependency.

0.1.6 #

  • Cleared Flutter 3.0.x warnings.

0.1.5 #

  • Updated field cursor using \cursor function from flutter_math_fork 0.6.2.

0.1.4+1 #

  • Bumped flutter_math_fork.

0.1.4 #

  • Fixed missing implicit times operator between a closing and an opening parenthesis.

0.1.3 #

  • Added new symbols icon for functions button.
  • Added fraction button to second keyboard page.

0.1.2 #

  • Bumped flutter_math_fork.

0.1.1+1 #

  • Fixed numpadBackspace breaking change.
  • Addressed ThemeData.accentColor deprecations.

0.1.1 #

  • Unary minus support when converting to an expression.
  • Keep parentheses when initialising controller with an expression.
  • Added special cases for pi and e when initializing controller.

0.1.0+1 #

  • Fixed styling of commas as decimal separators.

0.1.0 #

  • Initial public version.
148
likes
130
points
8.15k
downloads
screenshot

Documentation

API reference

Publisher

verified publishersimpleclub.com

Weekly Downloads

Math expression editing using an on-screen software keyboard or physical keyboard input in a typeset input field in Flutter.

Repository (GitHub)
View/report issues
Contributing

License

BSD-3-Clause (license)

Dependencies

flutter, flutter_localizations, flutter_math_fork, holding_gesture, intl, large_content_viewer, math_expressions, petitparser

More

Packages that depend on math_keyboard