{"id":51040274,"url":"https://github.com/zevisvei/kindle-hebrew-keyboard","last_synced_at":"2026-06-22T10:02:39.956Z","repository":{"id":365630927,"uuid":"1266610366","full_name":"zevisvei/kindle-hebrew-keyboard","owner":"zevisvei","description":"Hebrew on-screen keyboard for the native Kindle UI — one-folder KUAL installer, no SSH. SI-1452 layout, reversible, no brick risk.","archived":false,"fork":false,"pushed_at":"2026-06-18T07:43:34.000Z","size":24,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-18T08:15:20.707Z","etag":null,"topics":["hebrew","kindle","kual"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zevisvei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-11T19:33:01.000Z","updated_at":"2026-06-18T07:43:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zevisvei/kindle-hebrew-keyboard","commit_stats":null,"previous_names":["zevisvei/kindle-hebrew-keyboard"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/zevisvei/kindle-hebrew-keyboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevisvei%2Fkindle-hebrew-keyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevisvei%2Fkindle-hebrew-keyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevisvei%2Fkindle-hebrew-keyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevisvei%2Fkindle-hebrew-keyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zevisvei","download_url":"https://codeload.github.com/zevisvei/kindle-hebrew-keyboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zevisvei%2Fkindle-hebrew-keyboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34643624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hebrew","kindle","kual"],"created_at":"2026-06-22T10:02:39.350Z","updated_at":"2026-06-22T10:02:39.946Z","avatar_url":"https://github.com/zevisvei.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kindle Hebrew Keyboard\n\nA **Hebrew on-screen keyboard for the native (stock) Kindle interface** — search,\nnotes, collections, anywhere the system keyboard appears. No KOReader required.\n\nInstalls as a [KUAL](https://www.mobileread.com/forums/showthread.php?t=203326)\nextension. **No SSH, no PC tools** — copy one folder, tap *Install*.\n\n\u003e Built and verified on **Kindle Basic 10g (J9G29R), FW 5.18.1** and **Paperwhite\n\u003e 11th gen (2021), FW 5.16.20**, jailbroken with AdBreak. Standard Israeli\n\u003e **SI‑1452** layout. Typing‑only (no word prediction).\n\n\u003e ⚠️ **The universal on‑device keymap generation (v10) is NOT fully tested.** The\n\u003e `awk` generator's output was verified byte‑for‑byte against known‑good keymaps,\n\u003e but the complete fresh‑install flow has not been run end‑to‑end on every device\n\u003e or resolution. Treat v10 as experimental.\n\n\u003e **No warranty / no liability.** This software is provided \"as is\", without\n\u003e warranty of any kind. You use it **entirely at your own risk** — the author\n\u003e accepts **no responsibility for any damage, data loss, or malfunction** of your\n\u003e device. Although the design avoids partition/boot/firmware writes, jailbroken\n\u003e devices always carry risk. If unsure, don't install.\n\n---\n\n## Features\n\n- Adds Hebrew to the **stock** keyboard — works in every native text field.\n- Right‑to‑left, all 27 letters (22 + 5 finals), Western digits, full symbol/number pages.\n- **On‑screen 🌐 globe key switches Hebrew ⇄ English** — both are kept enabled\n  (`selected = he:en_US`) so the firmware's language key toggles between them, and\n  it **survives reboot**.\n- One‑tap **Enable / Disable** toggle from the KUAL menu as well.\n- Keeps every other language the device already had.\n- **No brick risk** — bind‑mount + a couple of files under `/var/local` and one\n  small `/etc/upstart` job. Fully reversible via *Uninstall*.\n\n## Requirements\n\n- A **jailbroken** Kindle with **KUAL** installed.\n- A **jailbroken** Kindle with **KUAL** — **any screen resolution**. The installer\n  builds the Hebrew keymap *on the device* from the device's own `en_US` keymap\n  (correct geometry for any model), so no per‑model keymap is needed. Pre‑built\n  keymaps (600×800 / 800×600 / 1072×1448 / 1448×1072) ship as a fallback.\n\n## Install (no SSH)\n\n1. Copy the **`hebrew-keyboard`** folder to `\u003cKindle USB drive\u003e/extensions/`.\n2. Eject. If the menu doesn't appear, reboot once so KUAL picks it up.\n3. **KUAL → Hebrew Keyboard → Install / Repair**.\n4. Open Search (or any text field) and type Hebrew. With two keyboards enabled,\n   tap the 🌐 globe key to switch.\n\n## Daily use\n\n**KUAL → Hebrew Keyboard →**\n\n| Item | Action |\n|------|--------|\n| **Install / Repair** | First‑time setup (idempotent — safe to re‑run) |\n| **Enable Hebrew** | Make Hebrew the active keyboard |\n| **Disable (English)** | Switch back to English |\n| **Show Status** | Show the active keyboard |\n| **Uninstall** | Remove everything, restore the stock keyboard |\n\nYour Enable/Disable choice is stored and re‑applied on every boot.\n\n## How it works\n\n`/usr/share/keyboard` is a **read‑only squashfs**, and the kernel has no overlayfs,\nso a new language can't simply be dropped in. The installer instead:\n\n1. Copies the device's own `/usr/share/keyboard` → `/var/local/kbroot` (writable).\n2. Builds a `he/` folder there: an `awk` script (`data/make_he.awk`, busybox‑only,\n   no Python/Lua) reads the device's own `en_US` keymap and rewrites just its base\n   letter layer with the SI‑1452 rows — so the Hebrew layout inherits the exact\n   geometry of *this* screen, at any resolution. Predictor libs are copied from\n   `en_US`. (If `awk` or `en_US` is somehow unavailable, it falls back to the\n   bundled pre‑built keymaps.)\n3. **Bind‑mounts** `kbroot` back over `/usr/share/keyboard`.\n4. Installs `/etc/upstart/hebkb.conf`, which re‑applies the bind **before the `kb`\n   daemon starts** on each boot and honors your choice in `Keyboard.preferences`.\n\nThe `kb` daemon then auto‑lists `he` in `keyboard.conf` and loads the Hebrew keymap.\n\n\u003e **Key gotcha** (documented so forks don't trip on it): `/usr/share/keyboard` is\n\u003e *always* a mountpoint (the squashfs), so an idempotency guard must test for the\n\u003e `he/` directory — **never** `mountpoint -q`, which is always true and silently\n\u003e skips the bind on boot.\n\n## Layout (SI‑1452)\n\n```\nק ר א ט ו ן ם פ\nש ד ג כ ע י ח ל ך ף\nז ס ב ה נ מ צ ת ץ            ⌫\n```\n\n## Limitations\n\n- **Settings label says \"Arabic\".** Cosmetic only — it types Hebrew correctly. The\n  `kb` daemon has no internal name for `he` and falls back to \"Arabic\"; fixing the\n  label would require patching the `kb` binary.\n- **No word prediction** (typing only — no `.ldb` dictionary shipped).\n- **Both keyboards show as \"English\" in the globe cycle.** The firmware labels every\n  keyboard with the device's UI language, so the 🌐 cycle shows two \"English\"\n  entries — one types Hebrew, one English. They switch correctly; the labels are\n  just ambiguous (cosmetic, would require patching the framework to fix).\n- **Layout assumption.** On‑device generation assumes the firmware's base letter\n  layer is the standard 3‑row QWERTY (`!!shift` + 7 keys on the bottom row).\n  Verified on Basic 10g and Paperwhite 11g; an unusual firmware schema would fall\n  back to the bundled keymaps.\n- OTA firmware updates may replace `keyboard.sqsh`; re‑run *Install / Repair* after.\n\n## Safety / rollback\n\nNo partition, boot, or firmware writes — **bricking is not possible** from this\npackage. *Uninstall* (or removing `/etc/upstart/hebkb.conf` + a reboot) fully\nrestores the stock keyboard. If a bad keymap ever made the keyboard unusable,\n*Uninstall* works from KUAL without needing the keyboard at all.\n\n## Repo layout\n\n```\nhebrew-keyboard/\n├─ config.xml          KUAL extension descriptor\n├─ menu.json           KUAL menu\n├─ VERSION\n├─ README.md / README.txt\n├─ bin/\n│  ├─ install.sh       set up overlay + boot job, enable Hebrew\n│  ├─ uninstall.sh     remove everything, restore stock\n│  └─ hebkb.sh         enable / disable / status\n└─ data/\n   ├─ make_he.awk      on-device keymap generator (busybox awk; universal)\n   ├─ he-600x800.keymap.gz    fallback — Basic 10g class\n   ├─ he-800x600.keymap.gz\n   ├─ he-1072x1448.keymap.gz  fallback — Paperwhite 11th gen\n   ├─ he-1448x1072.keymap.gz\n   └─ hebkb.conf       upstart boot job\n```\n\n## Credits\n\nHebrew keymap derived from the firmware's Arabic (RTL) keymap. Thanks to the\nMobileRead and [kindlemodding.org](https://kindlemodding.org) communities for the\njailbreak, KUAL, and keyboard‑layout groundwork.\n\n## License\n\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzevisvei%2Fkindle-hebrew-keyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzevisvei%2Fkindle-hebrew-keyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzevisvei%2Fkindle-hebrew-keyboard/lists"}