Keyman has free versions for Windows, MacOS, Linux, iOS (iPhone and iPad), Android and web (a Keyman keyboard can be put on a website so users can use it without installing Keyman). Keyman lists over 1000 languages with keyboards available: http://keyman.com/.
The Microsoft Keyboard Layout Creator allows you to create or modify keyboard layouts for Windows: https://msdn.microsoft.com/en-us/goglobal/bb964665.aspx
Inkey can create keyboard layouts for WIndows with many additional features and many Indic keyboards for download: http://www.inkeysoftware.com/
Ukelele creates keyboarding solutions for the Mac: http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele
A good overview of many different options for character input is found on SIL.org: http://scripts.sil.org/cms/scripts/page.php?cat_id=InputResources