Temp commit with messy code: Things are pretty good but get a flash of switching when we switch from/to 3rd-party keyboard