I do this by creating a first person manipulator, reading its frame() every time step, and then extracting what I want from it. For example, simply overriding the Y value.
If you want 2D movement it is also pretty easy to ignore FirstPersonManpulator and just write your own control scheme in GApp::onUserInput(). FPM is a handy tool, not a requirement for a G3D program.
-m