A virtual keyboard is useful only when its layout is predictable. This page documents the current SindhiKeyboardOnline layout as it exists in the site code, so users can understand what each row is intended to do and why some keys are treated differently from ordinary letters.
The six functional rows
The current layout starts with Eastern Arabic-Indic digits and common Arabic-script punctuation, followed by letter rows and a final row containing additional Sindhi characters and text controls.
| Row | What it contains | Purpose |
|---|---|---|
| 1 | ۰–۹, ، ۔ ؟ | Digits and common punctuation |
| 2 | ق و ع ر ت ٿ ي ء ڌ ف گ ح ج | Core typing row with several Sindhi-specific characters |
| 3 | ا س د ڊ ف ه ج ڪ ل ڙ ؛ | Letters, Sindhi kaf, rreh and semicolon |
| 4 | ذ ڍ چ ڃ ب ڀ ن م ڻ ث ۽ | Additional letters plus the Sindhi ampersand sign |
| 5 | خ ط ص ض ظ غ ز ژ ڦ پ ک | Perso-Arabic letters and Sindhi peheh |
| 6 | ٺ ٽ ٻ ڏ ڐ ڑ ڒ ZWNJ ZWJ Space | Additional characters and text controls |
There are repeated characters in the current data structure, so the number of visual key positions should not be treated as a count of unique Sindhi letters. The site deliberately avoids claiming that its current interface is a complete traditional alphabet layout.
Why some keys are special
The final row contains three kinds of input: ordinary Unicode characters, invisible formatting controls, and the space key. The two invisible controls are ZWNJ (U+200C) and ZWJ (U+200D). They insert characters that have no visible glyph of their own but can affect joining behavior in cursive scripts.
For a technical explanation of right-to-left display and joining behavior, see Sindhi ZWJ and ZWNJ Explained and the Sindhi Unicode guide.
Using a physical keyboard
The virtual keys are only one input route. The text area can also accept characters from a physical keyboard, so you can use this site as a browser text field even when you already have a system-level Sindhi input method enabled. If the physical layout and the on-screen layout differ, the browser simply receives whatever Unicode text your operating system sends.
Copying the result
- Type using the virtual keys or your physical keyboard.
- Review the text in the RTL text area.
- Use the Copy button.
- Paste into your destination application.
For troubleshooting, see Sindhi Typing Problems and Fixes. If you want a platform-specific workflow, continue to Type Sindhi on Windows or Sindhi Keyboard on Android.
Why the layout is documented separately
A keyboard layout is an interface decision, not a Unicode standard. Two Sindhi keyboards can expose the same Unicode characters in different positions. Documenting the current arrangement prevents users from assuming that a key position is universal across operating systems or physical keyboards.
The layout on this site is optimized for browser input. It puts digits and punctuation first, groups ordinary letters into several rows, and keeps ZWJ, ZWNJ, and space together as functional controls. That makes the behavior visible instead of hiding important text controls behind an unfamiliar key combination.
What the key labels actually insert
Most letter keys insert the character printed on the key. The ZWJ and ZWNJ keys are different: their inserted values are invisible control characters. The space key inserts an ordinary space. Because the JavaScript keyboard data is explicit, the layout can be audited by comparing each displayed label with the character value behind it.
How to check a layout after an update
- Open the keyboard page and test one key from each row.
- Copy the resulting text.
- Check any unusual character against the Unicode reference.
- Test ZWJ and ZWNJ separately because they have no visible glyph.
- Test the Copy and Clear controls after changing the layout code.
This small checklist is useful whenever a browser keyboard is updated because a visually correct key can still contain the wrong Unicode value.
Primary References
This page uses the Unicode Standard as its technical reference where Unicode character identities, code points, bidirectional behavior, or Arabic-script annotations are discussed.
- Unicode Standard — Chapter 9: Arabic script
- Unicode 18.0 Arabic character names and annotations
- Unicode Standard Annex #9 — Bidirectional Algorithm
Reference links reviewed: September 2026