I've used Phonegap, AppMobi, & CocoonJS. The CocooJS backend and compiling process is awesome and I much prefer it over AppMobi.
That said, I've been figuratively banging my head against the wall for three months attempting to allow it to detect an external device input.
Some background on my project: I'm building a small robot with an internal MakeyMakey and Nexus 7 to act as an interactive transmedia adventure piece.
I'm using Construct 2 as the base for the player interactions and the MakeyMakey allows them to control the robot using conductive sensors in his hands, feet, and nipples.
I'm able to pass the input commands from the MakeyMakey through generic HTML 5 viewers, but anything more complicated than pong and there is a significant slowdown and drop in frame rate making it unworkable
I've posted on the AppMobi, Ludei, Construct, MakeyMakey, Android, and StackOverflow forums, but found no feasible work-arounds.
Recently, I've wrangled a programmer and even attempted compiling my own binary scripts to force input taps and keycodes at the shell level directly, but they simply don't make it through to the CocoonJS game.
I would PAY to have this implemented, or a real solution found, but I've consistently hit a dead end and Ludei has indicated they have no ETA on the addition of external input support.
I'm not sure what else to do yet, just needed to vent a bit. :/
TL;DR CocoonJS Delivers. Please, tell them to add support for external inputs.