medhA – for Mac OS

Here I present medhA keyboard layout for Mac OS.

This follows the same scheme which we are following on other platforms. So, if you are shifting to Apple computers, it will make you feel at home.

It is still being developed. So, please wait for more features.

It appears that we might be able to get more benefit from the keyboard layout in Mac OS, as the software allows many combination of keys to get different results.

Here are different images to understand the usage:

  1.  Normal State


  1. Shift State


  1. Caps Lock


  1. Caps Lock + Shift


Here is the keyboard file –

Download – medhA-macOSX.1.3. (Link Removed)

Download – medhA-macOSX.1.5(Link Removed, Go below for new link.)

How to Install :

  1. Download the file
  2. Double Click the downloaded file.
  3. Now, you may have the file “medhA-macOSX.1.5.bundle”
  4. Copy that file.
  5. Press Command + Shift + G
  6. Type “~/Library/Keyboard Layouts” in the pop-up. It will open the mentioned folder.
  7. Paste the file(“medhA-macOSX.1.5.bundle”) in “~/Library/Keyboard Layouts” folder.
  8. Close the window.
  9. Go to – System Preferences > Keyboard > Input Sources
  10. Search ‘Sanskrit’
  11. Select medhA keyboard.
  12. Done.


  1. Download this file “
  2. Double click the downloaded file.
  3. The following screen may appear.
  4. Drag the medhA-macOSx.1.5.bundle to the Keyboard Layout.
  5. Go to – System Preferences > Keyboard > Input Sources
  6. Search ‘Sanskrit’
  7. Select medhA keyboard.
  8. Done

medhA-6 : How to Use

Please, visit this page and download the software and images from the link.

Please, install the software on your PC by double clicking medhA-6.exe(which you downloaded just now).

Open MS Word/Notepad or any similar software.

Press Ctrl+Shift. It will change your keyboard to Sanskrit one(if your installed it correctly and there is no other IME installed).

Now, press each key and test. Watch the printed letter.

Now, keep Shift key pressed and press those keys. Note what letters are being typed.

Now, press AltGr(the Alt key which is on righ hand side of keyboard) and press other keys. Watch letter printed on screen.

Same for Shif+Ctrl key pressed.


Now, look at the images you downloaded. Compare them with the printed text. Are they same? If yes, then OK.

Remembering keys is very easy. We have followed similar sounds to maximum extent. So, you will find क and ख on ‘k’ key; although ख needs press of shift key.

Similar for च, छ, etc.

Some special characters are on IME. They were explained here. The change is in position of those special keys. ‘AltGr+a’ bring  ‘zero width zoiner’, while ‘AltGr+b’ brings ‘zero width non-joiner’.

  • AltGr+z = chandrabindu-virAma(चन्द्रबिन्दु विराम)
  • AltGr+x = udAtta(उदात्त)
  • AltGr+c = anudAtta(अनुदात्त)
  • AltGr+v = combining-macron(योजक)
  • AltGr+b =double-svarita(द्विस्वरित)
  • AltGr+n = tripple-svarita(त्रिस्वरित)

Rest is easy to understand from pictures and the practice I prescribed in beginning.

medhA-6 : Unicode Sanskrit Keyboard Layout

Version 6 of medhA keyboard for Unicode Sanskrit is ready.
It is similar to old version, medhA-3. So, it also follows phonetics. In that way you don’t need to remember most key. They come to you naturally. Previous guides posted at my website and that of svAmI nIlakaNTha will help you.
A few changes :
Alt Gr allows you to type full stop(.), comma(,), Rupee Sign(₹), exclamation(!), etc. and some vaidika signs.
Details are in pictures.
So, from now you don’t need to switch keyboard to English for comma, full stop, etc.Installation package is available here : medha-6.exe.(new link)
A detailed change log may be posted later.

medhA-6 in normal condition (without pressing any additional key)
medhA-6 with Shift key pressed
medhA-6 with AltGr(Right Alt) key pressed
medhA-6 with Shif+Ctrl keys pressed

medha-3 for linux

A few of us are used of typing with medhA keyboard layout. It follows phonetics mostly and is easy to use.
To have a fun and to learn something about computing I switched to linux and felt that medhA is not with me.
So, tried a little. Created a custom layout. Applied it. Trials and errors were there.
But, I had a working keyboard.

