The code is Fucked, the logic is broken.

So added to the mayhem and caught an issue breaking the keyboard for Moto G, need to investigate this a little more to fix it correctly, well more correctly than now.

Thanks to @TrevD