Institute of Policy Dynamics
Chakma Language Technology
Language · Script

Chakma keyboard & transliteration engine

The Institute of Policy Dynamics (IPD) built a native Chakma keyboard layout for Linux and the phonemic engine below for text that starts in Bengali Eastern Nagari. Type or paste into either side, then convert.

Key features

  • System-level XKB layout — installs as a normal input source (Settings → Region & Language), no separate app to keep running.
  • English-phonetic QWERTY mapping — each Latin letter types the Chakma sound it shares, e.g. k → KA, a → A, so the keys are guessable rather than memorized from scratch.
  • Full script coverage — consonants, independent and dependent vowels, digits, punctuation, and the invisible conjunct stacker, reachable across Shift and AltGr layers.
  • Bundles Noto Sans Chakma — ships the font directly, since Ubuntu's built-in Noto coverage is missing glyphs this layout produces.
  • Clean install and removal — registers itself in GNOME's Input Source list on install and unregisters on removal.

User manual

  1. 1. Install. Built and tested for Debian/Ubuntu (GNOME). Download the .deb above, then:
    sudo dpkg -i chakma-keyboard_1.0.0-5_all.deb
  2. 2. Enable it. Open Settings → Region & Language → Input Sources, select Add an Input Source, and choose Chakma. Switch to it the same way you switch any other input source.
  3. 3. Type. The layout is English-phonetic: press the Latin letter that shares the Chakma consonant or vowel’s sound. Shift and AltGr reach the remaining marks — see the full key map below.
  4. 4. Remove it.
    sudo apt remove chakma-keyboard

v1.0.0 · every code point checked individually against the Unicode Character Database, but the key placements themselves haven’t yet been reviewed by a native Chakma typist — treat this as a first cut, and open an issue if a key placement should move.

▸ Show the full key map
KeyUnshiftedShiftAltGr
q𑄋 nga——
w𑄤 wa𑄰 OI matra—
e𑄆 E (indep.)𑄬 E matra𑅆 EI · 𑄭 AI
r𑄢 ra𑄳 stacker—
t𑄖 ta𑄗 tha—
y𑄡 ya𑄠 yya—
u𑄅 U (indep.)𑄪 U matra𑄫 UU matra
i𑄄 I (indep.)𑄨 I matra𑄩 II matra
o𑄮 O matra𑄯 AU matra—
p𑄛 pa𑄜 pha—
a𑄃 A (indep.)𑅅 AA matra𑄧 vowel sign A
s𑄥 sa——
d𑄘 da𑄙 dha—
f(unassigned)——
g𑄉 ga𑄊 gha—
h𑄦 ha𑄂 visarga—
j𑄎 ja𑄏 jha—
k𑄇 ka𑄈 kha—
l𑄣 la𑅄 lha—
z𑄓 dda𑄔 ddha—
x𑄑 tta𑄒 ttha—
c𑄌 cha𑄍 chha—
v𑅇 va (Pali)——
b𑄝 ba𑄞 bha—
n𑄚 na𑄕 nna—
m𑄟 ma𑄐 nya𑄀 candrabindu
;𑄴 virama𑄁 anusvara𑅀 · 𑅁 punctuation
'𑅂 punctuation𑅃 punctuation—

Digits 0–9 type their own Chakma numeral unshifted, the ASCII symbol above that key on Shift, and the plain ASCII digit on AltGr.

বাংলাBengali / Eastern Nagari0 chars
𑄌𑄋𑄴𑄟Chakma / Ojhapath0 chars

Phonemic mapping notes

  • Inherent vowel: Chakma’s inherent vowel on every consonant is already /aː/, so Bengali আ-কার (া) is dropped — e.g. আমার নাম → 𑄃𑄟𑄢𑄴 𑄚𑄟𑄴.
  • Maayyaa 𑄴: added automatically after word-final consonants and where Bengali has explicit hasanta ্.
  • Bengali শ / ষ / স all → Chakma 𑄥; reverse defaults to শ.
  • Bengali ই / ঈ both → 𑄄; উ / ঊ both → 𑄅 (length distinction not preserved).
  • Chakma 𑄤 (w) → ব; Chakma 𑄡 (z) → জ.
  • Bengali ৃ → 𑄢𑄨 (r+i, approx); ৎ → 𑄖𑄴.
▸ Show character mapping reference table
BengaliChakmaIPANotes
Independent Vowels
অ𑄃ɔ/aঅ and আ both → 𑄃 (inherent /aː/ covers it)
আ𑄃aːsame as অ; Chakma inherent vowel is already /aː/
ই𑄄ii
ঈ𑄄iːii (merged)
উ𑄅uu
ঊ𑄅uːuu (merged)
এ𑄆ee
ঐ𑄆𑄭ɔi̯oi
ও𑄃𑄮oo
ঔ𑄃𑄯ou̯ou
Consonants
ক𑄇kka
খ𑄈kʰkha
গ𑄉ɡga
ঘ𑄊ɡʰgha
ঙ𑄋ŋnga
চ𑄌t͡ʃcha
ছ𑄍t͡ʃʰchha
জ𑄎d͡ʒja
ঝ𑄏d͡ʒʰjha
ঞ𑄐ɲnya
ট𑄑ʈtta
ঠ𑄒ʈʰttha
ড𑄓ɖdda
ঢ𑄔ɖʰddha
ণ𑄕ɳnna
ত𑄖tta
থ𑄗tʰtha
দ𑄘dda
ধ𑄙dʰdha
ন𑄚nna
প𑄛ppa
ফ𑄜pʰpha
ব𑄝bba
ভ𑄞bʰbha
ম𑄟mma
য𑄠jya
র𑄢rra
ল𑄣lla
শ𑄥ʃsha → 𑄥
ষ𑄥ʃSha → 𑄥 (same)
স𑄥ssa → 𑄥 (same)
হ𑄦hha
ড়𑄢ɽrra (flap) ≈ ra
য়𑄠jya (nukta)
ৎ𑄖𑄴tkhanda-ta
—𑄤ww (no Bengali equiv → ব)
—𑄡zz (no Bengali equiv → জ)
Dependent Vowels (Matras)
া𑅅aːaa-kar
ি𑄨ii-kar
ী𑄩iːii-kar
ু𑄪uu-kar
ূ𑄫uːuu-kar
ে𑄬ee-kar
ৈ𑄭ɔi̯oi-kar
ো𑄮oo-kar
ৌ𑄯ou̯ou-kar
ৃ𑄢𑄨riri-kar (approx r+i)
—𑄧ɔshort-a/ɔ matra (Chakma only)
Special Marks
্𑄴—hasanta ↔ maayyaa (vowel killer)
ং𑄁ŋanusvara (final nasal)
ঃ𑄂hvisarga
ঁ𑄀—chandrabindu ↔ nasalization
Numerals
০𑄶0zero
১𑄷1one
২𑄸2two
৩𑄹3three
৪𑄺4four
৫𑄻5five
৬𑄼6six
৭𑄽7seven
৮𑄾8eight
৯𑄿9nine
Punctuation
।𑅁—danda / full stop
॥𑅂—double danda