> I don't know how to put anything in app object, and I don't see any example.
Are you trying to say that I put it in gaia_test.py as a property or import it there?

No, I'm saying to add it to the hierarchy of the app objects. This is currently Base > App, and I've avoided being specific because I'm open to suggestions. I understand the keyboard 'app' belongs to the 'System' app, but not sure we need to model to that level.

> how do you add it to base.py and get app.keyboard.send('...')

Well, if you have a property in Base then it will be available to anything extending Base. All app objects currently extend Base, so it should be trivial to have the keyboard available to all app objects.

> I already migrate this from gaia_test.py to a general app class file as other things

That's right, it's moved away from being a class in the gaiatest framework and become an app object. This was always the intention.