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