Well, every user’s situation is unique, so I’ll just present mine here for starter:
Phone: Galaxy S2
Keyboard: B.O.W hb086 (it is a cheap Chinese knockoff, but probably your own high-end couterpart is using the same set of hardware inside)
I first had trouble with the Ctrl key, and later I fixed it somehow by toggling around some configs in the phone input method.
Then I had trouble with typing ESC key while using VIM, but later found out that you can simply press Ctrl+[ to simulate the same gesture.
Hopefully this will be helpful if Google leads you up here.