Here is it for all who need it.

1. Copy and paste it and save as a text file sa(no extension)


//medha for linux
default alphanumeric_keys
xkb_symbols “sa” {

name[Group1]= “sanskrit”;
// Number rows
key <TLDE> { [ U0950, U0901, U0951 ] };
key <AE01> { [ U0967, U0909, U0952 ] };
key <AE02> { [ U0968, U090A, U1CDA ] };
key <AE03> { [ U0969, U0960, UA8F3 ] };
key <AE04> { [ U096A, U090C, U1CF2 ] };
key <AE05> { [ U096B, U0961, U1CF5 ] };
key <AE06> { [ U096C, U0914, U1CF6 ] };
key <AE07> { [ U096D, U0943, U1CE9 ] };
key <AE08> { [ U096E, U0944, U1CEA ] };
key <AE09> { [ U096F, U0962, U1CEB ] };
key <AE10> { [ U0966, U0963, U1CEC ] };
key <AE11> { [ U093D, U094C, U1CEE ] };
key <AE12> { [ U1CEF, U1CF0, U1CF1 ] };

// First row
key <AD01> { [ U0925, U0920, U1CF3 ] };
key <AD02> { [ U0948, U0910, U1CF4 ] };
key <AD03> { [ U0940, U0908 ] };
key <AD04> { [ U0930, U090B ] };
key <AD05> { [ U0924, U091F ] };
key <AD06> { [ U092F, U097A ] };
key <AD07> { [ U0941, U0942 ] };
key <AD08> { [ U093F, U0907 ] };
key <AD09> { [ U094B, U0913 ] };
key <AD10> { [ U092A ] };
key <AD11> { [ U0947, U090F ] };
key <AD12> { [ U0927, U0922 ] };
key <BKSL> { [ ] };

// Second row
key <AC01> { [ U093E, U0905 ] };
key <AC02> { [ U0938, U0936 ] };
key <AC03> { [ U0926, U0921 ] };
key <AC04> { [ U092B ] };
key <AC05> { [ U0917, U0918 ] };
key <AC06> { [ U0939 ] };
key <AC07> { [ U091C, U091D ] };
key <AC08> { [ U0915, U0916 ] };
key <AC09> { [ U0932, U0933 ] };
key <AC10> { [ U091E ] };
key <AC11> { [  ] };

// Third row
key <AB01> { [ ] }; // z
key <AB02> { [ U0937 ] };
key <AB03> { [ U091A, U091B ] };
key <AB04> { [ U0935 ] }; //
key <AB05> { [ U092C, U092D ] };
key <AB06> { [ U0928, U0923 ] }; //
key <AB07> { [ U092E, U0919 ] }; //
key <AB08> { [ U094d, U0906 ] }; //
key <AB09> { [ U0902, U0965 ] };
key <AB10> { [ U0903, U0964 ] };

// space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ):
include “nbsp(zwnj3zwj4)”

// begin modifier mappings
//    modifier_map Shift  { Shift_L };
//    modifier_map Lock   { Caps_Lock };
//    modifier_map Control{ Control_L };
//    modifier_map Mod3   { Mode_switch };
include “level3(ralt_switch)”


2. add this to evdev.xml

3. Open termial and run this as superuser
setxkbmap -layout ‘us,sa’

4. Set switching keys in keyboard options.

That’s all.

Note that I was unable to put ligatures in this keyboard. So, if you want to type प्र you have to press p + , + r . Just pressing shift + p will not work (as was in the case of ‘medhA for windows’).
Another thing, I was not able to activate this keyboard with GUI and any change made there caused loss of medhA. I hope someone will help me.

Update: Follow Github “” for any updates.

Download : medhA-3 (in a single bundle)

swAmI nIlakaNThAnanda giri ji was always a part of development of ‘janani’ and ‘medhA’ keyboard-layouts. I always asked him to help me improve these as he was more involved in devanAgarI typing.
Now, he suggested to make a self-extracting self-installing archive for medhA to get rid of iso-explorers. This was a good idea. I thought to bring it to reality but delayed. So, he created one. I checked it, improved it and it is now made available to all.
Now, what’s its use?
You can install “medhA-3” in less steps and you don’t need additional softwares to extract or open .iso image.
This version is compatible with Windows XP, Windows Vista, Windows 7, Windows 8, 8.1 and Windows 10.

Help for medhA-3 is available in hindi at swAmI nIlakaNTha’s blog.

Download “medhA-3”(for new version see below.)

Scheme for medhA-3

Here I present two pictures explaining scheme used to make medhA – 3 keyboard layout. The first one is for normal-state and the other one is for shift-state(when keyboard is used with shift key pressed).

medhA-3 normal
This is medhA – 3 in normal-state.

medhA-3 shift
This is medhA – 3 in shift-state.

Providing this picture is helpful for those who want to develop their own keyboard-layout and for those who want to use my keyboard-layout efficiently, both.
For both groups, I will suggest to go through my previous related posts and this can be done by clicking the “Sanskrit Keybord” menu tab above.
Although pictures presented here are not big enough to make everything clear, there is nothing to worry. Why? Because you will be able to see bigger view by clicking them from my “Public Picasa Web Album”.
Another thing I will like to make clear is that although this keyboard is bearing name Sanskrit Keybord, it is not only for Sanskrit. You will be able to write any language which uses Devanagari script. So, it means you can write Hindi, Marathi, Bhojpuri, Nepali, etc. directly with it. So, it is actually Devanagari-keyboard-layout and not Sanskrit-keyboard-layout.
Then, why am I presenting it with that name? Because I developed it to make me able to write Sanskrit language in Devanagari script. 🙂


What Is This ? 
medhA 3 is a keyboard-layout (a software) for Devanagari Script. Its third in the series. More about it is here.


What It Does ? 
It makes you able to write any language using Devanagari script on Windows OS(starting from XP to Windows 10).
Devanagari is used to write Sanskrit, Hindi, Marathi, Nepali, Newari, Magahi, Maithili, Bhojpuri, Gujari, Pahari (Garhwali and Kumaoni), Konkani, Marwari, Bhili, Santhali, Tharu. Sometimes Sindhi, Sherpa and Kashmiri are also written in this script. Formerly it was used to write Gujarati too.

So, you can write all these languages in Devanagari script with “medhA” keyboards.


Why A New Version ? 
Older version of medhA is working fine. So, it is not left totally. medhA is base of this series of keyboard-layouts. But, we needed some special characters to write. They were not available in older layout. So, we have a few modifications here.


So, What Is New Here ? 
“medhA 3” keyboard layout for devanAgarI has some modifications. Now, you can use these combinations on keyboard –

  1. ctrl+shift+1 for ‘zero width joiner’
  2. ctrl+shift+2 for ‘zero width non-joiner’
  3. ctrl+shift+3 for ‘udAtta’
  4. ctrl+shift+4 for ‘anudAtta’
  5. ctrl+shift+5 for ‘swarita’


How To Use These Combinations ? What Will I Get ? 

‘zero width joiner’ is used to write half letters, as क्‍त. (See the first one in the above picture, if it is not displayed well).

To write this, use
k + , + (ctrl+shift+1) + t = क+्+ ‍ + त = क्‍त
And remember that ‘zero width joiner’ is not visible character.

Special Use
zero width joiner is also used to show newArI or marAThI half-र, as in र्‍क.
To write this, use

र+्+zero width joiner.


‘zero width non-joiner’ is used to write consonants with visible virAmam, as क्‌त. (See the middle one in the above picture, if it is not displayed well).
To write this, use
k + , + (ctrl+shift+2) +t = क + ् + ‌ + त = क्‌त


If you don’t use them, you will get क्त. (See the third one in the above picture, if it is not displayed well).
To write this, use
k + , + t = क + ् + त = क्त


udAtta, etc. are for Vedic uses.


Who Should Use? 
Those, who don’t want to use complex ligatures, can use zero width joiner or non-joiner to make all consonants visible while combining.
Unicode Fonts, like Sanskrit2003, support many complex ligatures. Some of them are very rarely used. Many people find them strange and difficult. So, you may like to write them in simple way.
These combinations will help you do that.
For more details, please check this one.

medhA 3 is available to be downloaded at My Skydrive (*Link Removed).
Please Download newer version HERE.

“medhA” – keyboard layout for sanskrit

medhA keyboard-layout is a small program which maps Devanagari letters to your conventional keyboard to make you able to write Sanskrit, Hindi, etc. in Devanagari script.