Skip to content

feat: first release of Saccade Keyboards (0.1.0) - #3

Merged
coldsofttech merged 13 commits into
mainfrom
feat/saccade-keyboards
Oct 31, 2026
Merged

coldsofttech merged 13 commits into
mainfrom
feat/saccade-keyboards

Conversation

@coldsofttech

Copy link
Copy Markdown
Owner

What does this change?

First release of Saccade Keyboards (0.1.0): on-screen keyboards for React, with one package per language.

  • @coldsofttech/saccade-keyboards: the Keyboard component, a registry that loads each language when first needed, the headless useKeyboard hook, applyKey, validateLayout and the layout helpers. Light and dark themes, custom colours, font and key size, an optional number pad and currency key.
  • Language packages for English (US, GB, AU, CA, IN), Spanish (ES, MX, AR, CO, US, Latin America), French (FR, BE, CA, CH), Hindi, Telugu and Urdu, with the arrangements and digits of each.
  • A minimum width (430 px, or 600 px with the number pad) so keys never overlap. At 800 px or less each key shows only the character it types, and Shift and AltGr show the rest when pressed.
  • A demo app with language, region, theme, font, key size and width options.
  • Issue forms for bugs, layout fixes, new languages, region-specific layouts and feature requests; refreshed README, contributing, security and support files; new docs for adding a language and third-party notices; a social preview image.
  • Workflow fixes: the release workflow now packs into dist and publishes the tarball by path, CI builds the demo, and Semgrep skips test files.

Packages affected

saccade-keyboards, saccade-en, saccade-es, saccade-fr, saccade-hi, saccade-te, saccade-ur

Related issues

None.

Checklist

  • The change is focused on one thing
  • CHANGELOG.md has a short [Unreleased] entry (the entries are under [0.1.0] for this first release)
  • Tests are added or updated, including an axe check for new components and validateLayout for a new or changed layout
  • The package README is updated if exports or props changed
  • No secrets or personal data are included

Add @coldsofttech/saccade-keyboards with a language-picked Keyboard, a /core
entry (Keyboard, useKeyboard, applyKey, validateLayout, layout helpers),
light/dark theming and a layout registry. Document the layout format.

Remove the example package, demo app, init workflow and repo settings script,
and stop tracking CLAUDE.md and .claude/.
Adds @coldsofttech/saccade-en with QWERTY and alphabetical letters plus a numbers and symbols layer, a font prop (native, sans, serif, mono) on Keyboard, an examples/demo app, the Layout type export, and docs and size-limit updates.
Adds @coldsofttech/saccade-es with QWERTY and alphabetical letters including n with tilde, an accented vowels layer, and a symbols layer with inverted marks and euro. Adds a language selector to the demo and a size-limit entry.
Lays out the English and Spanish keyboards like physical keyboards: number row with shifted symbols, tall Enter, Shift, Caps Lock and AltGr. Adds English regions (US, GB, AU, CA, IN) and Spanish regions (ES, MX, AR, CO, US, LATAM), row-spanning keys on a grid, control key icons and captions, an optional number pad with Num Lock, and the matching docs, tests, demo and size limits.
Adds @coldsofttech/saccade-fr with AZERTY, Belgian, Canadian and Swiss layouts, accented letters on their own keys, AltGr characters and a capital option for caps lock. Adds the capital key field and a no-shift marker to the engine, a French option in the demo, and the matching docs and size limit.
Adds a currency key before the space key (taking its width from space) that
shows or hides a row of currency signs. Includes demo switch, docs, README,
changelog and a raised size limit for the core entry.
Adds @coldsofttech/saccade-hi with InScript and phonetic layouts, Latin or Devanagari digits on the number row with the other script on AltGr, and a vowel signs layer for the phonetic keyboard. Adds a Hindi option to the demo, the package README, the changelog entry and the size limit.
Adds @coldsofttech/saccade-te with InScript and phonetic layouts, Latin or Telugu digits on the number row with the other script on AltGr, and a vowel signs layer for the phonetic keyboard. Adds a Telugu option to the demo, the package README, the changelog entry and the size limit.
Adds @coldsofttech/saccade-ur with right to left standard and phonetic layouts, Latin or Urdu digits on the number row with the other script on AltGr, and a diacritics layer. Adds an Urdu option to the demo, the package README, the changelog entry and the size limit.
The keyboard keeps a minimum width (430 px, or 600 px with the number pad) so keys never overlap. At 800 px or less each key shows only the character it types, and Shift and AltGr show the rest when pressed. Long key labels are cut with an ellipsis, the AltGr corner character is smaller, and the demo has a width option.
Add new language, region-specific layout and layout fix issue forms, and add the package to the bug and feature forms. Rewrite the README with badges and a language table, refresh contributing, security, support and the code of conduct, and add docs for adding a language and third-party notices. Fix the release workflow so it packs into dist and publishes the tarball by path, build the demo in CI, and skip test files in Semgrep.
@coldsofttech
coldsofttech merged commit 03dfb29 into main Oct 31, 2026
16 checks passed
@coldsofttech
coldsofttech deleted the feat/saccade-keyboards branch October 31, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant