I keep having a thought that something like BtInput should be implemented as a virtual keyboard that is only a few tens of pixels high. That way you'd have the (re-)pairing controls up when you need them and you'd obscure much less of the app (see problems with stock Terminal) when using BT. I however, don't have a bluetooth keyboard and have minimal C++ skills, so might have to pass my idea-baton to someone else.