For example, a standard HID command may be mapped to an operating system function that enables/disables the on-screen keyboard (e.g., a standard HID Usage ID may be remapped to the standard AL Keyboard Layout HID Usage Name to toggle the on-screen keyboard of the target device 102).
--- from https://www.google.com/patents/WO2015031736A2?cl=en
I think that Android has the same problem when an external keyboard is connected
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I think that Android has the same problem when an external keyboard is connected