I use a zagg BT kbd. I have used others, but not with this app.
I use the External Keyboard Pro app from the Play Store to reassign keys. My one kvetch, and it is a serious one, is that I cannot reassign the 'Home' key that takes me back to the 'home screen' with it. And I hate that. I don't want any sort of magical keys on my kbd. That's why I'm using a kbd. And I don't think there are that many people using an external kbd with an android device who are not professional typists to some degree. Users who hunt & peck are going to be fine with the OSK. And the rest of us are going to hate life everytime we hit the 'Home' key and exit our apps. That being said, I have the 'Return' key and the F2/Mic-ON key mapped to ESC on my ASUS 10.1 tab.
It's sufficient to keep me from plucking out my eyes and warning kings of dire times ahead, or wandering around in the day time shining a lantern in poeple's faces. This is a good thing, but there must be a way to make things 'better'. The app isn't awesome, but it works and it'll get you close to what you want. I am 85% happy. I found it via: http://www.howtogeek.com/175267/the-htg-guide-to-using-a-bluetooth-keyboard-with-your-android-device/