I can only suggest checking what events are sent from Unity -- what mouse coordinates, for example -- and how they relate to the UI's coordinates. It's all done in the UICamera.cs file. You can also override all the NGUI's event polling functions such as GetKey with your own custom handling.