The question here doesn't clear out whether all Android devices has OTG support or not. I need OTG support for my device and used USB OTG Checker to check OTG support. The app says -
Your Device OS NOT Support USB OTG!
There is another general note mentioned there that interested me a lot which says -
Important Note: USB OTG function only able fully work if your device OS has USB OTG API and load with USB OTG Kernel.
But on the other hand, looking on Google for enabling OTG support in my device ended me with this XDA link which says that Stock Rom doesn't provide OTG support and solely rooting your device can sort this out.
So the questions are-
Does rooting a device really enables OTG support?
If not, can external API and a USB OTG Kernel be loaded in a Stock ROM to get the desired functionality? Can loading external API has ever been done before somewhere? I know doing such about kernel.
If (2) is true, then does the fact that compatible HW is also required becomes irrelevant?
Not to mention, I do need to know can I get OTG support if its possible?
Rooting alone does not enable USB OTG functionality. Rooting (and having an unlocked bootloader) only allows you to flash a custom kernel that is built with proper support for USB OTG on your specific device.
OTG API has been included in Android since version 3.1. Many modern Android devices have the necessary hardware as well.
USB OTG software alone without the proper hardware won't help at all.
There are many apps on the Play Store that claim to be able to tell if your phone supports (both hardware and software wise) OTG functionality, but most of these apps also require root.