math_keyboard 0.4.0
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 onMathKeyboardThemeand 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
tokenMappingsofMathKeyboardSemantics), because a bare.embedded in a sentence is dropped as punctuation.
- Localizable screen-reader strings via
- Add
large_content_viewerdependency for long-press magnification of keys at large text sizes. - Make the decimal separator configurable via the new
DecimalSeparatorenum, onMathKeyboardThemeor as an argument toMathField,MathFormField, andMathKeyboard, instead of always deriving it from the locale. Defaults tonull, which keeps the previous locale-based behavior. The separator only affects what is displayed and announced; the TeX reported byonChangedandonSubmittedkeeps using..DecimalSeparator.applyTolocalizes such a value for rendering. - Breaking:
decimalSeparator(BuildContext)is nowDecimalSeparator.of, returning the enum. It no longer throws anArgumentErrorfor localesintldoes 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 separatorTeXParsercannot read. - Requires Flutter 3.35.1 / Dart 3.9.
0.3.3 #
- Update
intl
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_forkandintl.
0.1.9 #
- Exposes
MathKeyboardsand 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
\cursorfunction fromflutter_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
numpadBackspacebreaking change. - Addressed
ThemeData.accentColordeprecations.
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.
