migrate Keyboard app to marionette By

master -> merge
v1-train ->should merge but not tested

This is part of issue #1175