A click/tap on-screen keyboard that inserts Church Slavonic
characters at the Docs cursor. Modeled loosely on the Ponomar cukeyb2 online
keyboard, but with all modern-Russian letters removed — only the glyphs a
standard Russian layout can't already produce.
appsscript.json— manifest (scopes: edit current doc + show sidebar)Code.gs— menu, sidebar launcher,insertAtCursor,deleteBackwardSidebar.html— the key grid (data-driven; edit theGROUPSarray to change keys). Loads Ponomar from Google Fonts; a commented@font-faceblock offers a self-host / offline alternative.
- Open any Google Doc → Extensions ▸ Apps Script.
- Paste
Code.gsinto the script file; add an HTML file namedSidebarand pasteSidebar.htmlinto it. - Project Settings ▸ show the manifest, and paste
appsscript.json. - Reload the doc → Extensions ▸ [project name] ▸ Open keyboard.
Or push the whole folder with clasp:
clasp create --type docs, copy .clasp.json.example → .clasp.json (or let
clasp create write it), then clasp push.
- Add/remove keys: edit the
GROUPSarray inSidebar.html. Each key is a Unicode codepoint (\uXXXX); combining marks takecombining: true. - Capitals: a sticky Shift key toggles uppercase. Each cased letter is an
explicit
L(lower, upper)pair — uppercase codepoints aren't a fixed offset from lowercase (є U+0454 → Є U+0404, but ѣ U+0463 → Ѣ U+0462), so add new cased letters as pairs. To make Shift momentary (auto-release after one letter) instead of sticky, calltoggleShift()at the end ofsend()whenshiftis on.
- Cannot remap the physical keyboard inside the Docs body — palette insertion only.
deleteBackwardhandles deletion within one text run (the common typing case).
The fonts are SIL OFL 1.1; the add-on is licensed under the MIT License.